:root {
    scroll-behavior: smooth;
    --theme-color: #65be28;
}

body {
    max-width: 100vw;
    margin: 0;
    padding: 0;
    overflow-X: hidden;
}

/* Universal ==================================== */

.container {
    width: 80%;
    max-width: 1400px;
    margin: auto;
}

.bigger {
    width: 90%;
}

.flx-cntr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.flx-dir-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.flx-dir-r-r {
    flex-direction: row-reverse;
}

.flx-jst-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.flx-jst-spc-btw {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.flx-jst-spc-arnd {
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

.flx-algn-c {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.flx-algn-strh {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.flx-algn-strt {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

/* .flx-col-2, 
.flx-col-3 {
    justify-content: space-evenly;
} */

.flx-col-2 > div {
    flex-basis: 45%;
    min-width: 510px;
    justify-self: center;
    margin-bottom: 1em;
    box-sizing: border-box ;
}

.flx-col-3 > div {
    flex-basis: 30%;
    min-width: 300px;
    margin: .5em;
    margin-bottom: 1em;
}

.align-on-break {
    flex-direction: 2px;
}

.tac {
    text-align: center;
}

.pos-rel {
    position: relative;
}

.clr-sec-clr {
    color: var(--theme-color);
}

.fill-text-clr {
    fill: #fff;
}

.mrgn-aut {
    margin-left: auto;
    margin-right: auto;
}

.mrgn-t-0 {
    margin-top: 0;
}

section {
    padding-top: 4em;
}

blockquote {
    margin: 0;
}

address {
    font-style: normal;
    margin: 0;
    padding: 0;
}

/* Added for FOS */
a {
    color: var(--pri-clr);
    text-decoration: none;
    transition: all ease-in-out 250ms;
}

a:hover {
    color: var(--pri-clr);
    text-decoration: underline;
}

.call-to-actions > a,
.call-to-actions > button,
.call-to-action {
    color: inherit;
    display: inline-block;
    padding: .5em 1em;
    font-size: 1em;
    border: 0;
    font-family: inherit;
    border: 2px solid var(--theme-color);
    border-radius: 2em 1em;
    margin-right: 1em;
    margin-bottom: 1em;
    transition: all ease-in-out 250ms;
    cursor: pointer;
}

.call-to-actions > a:hover, 
.call-to-actions > button:hover,
.call-to-action:hover {
    background: var(--theme-color);
    color: #fff !important;
    border-color: var(--theme-color) !important;
    border-radius: 2em;
    text-decoration: none;
}

.unique {
    background: var(--theme-color);
    color: #fff !important;
}

.highlight {
    position: relative;
    background: url('imgs/underline.png');
    background-repeat: no-repeat;
    background-position: 0 .65em;
}

h2 + p {
    margin-top: 0;
}

p:last-child {
    margin-bottom: 0;
}

h2.decor {
    position: relative;
    margin-top: 1em;
}

h2.decor::before {
    content: "";
    position: absolute;
    top: -18px;
    width: 30%;
    max-width: 60px;
    height: 5px;
    background: var(--pri-clr);
}

/* Media Queries */
@media(max-width: 640px) {
    .flx-col-2 > div {
        min-width: 100%;
    }
}

@media(max-width: 320px) {
    .flx-col-3 > div {
        min-width: 100%;
    }
}