﻿/* Body */

html,
body {
    overflow-y: visible !important;
}

body {
    font-size: 16px;
    color: #767676;
    font-family: 'aileron-regular';
}

/*@media(min-width: 1200px) {
    body {
        font-size: 18px;
    }
}*/

@media(min-width: 1800px) {
    body {
        font-size: 18px;
    }
}

a {
    color: #47c0a0;
    text-decoration: none;
    transition: all .15s;
}

    a:hover {
        color: #1A322F;
    }

    a:active {
        color: #8e8e8e;
    }

a.blank {
    color:inherit;
}

.bold, strong {
    font-weight:bold;
    color: #1A322F;
}

.text-white .bold, .text-white strong {
    color: #fff;
}

.text-bold {
    font-family: 'aileron-bold';
}

/* Text and Headings */

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: 'aileron-heavy';
    color: #1A322F;
    margin-top: 0;
}

h1, .headline-xl {
    font-size: 3em;
    line-height: 1.2;
    margin-bottom: .15em;
}

h2, .headline-large {
    font-size: 2.2em;
    line-height: 1.2;
    margin-bottom: .625em;
}

h3, .headline {
    font-size: 1.75em;
    margin-bottom: 1em;
    text-transform: none;
    line-height: 1.2;
}

h4, .headline-small {
    font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 1em;
    line-height: 1.2;
}

h5, .headline-xs {
    font-size: 1.25em;
    font-weight: 600;
    line-height: 1.2;
}

.small {
    font-size:16px;
}

.small-text {
    font-size: 16px;
}

.underline {
    text-decoration: underline; 
}

.large {
    font-size: 3em;
}

@media (min-width:1800px) {
    .small {
        font-size: .875em;
    }

    .large {
        font-size: 2.5em;
    }
}

.italic {
    font-style: italic;
}

.font-size-1 {
    font-size: 1.25em;
}

.divide-20 {
    width: 100%;
    display: block;
    height: 20px;
}

/* Colors */
.bg-lt-teal {
    background-color: #71C498;
}

.bg-teal {
    background-color: #47c0a0;
}

.text-teal {
    color: #47c0a0;
}

.bg-black {
    background-color:#000;
}

.bg-off-white {
    background-color: #F0F0F0;
}

.bg-lt-gray {
    background-color: #F1F3F4;
}

.bg-gray {
    background-color: #ccc;
}

.bg-lt-green {
    background-color: #B6E193;
}

.bg-green {
    background-color: #A1D682;
}

.bg-dk-green {
    background-color: #1A322F;
}

.text-gray {
    color:#999;
}

.text-dark {
    color: #1A322F;
}

.text-seafoam {
    color: #4CBDA0;
}

.text-lemongrass, .intro-header.text-lemongrass {
    color: #B6D993;
}

/* Misc */

.background-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.mb-none {
    margin-bottom:0;
}

.ml-20 {
    margin-left:20px;
}

img {
    max-width: 100%;
}

a:hover {
    text-decoration: none;
}

p:last-of-type {
    margin-bottom: 0;
}

    p:last-of-type + ul {
        margin-top: 1em;
        margin-bottom: 0;
    }

ul {
    list-style: none;
    padding-left: 0;
}

.landing-content ul li, .blog-detail .content ul li {
    padding-left: 1em;
    position: relative;
    padding-bottom: .5em;
}

    .landing-content ul li:last-child, .blog-detail .content ul li:last-child {
        padding-bottom: 0;
    }

    .landing-content ul li::before, .blog-detail .content ul li::before {
        content: "";
        position: absolute;
        background-color: #47C0A0;
        width: 7px;
        height: 7px;
        border-radius: 50px;
        top: .6em;
        left: 0;
    }

.video-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

    .video-responsive iframe {
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        position: absolute;
    }

/* Buttons */

.btn-rounded {
    border-radius: 100px;
    font-family: 'aileron-bold';
    text-align: center;
    padding: 18px 35px;
    font-size: 16px;
    display: inline-block;
    text-transform: uppercase;
    text-decoration: none;
    -moz-transition: all .15s;
    -o-transition: all .15s;
    -webkit-transition: all .15s;
    transition: all .15s;
    line-height: 1.2;
}

