:root {
    --primary-heading-color: rgb(13,102,207);
}

*,*::before,*::after {
    box-sizing: border-box;
}

.bd-1 {
   outline: 1px solid rgba(0,0,0,0.16);
}

.hidden {
    display: none !important;
}

.h-inherit {
   height: inherit;
}

.h-initial {
   height: initial;
}

.ma-0 {
    margin: 0;
}

.ma-1 {
    margin: 4px;
}

.ma-2 {
    margin: 8px;
}

.ma-4 {
    margin: 32px;
}

.mb-0 {
   margin-bottom: 0;
}

.mb-1 {
   margin-bottom: 4px;
}

.mb-2 {
    margin-bottom: 8px;
}

.mt-1 {
   margin-top: 4px;
}

.mx-2 {
    margin-left: 8px;
    margin-right: 8px;
}

.mx-2i {
    margin-left: -8px;
    margin-right: -8px;
}

.my-1 {
   margin-bottom: 4px;
   margin-top: 4px;
}

.my-2 {
   margin-bottom: 8px;
   margin-top: 8px;
}

.pa-0 {
    padding: 0;
}

.pa-1 {
   padding: 4px;
}

.pa-2 {
    padding: 8px;
}

.pa-3 {
    padding: 16px;
}

.pa-4 {
    padding: 32px;
}

.pb-1 {
    padding-bottom: 4px;
}

.pb-2 {
    padding-bottom: 8px;
}

.pb-3 {
   padding-bottom: 16px;
}

.pl-1 {
   padding-left: 4px;
}

.pl-2 {
   padding-left: 8px;
}

.pr-1 {
   padding-right: 4px;
}

.pr-2 {
    padding-right: 8px;
}

.px-1 {
    padding-left: 4px;
    padding-right: 4px;
}

.px-2 {
    padding-left: 8px;
    padding-right: 8px;
}

.px-3 {
    padding-left: 16px;
    padding-right: 16px;
}

.px-4 {
    padding-left: 32px;
    padding-right: 32px;
}

.pt-2 {
    padding-top: 8px;
}

.pt-3 {
   padding-top: 16px;
}

.pt-4 {
   padding-top: 32px;
}

.py-0 {
   padding-bottom: 0 !important;
   padding-top: 0 !important;
}

.py-1 {
    padding-bottom: 4px;
    padding-top: 4px;
}

.py-2 {
    padding-bottom: 8px;
    padding-top: 8px;
}

.py-3 {
    padding-bottom: 16px;
    padding-top: 16px;
}

.ta-c {
    text-align: center;
}

.ta-l {
    text-align: left;
}

.ta-r {
    text-align: right;
}

.row {
    display: flex;
    width: 100%;
}

.row.ac-c {
    align-content: center;
}

.row.ai-c {
    align-items: center;
}

.row.ai-t {
    align-items: flex-start;
}

.row.jc-a {
   justify-content: space-around;
}

.row.jc-c {
    justify-content: center;
}

.row.wrap {
    flex-wrap: wrap;
}

.row .spacer {
    flex: 1 1 auto;
}
 
[class*="cols-"] {
    flex: 0 0 auto;
}

.cols-auto {
    flex: 0 0 auto;
}

.cols-1 {
    flex-basis: 8.3333%;
    max-width: 8.3333%;
}

.cols-2 {
    flex-basis: 16.6666%;
    max-width: 16.6666%;
}

.cols-3 {
    flex-basis: 25%;
    max-width: 25%;
}

.cols-4 {
    flex-basis: 33.3333%;
    max-width: 33.3333%;
}

.cols-5 {
    flex-basis: 41.6666%;
    max-width: 41.6666%;
}

.cols-6 {
    flex-basis: 50%;
    max-width: 50%;
}

.cols-7 {
    flex-basis: 58.3333%;
    max-width: 58.3333%;
}

.cols-8 {
    flex-basis: 66.6666%;
    max-width: 66.6666%;
}

.cols-9 {
    flex-basis: 75%;
    max-width: 75%;
}

.cols-10 {
    flex-basis: 83.3333%;
    max-width: 83.3333%;
}

.cols-11 {
    flex-basis: 91.6666%;
    max-width: 91.6666%;
}

.cols-12 {
    flex-basis: 100%;
    max-width: 100%;
}

@media (min-width: 520px) {
    .ma-sm-0 {
        margin: 0;
    }

    .pa-sm-0 {
        margin: 0;
    }
    
    .cols-sm-3 {
        flex-basis: 25%;
        max-width: 25%;
    }

    .cols-sm-4 {
        flex-basis: 33.3333%;
        max-width: 33.3333%;
    }

    .cols-sm-5 {
        flex-basis: 41.6666%;
        max-width: 41.6666%;
    }

    .cols-sm-6 {
        flex-basis: 50%;
        max-width: 50%;
    }

    .cols-sm-7 {
        flex-basis: 58.3333%;
        max-width: 58.3333%;
    }

    .cols-sm-8 {
        flex-basis: 66.6666%;
        max-width: 66.6666%;
    }

    .cols-sm-9 {
        flex-basis: 75%;
        max-width: 75%;
    }

    .cols-sm-12 {
        flex-basis: 100%;
        max-width: 100%;
    }
}