@font-face {
    font-family: 'helvNeue';
    src: url('../fonts/HelveticaNeueLTStd-Lt.otf') format('opentype')
}
@font-face {
    font-family: 'helvNeue';
    font-weight: 700;
    src: url('../fonts/HelveticaRoundedLTStd-Bd.otf') format('opentype')
}

html, body {
    background: #fff;
    color: #1b1b1b;
    font-family: "helvNeue", sans-serif;
    height: 100%;
}

.site {
    overflow: hidden;
    width: 100%;
}
.site abbr { border:0; text-decoration: none; }
.site abbr[title] { border:0; text-decoration: none; }

p {
    margin: 0;
}

a[rel=external]::after {
    content: " \f35d";
    font-family: Font Awesome\ 5 Free;
    font-size: .8275em;
    margin: 0;
}
a[rel=external].skip-external::after {
    display: none;
}

/* BUTTONS */
/* ------------------------------------------------------------------------------------------------ */

.btn {
    border-radius: 0;
    font-weight: 700;
    padding: 0.5em 1em 0.3em;
    text-transform: uppercase;
}
.btn-lg {
  padding: 1em 1.5em 0.8em;
}
.btn-outline-dark {
    border-color: #000;
    color: #000;
}
.btn-outline-dark:focus,
.btn-outline-dark:hover {
    background: #000;
    border-color: #000;
    color: #fff;
}

.btn-outline-warning {
    border-color: #ffe800;
    color: #ffe800;
}
.btn-outline-warning:focus,
.btn-outline-warning:hover {
    background: #ffe800;
    border-color: #ffe800;
    color: #000;
}


/* FORM */
/* ------------------------------------------------------------------------------------------------ */

.form-btn {
    background: #000;
    border: #000;
    font-style: normal;
    font-weight: 700;
    margin-top: 2em;
    text-transform: uppercase;
}
.form-btn:focus,
.form-btn:hover {
    background: #222;
    border: #222;
}

.form-control-label {
    color: #000;
    display: block;
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    font-weight: 400;
    width: 100%;
}

.form-check { 
    margin-right: 1.5rem;
    padding-left: 1.5rem;
}
.form-check-inline .form-check-input { 
    margin: 0.4rem 0 0 0;
    position: absolute;
    top: 0; left: 0;
}
.form-check-inline .form-check-label { 
    font-size: 1.5rem;
}

.form-group,
.form-label-group {
    margin-top: 2em;
    position: relative;
}
.form-label-group .form-control,
.form-label-group .form-control-label {
    line-height: 1.5;
    padding: 0.75rem 0 0.5rem;
}
@media (min-width: 768px) {
    .form-label-group .form-control,
    .form-label-group .form-control-label {
        font-size: 1.25rem;
    }
}
@media (min-width: 992px) {
    .form-label-group .form-control,
    .form-label-group .form-control-label {
        font-size: 1.5rem;
    }
}

.form-label-group .form-control {
    background: transparent;
    border: 0;
    border-radius: 0;
    border-bottom: 2px solid #000;
    color: #222;
}
.form-label-group .form-control::webkit-input-placeholder { color: transparent; }
.form-label-group .form-control::moz-input-placeholder { color: transparent; }
.form-label-group .form-control::ms-input-placeholder { color: transparent; }
.form-label-group .form-control:ms-input-placeholder { color: transparent; }
.form-label-group .form-control::placeholder { color: transparent; }

.form-label-group .form-control-label {
    font-size: 1.5rem;
    position: absolute;
    top: 0; left: 0;
    transition: all .1s ease-in-out;
}

.form-label-group .form-control:not(:placeholder-shown) {
    padding-top: calc(0.75rem + 0.75rem * (2 / 3));
    padding-bottom: calc(0.5rem / 3);
}
.form-label-group .form-control:not(:placeholder-shown) ~ label {
    padding-top: 0;
    padding-bottom: calc(0.5rem / 3);
    font-size: 0.875rem;
}

.form-label-group select.form-control {
    border-radius: 0 !important;
    height: calc(1.6em + 2px + 0.1em) !important;
}