@media (min-width:1600px) {
    .btn-rounded {
        padding:20px 45px;
    }
}

    .btn-rounded.green {
        border: 3px solid #47c0a0;
        color: #47c0a0;
        background-color: transparent;
    }

    .btn-rounded.green:hover,
    .btn-rounded.green:active {
        text-decoration: none;
        color: #ffffff;
        background-color: #47c0a0;
    }

    .btn-rounded.dark-green {
        border: 3px solid #1A322F;
        color: #295751;
        background-color: transparent;
    }

    .btn-rounded.dark-green:hover,
    .btn-rounded.dark-green:active {
        text-decoration: none;
        color: #ffffff;
        background-color: #1a322f;
    }

    .btn-rounded.white {
        border: 3px solid #ffffff;
        color: #ffffff;
        background-color: transparent;
    }

        .btn-rounded.white:hover,
        .btn-rounded.white:active {
            color: #1A322F;
            text-decoration: none;
            background-color: #ffffff;
        }

    .btn-rounded.solid {
        border: 3px solid #47c0a0;
        color: #ffffff;
        background-color: #47c0a0;
    }

        .btn-rounded.solid:hover,
        .btn-rounded.solid:active {
            color: #47c0a0;
            text-decoration: none;
            background-color: transparent;
        }

.btn-rounded.small {
    font-size: 14px;
    padding: 10px 25px;
}

button {
    cursor:pointer;
}

/* Layout */

.container-full {
    margin: 0 auto;
    width: 100%;
}

.container.wide-gutter {
    padding-right: 30px;
    padding-left: 30px;
}

.row.no-gutter {
    margin-left: 0;
    margin-right: 0;
}

    .row.no-gutter [class*='col-'] {
        padding-right: 0;
        padding-left: 0;
    }

.row.wide-gutter {
    margin-left: -30px;
    margin-right: -30px;
}

    .row.wide-gutter [class*='col-'] {
        padding-right: 30px;
        padding-left: 30px;
    }

    .row.narrow-gutter [class*='col-'] {
        padding-right: 5px;
        padding-left: 5px;
    }


@media(min-width: 1200px) {
    #Newsletter.wide-gutter {
        padding-right: 30px;
        padding-left: 30px;
    }
}


.flex-row {
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    clear: both;
}

#main-content {
    overflow:hidden;
}

.relative {
    position: relative;
}

.flex-center {
    display: flex;
    align-items: center;
    height: 100%;
}

.flex-column_bottom {
    margin-top: auto;
}

@media (min-width:768px) {
    .flex-center-md {
        display: flex;
        align-items: center;
        height: 100%;
    }
}

@media (min-width:992px) {
    .flex-center-lg {
        display: flex;
        align-items: center;
        height: 100%;
    }
}

@media (min-width:1200px) {
    .flex-center-xl {
        display: flex;
        align-items: center;
        height: 100%;
    }
}

/* Custom Containers */