.form-label-group textarea.form-control {
    height: 58px;
    transition: height 0.2s ease;
}
.form-label-group textarea.form-control:not(:placeholder-shown) { height: calc(1.5em * 4); }


/* SITE */
/* ------------------------------------------------------------------------------------------------ */

.site-wrapper {
    position: relative;
}
.site-navigation {
    min-height: 70px;
}

.site-footer {
    background: #231f20;
    border-top: 0.1rem solid #fff;
    color: #fff;
    padding: 1.875rem 0;
}
.site-footer a {
    color: #ffe800;
    font-weight: 700;
    text-decoration: underline;
}
.site-footer p + p {
    margin-top: 1em;
}
.site-footer .site-container {
    position: relative;
}
@media (min-width: 992px) {
    .site-footer .st { float: right; text-align: right; }
    .site-footer .rd { margin-top: 0; }
}

    /* ACESSIBILITY */

    .accessibility {
        background: #f5f5f5;
        font-size: 0.875rem;
    }
    .accessibility-lists {
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: right;
    }
    .accessibility-lists li {
        display: inline-block;
        padding: 0.5rem 0 0.5rem 1rem;
    }
    .accessibility-lists li a {
        color: #000;
        text-decoration: underline;
    }
    .accessibility-lists li:first-child {
        float: left;
        padding-left: 0;
    }

/* HEADER */
/* ------------------------------------------------------------------------------------------------ */


.header-holder {
    background: #fff url(../img/banner.png) no-repeat 0 50%;
    background-size: cover;
    border-top: 0.1rem solid #fff;
    height: 270px;
    padding: 2rem 0;
    text-align: center;
}
    .header-logo {
        display: inline-block;
    }
    .header-logo img {
        height: 200px;
        width: auto; 
    }



/* NAVIGATION */
/* ------------------------------------------------------------------------------------------------ */