@media(min-width: 1600px) {
    .container {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media(min-width: 1800px) {
    .container {
        max-width: 1400px;
    }
}

@media(min-width: 1600px) {
    .container-large {
        max-width: 1500px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media(min-width: 1800px) {
    .container-large {
        max-width: 1700px;
    }
}

.container-small {
    max-width:500px;
}

/* Row Padding */

@media(min-width: 1200px) {
    .row.wide-padding {
        margin-left: -30px !important;
        margin-right: -30px !important;
    }

        .row.wide-padding > [class *= col] {
            padding-left: 30px !important;
            padding-right: 30px !important;
        }
}

@media(min-width: 1600px) {
    .row.wide-padding {
        margin-left: -45px !important;
        margin-right: -45px !important;
    }

        .row.wide-padding > [class *= col] {
            padding-left: 45px !important;
            padding-right: 45px !important;
        }
}

.row.no-padding {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

    .row.no-padding > [class *= col] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

.row.small-padding {
    margin-left: -8px !important;
    margin-right: -8px !important;
}

    .row.small-padding > [class *= col] {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

.row.xs-padding {
    margin-left: -2px !important;
    margin-right: -2px !important;
}

    .row.xs-padding > [class *= col] {
        padding-left: 2px !important;
        padding-right: 2px !important;
        margin-bottom: 4px;
    }

/* Padding */

.block-padding {
    padding: 2em 1em;
}

.sm-block-padding {
    padding: 1em;
}

@media (min-width: 576px) {
    .block-padding, .sm-block-padding {
        padding: 2em;
    }
}

@media (min-width: 1200px) {
    .sm-block-padding {
        padding: 1em;
    }
}

@media (min-width: 1600px) {
    .block-padding {
        padding: 3em;
    }
    .sm-block-padding {
        padding: 2em;
    }
}

.banner-padding, .banner-padding-top {
    padding-top: 3em;
}

.banner-padding, .banner-padding-bottom {
    padding-bottom: 3em;
}

.banner-margin, .banner-margin-top {
    margin-top: 3em;
}

.banner-margin, .banner-margin-bottom {
    margin-bottom: 3em;
}

.md-banner-padding, .md-banner-padding-top {
    padding-top: 2.25em;
}

.md-banner-padding, .md-banner-padding-bottom {
    padding-bottom: 2.25em;
}

.sm-banner-padding, .sm-banner-padding-top {
    padding-top: 1.25em;
}

.sm-banner-padding, .sm-banner-padding-bottom {
    padding-bottom: 1.25em;
}

.xs-banner-padding, .xs-banner-padding-top {
    padding-top: .75em;
}

.xs-banner-padding, .xs-banner-padding-bottom {
    padding-bottom: .75em;
}

.xl-banner-padding, .xl-banner-padding-top {
    padding-top: 4em;
}

.xl-banner-padding, .xl-banner-padding-bottom {
    padding-bottom: 4em;
}

@media(min-width: 768px) and (min-height:600px) {
    .banner-padding, .banner-padding-top {
        padding-top: 4em;
    }

    .banner-padding, .banner-padding-bottom {
        padding-bottom: 4em;
    }

    .banner-margin, .banner-margin-top {
        margin-top: 4em;
    }

    .banner-margin, .banner-margin-bottom {
        margin-bottom: 4em;
    }

    .md-banner-padding, .md-banner-padding-top {
        padding-top: 3em;
    }

    .md-banner-padding, .md-banner-padding-bottom {
        padding-bottom: 3em;
    }

    .sm-banner-padding, .sm-banner-padding-top {
        padding-top: 1.5em;
    }

    .sm-banner-padding, .sm-banner-padding-bottom {
        padding-bottom: 1.5em;
    }

    .xs-banner-padding, .xs-banner-padding-top {
        padding-top: 1em;
    }

    .xs-banner-padding, .xs-banner-padding-bottom {
        padding-bottom: 1em;
    }

    .xl-banner-padding, .xl-banner-padding-top {
        padding-top: 6em;
    }

    .xl-banner-padding, .xl-banner-padding-bottom {
        padding-bottom: 6em;
    }
}

@media(min-width: 1200px) and (min-height:760px) {
    .banner-padding, .banner-padding-top {
        padding-top: 5em;
    }

    .banner-padding, .banner-padding-bottom {
        padding-bottom: 5em;
    }

    .banner-margin, .banner-margin-top {
        margin-top: 5em;
    }

    .banner-margin, .banner-margin-bottom {
        margin-bottom: 5em;
    }

    .md-banner-padding, .md-banner-padding-top {
        padding-top: 3.5em;
    }

    .md-banner-padding, .md-banner-padding-bottom {
        padding-bottom: 3.5em;
    }

    .sm-banner-padding, .sm-banner-padding-top {
        padding-top: 2em;
    }

    .sm-banner-padding, .sm-banner-padding-bottom {
        padding-bottom: 2em;
    }

    .xs-banner-padding, .xs-banner-padding-top {
        padding-top: 1.25em;
    }

    .xs-banner-padding, .xs-banner-padding-bottom {
        padding-bottom: 1.25em;
    }

    .xl-banner-padding, .xl-banner-padding-top {
        padding-top: 7.5em;
    }

    .xl-banner-padding, .xl-banner-padding-bottom {
        padding-bottom: 7.5em;
    }
}

@media(min-width: 1600px) {
    .banner-padding, .banner-padding-top {
        padding-top: 5.5em;
    }

    .banner-padding, .banner-padding-bottom {
        padding-bottom: 5.5em;
    }

    .banner-margin, .banner-margin-top {
        margin-top: 5.5em;
    }

    .banner-margin, .banner-margin-bottom {
        margin-bottom: 5.5em;
    }

    .md-banner-padding, .md-banner-padding-top {
        padding-top: 4em;
    }

    .md-banner-padding, .md-banner-padding-bottom {
        padding-bottom: 4em;
    }

    .sm-banner-padding, .sm-banner-padding-top {
        padding-top: 2.25em;
    }

    .sm-banner-padding, .sm-banner-padding-bottom {
        padding-bottom: 2.25em;
    }

    .xs-banner-padding, .xs-banner-padding-top {
        padding-top: 1.5em;
    }

    .xs-banner-padding, .xs-banner-padding-bottom {
        padding-bottom: 1.5em;
    }

    .xl-banner-padding, .xl-banner-padding-top {
        padding-top: 10em;
    }

    .xl-banner-padding, .xl-banner-padding-bottom {
        padding-bottom: 10em;
    }
}

.JumpNav {
    position: absolute;
    top: -200px;
    z-index: 9999;
    color: #ffffff;
    background: #666666;
    padding: 5px;
}

    .JumpNav:focus {
        top: 0;
        left: 0;
        color: #ffffff;
    }

@media (min-width: 1600px) {
    .d-xxl-block {
        display: block !important;
    }

    .d-xxl-none {
        display: none !important;
    }

    .col-xxl-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
}