.navigation {
    background: #fff;
    border-bottom: 0;
    position: relative;
}
.navigation.sticky {
    position: fixed;
    top: 0; right: 0; left: 0;
    z-index: 9999;
}
@media (max-width: 991px) {
    .navigation-collapse {
        background: #ffe800;
        height: 100% !important;
        position: fixed;
        top: 0; right: 0; bottom: 0; left: 0;
        transform: translate(0,-100%);
        transition: all 0.5s;
        z-index: 999999;
    }
    .navigation-collapse.show {
        transform: translate(0,0);
    }
    .navigation .navigation-nav {
        position: absolute;
        top: 50%; right: 0; left: 0;
        transform: translate(0,-50%);
        text-align: center;
    }
}
@media (min-width: 992px) {
    .navigation {
        border-top: 0.6rem solid #ffe800;
        border-bottom: 0.1rem solid rgba(0,0,0,0.1);
    }
    .navigation .navigation-nav .nav-link.active { 
        background: rgba(0,0,0,0.15);
        color: #000;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

    .navigation .navigation-open {
        background: #3f3f3f;
        color: #ffe800;
        font-size: 1.5rem;
        font-weight: 700;
        padding: 1.3rem 0 0.8rem;
        text-align: center;
        text-transform: uppercase;
    }
    .navigation .navigation-open:focus,
    .navigation .navigation-open:hover {
        background: #000;
        text-decoration: none;
    }

    .navigation .navigation-close {
        background: rgba(0,0,0,0.1);
        color: #000;
        font-size: 1.5rem;
        font-weight: 700;
        padding: 1rem 0 0.5rem;
        position: absolute;
        right: 0; bottom: 0; left: 0;
        text-align: center;
        text-transform: uppercase;
    }
    .navigation .navigation-close:focus,
    .navigation .navigation-close:hover {
        background: rgba(0,0,0,0.15);
        text-decoration: none;
    }

    .navigation .navigation-nav {
        justify-content: space-between;
    }
    .navigation .navigation-nav .nav-link {
        color: #3f3f3f;
        font-size: 1.5rem;
        font-weight: 700;
        padding: 1rem 0 0.5rem;
        text-transform: uppercase;
        transition: all 0.5s ease;
    }
    .navigation .navigation-nav .nav-link:focus,
    .navigation .navigation-nav .nav-link:hover {
        color: #000;
    }



/* AREA */
/* ------------------------------------------------------------------------------------------------ */

.area {
    border-top: 0.1rem solid #fff;
    padding: 2.5rem 0;
}
.area .area-head,
.area .area-body,
.area .area-feet {
    padding: 2.5rem 0;
}
.area .area-body { padding-top: 0; }
.area .area-feet .btn { margin: 0 0.5rem 0 0; }


.area .card {
    background: inherit;
    border: 0;
    border-radius: 0;
    height: 100%;
}
@media (min-width: 992px) {
    .area .card { font-size: 1.25rem; }
}
.area .card .card-icon {
    font-weight: 600;
    text-align: center;
    max-width: 100%;
}
.area .card .card-icon img {
    height: auto;
    max-width: 100%;
}
.area .card .card-title {
    font-size: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
}

    /* AREA: Title; */

    .area-title {
        font-size: 2rem;
        font-weight: 700;
        margin: 0;
        position: relative;
        text-transform: uppercase;
    }
    /*
    .area-title::before {
        content: ":";
        margin-right: 0.1em;
        position: absolute;
        top: -0.1em; right: 100%;
    }
    */
    @media (min-width: 768px) {
        .area-title { font-size: 3rem; }
    }

    .area-subtitle {
        color: #7b7b7b;
        font-size: 1.5rem;
        font-weight: 400;
        letter-spacing: -0.05em;
        margin-top: 0.5rem;
        text-transform: uppercase;
    }
    @media (min-width: 768px) {
        .area-subtitle { font-size: 2rem; }
    }

    /* AREA: Ruler; */

    .area-ruler {
        border: 0;
        margin: 3.75rem 0;
        height: 0.5rem;
        position: relative;
        width: 100%;
    }
    .area-ruler::before {
        border-top: 0.5rem dotted rgba(0,0,0,0.1);
        content: " ";
        position: absolute;
        top: 0;
        width: 300%;
    }
    .area-ruler::before { left: -100%; }

    /* AREA: ROWS; */

    .area-row {
        margin: -1rem;
    }
    .area-row .area-col {
        padding: 1rem;
    }

    /* AREA: Content; */

    .area-content p + p {
        margin-top: 1em;
    }
    @media (min-width: 768px) {
        .area-content { font-size: 1.25rem; }
    }
    @media (min-width: 992px) {
        .area-content { font-size: 1.5rem; }
    }


/* AREA-ABOUT */
/* ------------------------------------------------------------------------------------------------ */

.area-about .area-c2a {
    background: #000 no-repeat 50% 50%;
    background-size: cover;
    color: #fff;
    display: block;
    font-size: 2.5rem;
    line-height: 1.3;
    margin: 0 -1.5rem;
}
.area-about .area-c2a-mask {
    background: rgba(0,0,0,0.5);
    padding: 3.5rem 1.5rem;
}
.area-about .area-c2a .c2a-nd {
    display: block;
    font-weight: 700;
}
.area-about .area-c2a .c2a-rd {
    margin-top: 1.5rem;
}
.area-about .area-c2a:focus,
.area-about .area-c2a:hover {
    text-decoration: none;
}

@media (min-width: 768px) {
    .area-about .area-c2a { margin: 0 -3.5rem; }
    .area-about .area-c2a-mask { padding: 3.5rem 3.5rem 3rem; }
}
@media (min-width:1200px) {
    .area-about .area-c2a { margin: 0 -5.5rem; }
    .area-about .area-c2a-mask { padding: 3.5rem 5.5rem 3rem; }
}


.area-about .area-row { margin: 1.35rem -1.35rem -1.35rem; }
.area-about .area-row .area-col { padding: 1.35rem; }

    .area-about .card {
        background: rgba(0,0,0,0.1);
        color: #000;
        text-align: center;
    }
    .area-about .card .card-icon {
        color: #000;
        font-size: 4.5em;
        padding: 2rem;
        text-align: center;
    }
    .area-about .card .card-body {
        padding: 0 2rem 2rem;
    }

    @media (min-width: 768px) and (max-width: 991px) {
        .area-about .card {
            flex-direction: row;
            text-align: left;
        }
        .area-about .card .card-icon {
            flex: 0 0 10rem;
            padding-right: 0;
        }
        .area-about .card .card-body {
            font-size: 1.5rem;
            flex: 1 1 auto;
            padding-top: 2rem;
        }
    }
    @media (min-width: 1200px) {
        .area-about .card .card-body {
            padding-top: 0;
        }
    }

/* AREA-CAUSE */
/* ------------------------------------------------------------------------------------------------ */

.area-cause {
    background: #231f20;
    color: #fff;
}
.area-cause .area-title {
    color: #ffe800;
}
.area-cause .area-row { margin: 1.35rem -1.35rem -1.35rem; }
.area-cause .area-row .area-col { padding: 1.35rem; }

    .area-cause .card {
        background: rgba(0,0,0,0.1);
        color: #ffe800;
        text-align: center;
    }
    .area-cause .card .card-icon {
        color: #fff;
        padding: 2rem 2rem 1rem;
        text-align: center;
    }
    .area-cause .card .card-body {
        padding: 0 2rem 2rem;
    }

    @media (min-width: 768px) and (max-width: 991px) {
        .area-cause .card {
            flex-direction: row;
            text-align: left;
        }
        .area-cause .card .card-icon {
            flex: 0 0 10rem;
            padding-right: 0;
        }
        .area-cause .card .card-body {
            font-size: 1.5rem;
            flex: 1 1 auto;
            padding-top: 2rem;
        }
    }
    @media (min-width: 1200px) {
        .area-cause .card .card-body {
            padding-top: 0;
        }
    }


/* AREA-CONTACT */
/* ------------------------------------------------------------------------------------------------ */

.area-contact {
    background: #ffe800;
}
.area-contact .area-content a {
    color: #000;
    text-decoration: underline;
}
.area-contact .area-row { margin: 1.35rem -1.35rem -1.35rem; }
.area-contact .area-row .area-col { padding: 1.35rem; }

/* AREA-PRODUCTS */
/* ------------------------------------------------------------------------------------------------ */

.area-products {
    background: #3f3f3f;
    color: #fff;
}
.area-products .area-subtitle {
    color: #c9c9c9;
}
.area-products .area-cards { margin: -1.35rem; }
.area-products .area-cards-col { padding: 1.35rem; }
.area-products .area-cards .card-body { padding: 1.25rem 0 0; }
.area-products .area-cards .card-img-top { border-radius: 0; }

@media (min-width: 768px) and (max-width: 1199px) {
    .area-products .area-cards {
        margin: -0rem;
    }
    .area-products .area-cards-col {
        padding: 0rem;
    }
    .area-products .area-cards .card {
        align-items: center!important;
        flex-direction: row;
    }
    .area-products .area-cards .card-img-top {
        flex: 0 0 50%;
        height: 100%;
    }
    .area-products .area-cards .card-body {
        flex: 1 1 auto;
        height: auto;
        padding: 1rem;
        padding-left: 2rem;
        padding-right: 0;
    }
    .area-products .area-cards-col:nth-child(2) .card .card-img-top { order: 2; }
    .area-products .area-cards-col:nth-child(2) .card .card-body {
        order: 1;
        padding-left: 0;
        padding-right: 2rem;
    }
}


/* AREA-SERVICES */
/* ------------------------------------------------------------------------------------------------ */

.area-services .area-cards {
    border-right: 0.1rem solid #fff;
    position: relative;
    margin: -0.1rem;
}
.area-services .area-cards-col {
    padding: 0.1rem;
}
.area-services .area-cards .card {
    background: #ffe800;
    border-left: 0.1rem solid #fff;
    color: #000;
}
.area-services .area-cards .card-icon {
    padding: 2rem 2rem 0;
    text-align: center;
}
.area-services .area-cards .card-body {
    padding: 2rem 2rem 2rem;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .area-services .area-cards .card {
        flex-direction: row;
    }
    .area-services .area-cards .card-icon {
        font-size: 5rem;
        flex: 0 0 9rem;
        padding-right: 0;
    }
    .area-services .area-cards .card-body {
        flex: 1 1 auto;
    }
}
