@import url(fonts/fonts.css);
@import url(bootstrap/bootstrap-reboot.min.css);
@import url(bootstrap/bootstrap-grid.min.css);
@import url(bootstrap/bootstrap-utilities.min.css);
@import url(auxlm.css);
@import url(fancybox.css);
@import url(owl.css);
/* ==========================================================================
   Site
   ========================================================================== */
html {
    font-size: 16px;
}

body {
    font-family: "Visby Round CF", Arial, Helvetica, sans-serif;
    background: #fff;
    font-size: inherit;
    line-height: 2em;
    color: #404940;
}

a {
    color: inherit;
    outline: none !important;
    text-decoration: none;
}

    a:hover {
        text-decoration: none;
        color: inherit;
    }

    a:active, a:focus {
        text-decoration: none;
        color: inherit;
    }

a, button, input, textarea, select {
    outline: none !important;
}

ul, li {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    display: block;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
}

p {
    margin: 0 0 1.5em 0;
    line-height: inherit;
}

    p:last-child {
        margin-bottom: 0 !important;
    }

.mb-rem-0 {
    margin-bottom: 0rem !important;
}

.mt-rem-0 {
    margin-top: 0rem !important;
}

.mb-rem-5 {
    margin-bottom: 0.3125rem !important;
}

.mt-rem-5 {
    margin-top: 0.3125rem !important;
}

.mb-rem-10 {
    margin-bottom: 0.625rem !important;
}

.mt-rem-10 {
    margin-top: 0.625rem !important;
}

.mb-rem-15 {
    margin-bottom: 0.9375rem !important;
}

.mt-rem-15 {
    margin-top: 0.9375rem !important;
}

.mb-rem-20 {
    margin-bottom: 1.25rem !important;
}

.mt-rem-20 {
    margin-top: 1.25rem !important;
}

.mb-rem-25 {
    margin-bottom: 1.5625rem !important;
}

.mt-rem-25 {
    margin-top: 1.5625rem !important;
}

.mb-rem-30 {
    margin-bottom: 1.875rem !important;
}

.mt-rem-30 {
    margin-top: 1.875rem !important;
}

.mb-rem-35 {
    margin-bottom: 2.1875rem !important;
}

.mt-rem-35 {
    margin-top: 2.1875rem !important;
}

.mb-rem-40 {
    margin-bottom: 2.5rem !important;
}

.mt-rem-40 {
    margin-top: 2.5rem !important;
}

.mb-rem-45 {
    margin-bottom: 2.8125rem !important;
}

.mt-rem-45 {
    margin-top: 2.8125rem !important;
}

.mb-rem-50 {
    margin-bottom: 3.125rem !important;
}

.mt-rem-50 {
    margin-top: 3.125rem !important;
}

.mb-rem-55 {
    margin-bottom: 3.4375rem !important;
}

.mt-rem-55 {
    margin-top: 3.4375rem !important;
}

.mb-rem-60 {
    margin-bottom: 3.75rem !important;
}

.mt-rem-60 {
    margin-top: 3.75rem !important;
}

.mb-rem-65 {
    margin-bottom: 4.0625rem !important;
}

.mt-rem-65 {
    margin-top: 4.0625rem !important;
}

.mb-rem-70 {
    margin-bottom: 4.375rem !important;
}

.mt-rem-70 {
    margin-top: 4.375rem !important;
}

.mb-rem-75 {
    margin-bottom: 4.6875rem !important;
}

.mt-rem-75 {
    margin-top: 4.6875rem !important;
}

.mb-rem-80 {
    margin-bottom: 5rem !important;
}

.mt-rem-80 {
    margin-top: 5rem !important;
}

.mb-rem-85 {
    margin-bottom: 5.3125rem !important;
}

.mt-rem-85 {
    margin-top: 5.3125rem !important;
}

.mb-rem-90 {
    margin-bottom: 5.625rem !important;
}

.mt-rem-90 {
    margin-top: 5.625rem !important;
}

.mb-rem-95 {
    margin-bottom: 5.9375rem !important;
}

.mt-rem-95 {
    margin-top: 5.9375rem !important;
}

@media (max-width: 767px) {
    .mbm-rem-0 {
        margin-bottom: 0rem !important;
    }

    .mtm-rem-0 {
        margin-top: 0rem !important;
    }

    .mbm-rem-5 {
        margin-bottom: 0.3125rem !important;
    }

    .mtm-rem-5 {
        margin-top: 0.3125rem !important;
    }

    .mbm-rem-10 {
        margin-bottom: 0.625rem !important;
    }

    .mtm-rem-10 {
        margin-top: 0.625rem !important;
    }

    .mbm-rem-15 {
        margin-bottom: 0.9375rem !important;
    }

    .mtm-rem-15 {
        margin-top: 0.9375rem !important;
    }

    .mbm-rem-20 {
        margin-bottom: 1.25rem !important;
    }

    .mtm-rem-20 {
        margin-top: 1.25rem !important;
    }

    .mbm-rem-25 {
        margin-bottom: 1.5625rem !important;
    }

    .mtm-rem-25 {
        margin-top: 1.5625rem !important;
    }

    .mbm-rem-30 {
        margin-bottom: 1.875rem !important;
    }

    .mtm-rem-30 {
        margin-top: 1.875rem !important;
    }

    .mbm-rem-35 {
        margin-bottom: 2.1875rem !important;
    }

    .mtm-rem-35 {
        margin-top: 2.1875rem !important;
    }

    .mbm-rem-40 {
        margin-bottom: 2.5rem !important;
    }

    .mtm-rem-40 {
        margin-top: 2.5rem !important;
    }

    .mbm-rem-45 {
        margin-bottom: 2.8125rem !important;
    }

    .mtm-rem-45 {
        margin-top: 2.8125rem !important;
    }

    .mbm-rem-50 {
        margin-bottom: 3.125rem !important;
    }

    .mtm-rem-50 {
        margin-top: 3.125rem !important;
    }

    .mbm-rem-55 {
        margin-bottom: 3.4375rem !important;
    }

    .mtm-rem-55 {
        margin-top: 3.4375rem !important;
    }

    .mbm-rem-60 {
        margin-bottom: 3.75rem !important;
    }

    .mtm-rem-60 {
        margin-top: 3.75rem !important;
    }

    .mbm-rem-65 {
        margin-bottom: 4.0625rem !important;
    }

    .mtm-rem-65 {
        margin-top: 4.0625rem !important;
    }

    .mbm-rem-70 {
        margin-bottom: 4.375rem !important;
    }

    .mtm-rem-70 {
        margin-top: 4.375rem !important;
    }

    .mbm-rem-75 {
        margin-bottom: 4.6875rem !important;
    }

    .mtm-rem-75 {
        margin-top: 4.6875rem !important;
    }

    .mbm-rem-80 {
        margin-bottom: 5rem !important;
    }

    .mtm-rem-80 {
        margin-top: 5rem !important;
    }

    .mbm-rem-85 {
        margin-bottom: 5.3125rem !important;
    }

    .mtm-rem-85 {
        margin-top: 5.3125rem !important;
    }

    .mbm-rem-90 {
        margin-bottom: 5.625rem !important;
    }

    .mtm-rem-90 {
        margin-top: 5.625rem !important;
    }

    .mbm-rem-95 {
        margin-bottom: 5.9375rem !important;
    }

    .mtm-rem-95 {
        margin-top: 5.9375rem !important;
    }
}

.pb-rem-0 {
    padding-bottom: 0rem !important;
}

.pt-rem-0 {
    padding-top: 0rem !important;
}

.pb-rem-5 {
    padding-bottom: 0.3125rem !important;
}

.pt-rem-5 {
    padding-top: 0.3125rem !important;
}

.pb-rem-10 {
    padding-bottom: 0.625rem !important;
}

.pt-rem-10 {
    padding-top: 0.625rem !important;
}

.pb-rem-15 {
    padding-bottom: 0.9375rem !important;
}

.pt-rem-15 {
    padding-top: 0.9375rem !important;
}

.pb-rem-20 {
    padding-bottom: 1.25rem !important;
}

.pt-rem-20 {
    padding-top: 1.25rem !important;
}

.pb-rem-25 {
    padding-bottom: 1.5625rem !important;
}

.pt-rem-25 {
    padding-top: 1.5625rem !important;
}

.pb-rem-30 {
    padding-bottom: 1.875rem !important;
}

.pt-rem-30 {
    padding-top: 1.875rem !important;
}

.pb-rem-35 {
    padding-bottom: 2.1875rem !important;
}

.pt-rem-35 {
    padding-top: 2.1875rem !important;
}

.pb-rem-40 {
    padding-bottom: 2.5rem !important;
}

.pt-rem-40 {
    padding-top: 2.5rem !important;
}

.pb-rem-45 {
    padding-bottom: 2.8125rem !important;
}

.pt-rem-45 {
    padding-top: 2.8125rem !important;
}

.pb-rem-50 {
    padding-bottom: 3.125rem !important;
}

.pt-rem-50 {
    padding-top: 3.125rem !important;
}

.pb-rem-55 {
    padding-bottom: 3.4375rem !important;
}

.pt-rem-55 {
    padding-top: 3.4375rem !important;
}

.pb-rem-60 {
    padding-bottom: 3.75rem !important;
}

.pt-rem-60 {
    padding-top: 3.75rem !important;
}

.pb-rem-65 {
    padding-bottom: 4.0625rem !important;
}

.pt-rem-65 {
    padding-top: 4.0625rem !important;
}

.pb-rem-70 {
    padding-bottom: 4.375rem !important;
}

.pt-rem-70 {
    padding-top: 4.375rem !important;
}

.pb-rem-75 {
    padding-bottom: 4.6875rem !important;
}

.pt-rem-75 {
    padding-top: 4.6875rem !important;
}

.pb-rem-80 {
    padding-bottom: 5rem !important;
}

.pt-rem-80 {
    padding-top: 5rem !important;
}

.pb-rem-85 {
    padding-bottom: 5.3125rem !important;
}

.pt-rem-85 {
    padding-top: 5.3125rem !important;
}

.pb-rem-90 {
    padding-bottom: 5.625rem !important;
}

.pt-rem-90 {
    padding-top: 5.625rem !important;
}

.pb-rem-95 {
    padding-bottom: 5.9375rem !important;
}

.pt-rem-95 {
    padding-top: 5.9375rem !important;
}

@media (max-width: 767px) {
    .pbm-rem-0 {
        padding-bottom: 0rem !important;
    }

    .ptm-rem-0 {
        padding-top: 0rem !important;
    }

    .pbm-rem-5 {
        padding-bottom: 0.3125rem !important;
    }

    .ptm-rem-5 {
        padding-top: 0.3125rem !important;
    }

    .pbm-rem-10 {
        padding-bottom: 0.625rem !important;
    }

    .ptm-rem-10 {
        padding-top: 0.625rem !important;
    }

    .pbm-rem-15 {
        padding-bottom: 0.9375rem !important;
    }

    .ptm-rem-15 {
        padding-top: 0.9375rem !important;
    }

    .pbm-rem-20 {
        padding-bottom: 1.25rem !important;
    }

    .ptm-rem-20 {
        padding-top: 1.25rem !important;
    }

    .pbm-rem-25 {
        padding-bottom: 1.5625rem !important;
    }

    .ptm-rem-25 {
        padding-top: 1.5625rem !important;
    }

    .pbm-rem-30 {
        padding-bottom: 1.875rem !important;
    }

    .ptm-rem-30 {
        padding-top: 1.875rem !important;
    }

    .pbm-rem-35 {
        padding-bottom: 2.1875rem !important;
    }

    .ptm-rem-35 {
        padding-top: 2.1875rem !important;
    }

    .pbm-rem-40 {
        padding-bottom: 2.5rem !important;
    }

    .ptm-rem-40 {
        padding-top: 2.5rem !important;
    }

    .pbm-rem-45 {
        padding-bottom: 2.8125rem !important;
    }

    .ptm-rem-45 {
        padding-top: 2.8125rem !important;
    }

    .pbm-rem-50 {
        padding-bottom: 3.125rem !important;
    }

    .ptm-rem-50 {
        padding-top: 3.125rem !important;
    }

    .pbm-rem-55 {
        padding-bottom: 3.4375rem !important;
    }

    .ptm-rem-55 {
        padding-top: 3.4375rem !important;
    }

    .pbm-rem-60 {
        padding-bottom: 3.75rem !important;
    }

    .ptm-rem-60 {
        padding-top: 3.75rem !important;
    }

    .pbm-rem-65 {
        padding-bottom: 4.0625rem !important;
    }

    .ptm-rem-65 {
        padding-top: 4.0625rem !important;
    }

    .pbm-rem-70 {
        padding-bottom: 4.375rem !important;
    }

    .ptm-rem-70 {
        padding-top: 4.375rem !important;
    }

    .pbm-rem-75 {
        padding-bottom: 4.6875rem !important;
    }

    .ptm-rem-75 {
        padding-top: 4.6875rem !important;
    }

    .pbm-rem-80 {
        padding-bottom: 5rem !important;
    }

    .ptm-rem-80 {
        padding-top: 5rem !important;
    }

    .pbm-rem-85 {
        padding-bottom: 5.3125rem !important;
    }

    .ptm-rem-85 {
        padding-top: 5.3125rem !important;
    }

    .pbm-rem-90 {
        padding-bottom: 5.625rem !important;
    }

    .ptm-rem-90 {
        padding-top: 5.625rem !important;
    }

    .pbm-rem-95 {
        padding-bottom: 5.9375rem !important;
    }

    .ptm-rem-95 {
        padding-top: 5.9375rem !important;
    }
}

.container,
.container-fluid {
    position: relative;
    z-index: 10;
    padding: 0 1rem;
}

.color-white {
    color: #fff !important;
}

.bg-white {
    background-color: #fff !important;
}

.brd-white {
    border-color: #fff !important;
}

.color-black {
    color: #000 !important;
}

.bg-black {
    background-color: #000 !important;
}

.brd-black {
    border-color: #000 !important;
}

.color-dark {
    color: #404940 !important;
}

.bg-dark {
    background-color: #404940 !important;
}

.brd-dark {
    border-color: #404940 !important;
}

.color-green {
    color: #5B8559 !important;
}

.bg-green {
    background-color: #5B8559 !important;
}

.brd-green {
    border-color: #5B8559 !important;
}

.color-yellow {
    color: #EDE709 !important;
}

.bg-yellow {
    background-color: #EDE709 !important;
}

.brd-yellow {
    border-color: #EDE709 !important;
}

#wrapper {
    position: relative;
    width: 100%;
    max-width: 4000px;
    margin: auto;
}

#header {
    position: absolute;
    z-index: 4000;
    right: 0;
    top: 0;
    width: 12.5rem;
    padding: 2.8125rem 0;
}

    #header .base {
        position: relative;
    }

        #header .base .logo {
            position: absolute;
            left: 0;
            top: -0.625rem;
            width: 6.25rem;
            aspect-ratio: 1;
            transform: translateY(-8rem);
            opacity: 0;
            transition: all .5s;
        }

            #header .base .logo img {
                width: 100%;
                height: 100%;
                display: block;
                object-fit: cover;
                position: absolute;
                left: 0;
                top: 0;
                display: block;
            }

    #header .menu {
        display: flex;
        justify-content: flex-end;
        position: relative;
    }

        #header .menu .btn-menu {
            display: block;
            width: 6.0625rem;
            height: 2.75rem;
            border: none;
            cursor: pointer;
            position: relative;
            background: none;
        }

            #header .menu .btn-menu .menu-box {
                position: absolute;
                z-index: 10;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                background: url("../img/menu_bars.png") left center no-repeat rgba(255, 255, 255, 0.7);
                background-size: auto 100%;
                border-radius: 0.3125rem;
                transition: background-position .2s;
            }

body.menu-open #header .menu .btn-menu .menu-box {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    background-color: #fff !important;
    background-position: -6.0625rem;
}

#header .menu .btn-menu::before {
    content: "";
    position: absolute;
    z-index: 20;
    display: block;
    width: 2.875rem;
    height: 2.5rem;
    left: -1.4375rem;
    top: -1.125rem;
    background: url("../img/menu_smile.png") center center no-repeat;
    background-size: contain;
    pointer-events: none;
    transition: z-index .5s, transform .6s, opacity .4s;
}

#header .menu .btn-menu:hover .menu-box {
    background-color: #fff;
}

#header .menu .btn-menu:hover::before {
    z-index: 5;
    transform: scaleX(-1);
}

#header .menu .menu-dropdown {
    position: absolute;
    background-color: #fff;
    right: 0;
    top: 100%;
    border-radius: 0.3125rem 0 0.3125rem 0.3125rem;
    padding: 0.625rem 0;
    transition: all .2s;
    transform: scale(0.6);
    transform-origin: top right;
    opacity: 0;
    visibility: hidden;
}

body.menu-open #header .menu .menu-dropdown {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

#header .menu .menu-dropdown a {
    display: block;
    text-align: right;
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    padding: .2em 1.1em .2em 2em;
    color: #5B8559;
}

@media (min-width: 768px) and (hover: hover) {
    #header .menu .menu-dropdown a:hover {
        color: #404940;
    }
}

#header.fixed {
    transition: all .25s;
    position: fixed;
}

body.scrolled #header.fixed {
    padding: 0.9375rem 0;
}

    body.scrolled #header.fixed .logo {
        transform: translateY(0);
        opacity: 1;
    }

    body.scrolled #header.fixed .btn-menu::before {
        transform: scaleX(-0.5);
        opacity: 0;
    }

.main {
    position: relative;
    z-index: 10;
}

    .main.main-padding {
        padding: 2.5rem 0;
    }

    .main.main-padding-top {
        padding-top: 2.5rem;
    }

    .main.main-padding-bottom {
        padding-bottom: 2.5rem;
    }

#home {
    background: center top no-repeat #404940;
    background-size: cover;
    color: #fff;
}

    #home .inner {
        display: flex;
        width: 100%;
        min-height: 100vh;
        align-items: center;
        justify-content: center;
        padding: 10rem 0 8.125rem 0;
    }

        #home .inner .base {
            display: block;
            width: 100%;
            text-align: center;
        }

            #home .inner .base .logo {
                width: 18.75rem;
                max-width: 100%;
                margin: 0 auto 2.25rem auto;
            }

                #home .inner .base .logo img {
                    display: block;
                    width: 100%;
                }

            #home .inner .base .intro {
                font-weight: 900;
                font-size: 2.25rem;
                line-height: 1.17;
                text-transform: uppercase;
                margin: 0 0 1.25rem 0;
            }

            #home .inner .base p {
                font-size: 1.625rem;
                font-weight: 500;
                line-height: 1.38;
            }

    #home:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 1.5625rem;
        width: 100%;
        height: 4.625rem;
        background: url("../img/scroll_white.png") center center no-repeat;
        background-size: contain;
    }

#felicite {
    background: center center no-repeat #EEE809;
    background-size: cover;
}

    #felicite .inner {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8.75rem 0;
    }

        #felicite .inner .base {
            display: block;
            width: 100%;
            text-align: center;
        }

        #felicite .inner .felicite {
            width: 100%;
            margin: 0 0 4.6875rem 0;
        }

            #felicite .inner .felicite img {
                display: block;
                width: 43.625rem;
                max-width: 80%;
                margin: auto;
            }

        #felicite .inner p {
            display: block;
            width: 100%;
            font-size: 1.625rem;
            line-height: 1.5;
            text-transform: uppercase;
            letter-spacing: .15em;
            font-weight: bold;
        }

    #felicite:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 1.5625rem;
        width: 100%;
        height: 4.625rem;
        background: url("../img/scroll_dark.png") center center no-repeat;
        background-size: contain;
    }

#maps a {
    display: block;
}

    #maps a img {
        display: block;
        width: 100%;
    }

#video {
    height: 100vh;
    position: relative;
    display: block;
}

    #video .bg {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background: center center no-repeat #000;
        background-size: cover;
        z-index: 1;
        filter: brightness(0.5);
        transition: all .4s;
    }

    #video:after {
        content: "";
        position: absolute;
        z-index: 10;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: url(../img/play.png) center center no-repeat;
        background-size: 7.625rem auto;
    }

    #video:hover .bg {
        filter: brightness(0.75);
    }

#infra {
    z-index: 1;
    padding: 5rem 0;
    background: #f1f1f1;
    overflow: hidden;
}

    #infra .header {
        position: relative;
        z-index: 1;
        margin: 0 0 7.5rem 0;
    }

        #infra .header h2 {
            font-size: 2.875rem;
            font-weight: 500;
            line-height: 1.1;
            color: #5B8559;
        }

            #infra .header h2 strong {
                display: inline-block;
                padding-top: .2em;
                font-weight: 900;
                text-transform: uppercase;
            }

@media (max-width: 767px) {
    #infra .header h2 {
        font-size: 2.25rem;
    }
}

#infra .header .circle-base {
    position: relative;
}

    #infra .header .circle-base .circle {
        background: #5B8559;
        color: #fff;
        aspect-ratio: 1;
        border-radius: 50%;
        width: 100%;
        display: flex;
        text-align: center;
        align-items: center;
        justify-content: center;
        position: absolute;
        left: 1.875rem;
        top: -9.375rem;
    }

        #infra .header .circle-base .circle .circle-inner {
            display: block;
            width: 100%;
            padding: 3.75rem 5.3125rem;
        }

            #infra .header .circle-base .circle .circle-inner h3 {
                color: #EDE709;
                font-size: 2.875rem;
                line-height: 1.17;
                font-weight: bold;
                text-transform: uppercase;
                margin-bottom: 1.875rem;
            }

            #infra .header .circle-base .circle .circle-inner p {
                font-size: 1.375rem;
                line-height: 1.8;
                font-weight: normal;
                margin: 0;
            }

            #infra .header .circle-base .circle .circle-inner .logo {
                padding: 1.5625rem 0 0 0;
            }

                #infra .header .circle-base .circle .circle-inner .logo img {
                    display: block;
                    margin: auto;
                    width: 3.0625rem;
                }

        #infra .header .circle-base .circle .mini-circle {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            color: #404940;
            position: absolute;
            background: #fff;
            aspect-ratio: 1;
            width: 9.6875rem;
            border-radius: 50%;
            padding: 1.25rem;
            left: -5.9375rem;
            top: 22.5rem;
        }

            #infra .header .circle-base .circle .mini-circle > * {
                display: block;
                width: 100%;
            }

            #infra .header .circle-base .circle .mini-circle h5 {
                font-weight: 900;
                line-height: 1;
                margin-bottom: .2em;
                font-size: 2.625rem;
            }

            #infra .header .circle-base .circle .mini-circle p {
                font-size: 1.0625rem;
                line-height: .92;
                text-transform: uppercase;
                font-weight: bold;
            }

@media (max-width: 767px) {
    #infra .header .circle-base .circle {
        position: relative;
        top: auto;
        left: auto;
    }

        #infra .header .circle-base .circle .circle-inner {
            padding: 3.125rem;
        }

            #infra .header .circle-base .circle .circle-inner h3 {
                font-size: 1.875rem;
            }

            #infra .header .circle-base .circle .circle-inner p {
                line-height: 1.2;
            }

        #infra .header .circle-base .circle .mini-circle {
            left: -1rem;
            top: auto;
            bottom: -4rem;
        }
}

#infra .arraste {
    font-size: 0.9375rem;
    font-weight: 900;
    color: #3F4941;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0 0 1.25rem 0;
}

#infra .mapa {
    position: relative;
    z-index: 10;
}

    #infra .mapa .base img {
        display: block;
        width: 100%;
        position: relative;
        z-index: 1;
    }

    #infra .mapa .base a {
        display: block;
        position: absolute;
        z-index: 10;
        left: 0;
        top: 0;
        width: 2.5%;
        height: calc( 1.985 * 2.5% );
        background: red;
        opacity: .5;
    }

@media (max-width: 767px) {
    #infra .mapa {
        overflow: auto;
        width: calc( 100% + 2rem );
        margin-left: -1rem;
        margin-bottom: 2.5rem;
        background-color: #fff;
    }

        #infra .mapa .base {
            padding: 1rem;
            background-color: #fff;
        }

            #infra .mapa .base img {
                width: auto;
                height: 90vh;
            }
}

#infra .legenda {
    width: 64%;
    position: relative;
    z-index: 20;
    margin-top: -11rem;
}

    #infra .legenda h4 {
        font-size: 0.875rem;
        font-weight: 900;
        color: #3F4941;
        line-height: 1.2;
        text-transform: uppercase;
        margin: 0 0 1.25rem 0;
    }

    #infra .legenda ul {
        columns: 3;
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1.1;
    }

        #infra .legenda ul li {
            display: list-item;
            margin-bottom: 1em;
        }

            #infra .legenda ul li a {
                display: inline-block;
            }

                #infra .legenda ul li a:hover {
                    opacity: .6;
                }

@media (max-width: 767px) {
    #infra .legenda {
        margin: 0;
        width: 100%;
    }

        #infra .legenda ul {
            columns: 2;
        }
}

#plantas {
    background: #5B8559;
    color: #fff;
    padding: 5.625rem 0;
}

    #plantas h4 {
        font-size: 2.875rem;
        line-height: 1.1;
        font-weight: normal;
        margin: 0 0 .2em 0;
    }

    #plantas h5 {
        font-size: 1.875rem;
        line-height: 1.2;
        font-weight: 600;
    }

    #plantas .planta {
        margin-top: 2.5rem;
        padding: 0 4.0625rem;
    }

        #plantas .planta a {
            display: block;
        }

        #plantas .planta img {
            display: block;
            margin: auto;
            max-width: 100%;
        }

    #plantas .owl-carousel .owl-nav {
        position: absolute;
        left: 0;
        top: 55%;
        width: 100%;
        height: 0;
    }

        #plantas .owl-carousel .owl-nav > button {
            display: flex;
            font-size: 4.375rem;
            height: 6.25rem;
            align-items: center;
            justify-content: center;
            position: absolute;
            top: -3.125rem;
        }

            #plantas .owl-carousel .owl-nav > button:active {
                transform: scale(0.9);
            }

            #plantas .owl-carousel .owl-nav > button.owl-prev {
                left: 0;
            }

            #plantas .owl-carousel .owl-nav > button.owl-next {
                right: 0;
            }

@media (min-width: 1600px) {
    #plantas .owl-carousel .owl-nav > button.owl-prev {
        left: -5rem;
    }

    #plantas .owl-carousel .owl-nav > button.owl-next {
        right: -5rem;
    }
}

@media (min-width: 1890px) {
    #plantas .owl-carousel .owl-nav > button.owl-prev {
        left: -14rem;
    }

    #plantas .owl-carousel .owl-nav > button.owl-next {
        right: -14rem;
    }
}

#plantas .arraste {
    font-size: 0.875rem;
    font-weight: bold;
    opacity: .7;
    line-height: 1.5;
    text-transform: uppercase;
    margin: 2.5rem 0 0 0;
    text-align: center;
}

@media (max-width: 767px) {
    #plantas {
        padding: 3.75rem 0;
    }

        #plantas h4 {
            font-size: 1.875rem;
        }

        #plantas h5 {
            font-size: 1.25rem;
        }

        #plantas .slider {
            position: relative;
            width: calc( 100% + 2rem );
            margin-left: -1rem;
        }

        #plantas .planta {
            padding: 0;
            margin-top: 1.25rem;
        }

        #plantas .owl-carousel .owl-nav {
            display: none;
        }
}

#galeria {
    background-color: #000;
    overflow: hidden;
}

    #galeria .slide {
        width: 100%;
        height: 100vh;
        position: relative;
        overflow: hidden;
    }

        #galeria .slide a {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            display: block;
            z-index: 1;
        }

        #galeria .slide img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 1;
        }

        #galeria .slide .caption {
            position: absolute;
            z-index: 100;
            right: 0;
            top: 15vh;
            width: auto;
            max-width: 32rem;
            min-width: 21rem;
            background-color: #5B8559;
            color: #fff;
            text-transform: uppercase;
            font-weight: bold;
            font-size: 1.125rem;
            line-height: 1.3;
            letter-spacing: .15em;
            text-align: center;
            padding: .63em 2.5em;
            transition: all .5s;
            transform: translateX(33rem);
        }

            #galeria .slide .caption::after {
                content: "";
                position: absolute;
                width: 3rem;
                height: 2.625rem;
                left: -1.5rem;
                top: -1.1875rem;
                background: url("../img/galeria_caption_logo.png") center center no-repeat;
                background-size: contain;
                transition: all .3s;
                transition-delay: .35s;
                transform: scaleX(0);
                opacity: 0;
            }

@media (max-width: 767px) {
    #galeria .slide .caption {
        top: 10vh;
        max-width: 90%;
        transform: translateX(101vw);
    }
}

#galeria .owl-item.active .slide .caption {
    transform: translateX(0) !important;
}

    #galeria .owl-item.active .slide .caption::after {
        transform: scaleX(1);
        opacity: 1;
    }

#galeria .owl-carousel .owl-nav {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 0;
}

    #galeria .owl-carousel .owl-nav .nav-base {
        width: 100%;
        font-size: 1px;
        line-height: 0;
        height: 0;
        position: relative;
    }

    #galeria .owl-carousel .owl-nav button {
        display: flex;
        font-size: 4.375rem;
        height: 6.25rem;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: -3.125rem;
        color: #fff;
        text-shadow: 0 0 1rem rgba(0, 0, 0, 0.7);
    }

        #galeria .owl-carousel .owl-nav button:active {
            transform: scale(0.9);
        }

        #galeria .owl-carousel .owl-nav button.owl-prev {
            left: 0;
        }

        #galeria .owl-carousel .owl-nav button.owl-next {
            right: 0;
        }

@media (min-width: 1600px) {
    #galeria .owl-carousel .owl-nav button.owl-prev {
        left: -5rem;
    }

    #galeria .owl-carousel .owl-nav button.owl-next {
        right: -5rem;
    }
}

@media (min-width: 1890px) {
    #galeria .owl-carousel .owl-nav button.owl-prev {
        left: -14rem;
    }

    #galeria .owl-carousel .owl-nav button.owl-next {
        right: -14rem;
    }
}

#felicidade {
    background: center center no-repeat;
    background-color: #404940;
    background-size: cover;
}

    #felicidade .inner {
        display: flex;
        position: relative;
        min-height: 100vh;
        overflow: hidden;
        align-items: flex-end;
        justify-content: flex-end;
    }

        #felicidade .inner .circle {
            font-size: 1rem;
            display: block;
            width: 50em;
            aspect-ratio: 1;
            background-color: #EDE709;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            text-align: center;
            border-radius: 50%;
            padding: 3.75em 5em;
            margin: auto 0 -5.625em auto;
            position: relative;
        }

            #felicidade .inner .circle > * {
                display: block;
                width: 100%;
            }

            #felicidade .inner .circle p {
                font-size: 2.25em;
                font-weight: 500;
                line-height: 1.39;
                margin-bottom: .8em;
            }

            #felicidade .inner .circle h5 {
                font-size: 2.875em;
                font-weight: 900;
                line-height: 1.13;
                text-transform: uppercase;
                margin-bottom: .7em;
            }

            #felicidade .inner .circle .logo img {
                display: block;
                margin: auto;
                width: 6.125em;
            }

@media (max-width: 767px) {
    #felicidade {
        padding: 2.5rem 0;
        overflow: visible;
    }

        #felicidade .inner {
            min-height: calc( 100vh - 5rem );
            overflow: visible;
        }

            #felicidade .inner .circle {
                top: 2.5rem;
                position: sticky;
                font-size: 1.6vw;
                margin: auto auto 0 auto;
                width: 95%;
            }
}

#acompanhe {
    background: #5B8559;
    color: #fff;
    padding: 5.625rem 0;
}

    #acompanhe .estagio {
        margin-top: 2em;
        text-align: center;
    }

        #acompanhe .estagio img {
            width: 64px;
            max-width: 100%;
            margin: 0 auto;
            display: block;
            margin-bottom: 1em;
        }

        #acompanhe .estagio h6 {
            text-align: center;
            line-height: 1.1em;
            font-size: 1.2em;
            margin-bottom: 1em;
        }

        #acompanhe .estagio progress[value] {
            /* Reset the default appearance */
            -webkit-appearance: none;
            appearance: none;
            width: 95%;
            height: 15px;
            position: relative;
        }

    #acompanhe .estagio progress[value]::-webkit-progress-bar {
        background-color: #eee;
        border-radius: 2px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
    }

    #acompanhe .estagio progress[value]::-webkit-progress-value {
        background-color: #EDE709;
        border-radius: 2px;        
    }

        #acompanhe .estagio progress:before {
            content: attr(value)'%';
            font-size: 0.9em;
            vertical-align: 0;
            color: #5B8559;
            /*Position text over the progress bar */
            position: absolute;
            left: 0;
            right: 0;
            line-height: 1em;
            font-weight: bold;
        }

#acompanhe h4 {
    font-size: 2.875rem;
    line-height: 1.1;
    font-weight: normal;
    margin: 0 0 .2em 0;
}

#acompanhe h5 {
    font-size: 1.875rem;
    line-height: 1.2;
    font-weight: 600;
}

#acompanhe .item {
    margin-top: 2.5rem;
    padding: 0 5px;
}

    #acompanhe .item a {
        display: block;
    }

    #acompanhe .item img {
        display: block;
        margin: auto;
        max-width: 100%;
    }

#acompanhe .owl-carousel .owl-nav {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
}

    #acompanhe .owl-carousel .owl-nav .nav-base {
        width: 100%;
        position: relative;
    }

    #acompanhe .owl-carousel .owl-nav button {
        display: flex;
        font-size: 4.375rem;
        height: 6.25rem;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: -3.125rem;
        color: #fff;
        text-shadow: 0 0 1rem rgba(0, 0, 0, 0.7);
    }

        #acompanhe .owl-carousel .owl-nav button:active {
            transform: scale(0.9);
        }

        #acompanhe .owl-carousel .owl-nav button.owl-prev {
            left: 0;
        }

        #acompanhe .owl-carousel .owl-nav button.owl-next {
            right: 0;
        }

@media (min-width: 1600px) {
    #acompanhe .owl-carousel .owl-nav button.owl-prev {
        left: -5rem;
    }

    #acompanhe .owl-carousel .owl-nav button.owl-next {
        right: -5rem;
    }
}

@media (min-width: 1890px) {
    #acompanhe .owl-carousel .owl-nav button.owl-prev {
        left: -14rem;
    }

    #acompanhe .owl-carousel .owl-nav button.owl-next {
        right: -14rem;
    }
}

@media (max-width: 767px) {
    #acompanhe {
        padding: 3.75rem 0;
    }

        #acompanhe h4 {
            font-size: 1.875rem;
        }

        #acompanhe h5 {
            font-size: 1.25rem;
        }

        #acompanhe .slider {
            position: relative;
            width: calc( 100% + 2rem );
            margin-left: -1rem;
        }

        #acompanhe .estagio img {            
            margin-top: 1em;
        }

        #acompanhe .estagio h6 {                        
            font-size: 1.8em;            
        }
        #acompanhe .estagio progress:before {            
            font-size: 1.2em;            
            line-height: 1em;            
        }
}

#contato {
    background: center center no-repeat #404940;
    background-size: cover;
    overflow: hidden;
}

    #contato::before {
        content: "";
        position: absolute;
        right: 41.1%;
        top: -25%;
        height: 150%;
        width: 100vw;
        z-index: 1;
        border-radius: 0 75% 75% 0;
        background: rgba(237, 231, 9, 0.8);
    }

    #contato .inner {
        padding: 5.625rem 0;
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        #contato .inner .base {
            display: block;
            width: 100%;
            text-align: center;
        }

            #contato .inner .base .logo {
                display: block;
                margin: 0 0 2.1875rem 0;
            }

                #contato .inner .base .logo img {
                    display: block;
                    margin: auto;
                    width: 5.125rem;
                }

            #contato .inner .base h2 {
                font-size: 2.1875rem;
                font-weight: 900;
                line-height: 1.1;
                margin-bottom: 1em;
            }

            #contato .inner .base p {
                font-size: 1.3rem;
                line-height: 1.6;
                font-weight: normal;
                margin-bottom: 2.5rem;
            }

            #contato .inner .base form {
                text-align: left;
            }

                #contato .inner .base form .form-group {
                    display: block;
                    margin: 0 0 2.8125rem 0;
                }

                #contato .inner .base form .form-label {
                    display: block;
                    width: 100%;
                    font-size: 1.3rem;
                    line-height: 1.2;
                    margin: 0 0 .2em 0;
                }

                #contato .inner .base form .form-control {
                    border: none;
                    border-bottom: solid 1px currentColor;
                    font-size: 1rem;
                    font-weight: normal;
                    color: inherit;
                    line-height: 1.3;
                    padding: .7em 0;
                    display: block;
                    width: 100%;
                    background: none;
                }

                    #contato .inner .base form .form-control::placeholder {
                        color: inherit;
                        opacity: .6;
                    }

                    #contato .inner .base form .form-control[type=file] {
                        border-bottom: none;
                        padding: 0;
                        margin-top: 0.9375rem;
                    }

                #contato .inner .base form .s {
                    display: inline-flex;
                    font-size: 1rem;
                    font-weight: 500;
                    text-transform: uppercase;
                    text-align: center;
                    height: 3.75rem;
                    min-width: 13.4375rem;
                    align-items: center;
                    justify-content: center;
                    border-radius: 0.3125rem;
                    border: none;
                    background: #5B8559;
                    color: #fff !important;
                }

@media (min-width: 768px) and (hover: hover) {
    #contato .inner .base form .s {
        transition: color 0.2s, background-color 0.2s, border-color 0.2s, filter 0.2s, opacity 0.2s;
    }

        #contato .inner .base form .s:hover {
            filter: brightness(1.1);
        }
}

@media (max-width: 767px) {
    #contato::before {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        border-radius: 0 60vw 60vw 0;
    }
}

#footer {
    position: relative;
    z-index: 100;
    background: #414941;
    color: #fff;
    padding: 1.875rem 0;
}

    #footer .footer1 {
        white-space: nowrap;
        text-align: center;
        margin-bottom: 1.6875rem;
    }

        #footer .footer1 .legenda {
            color: #EDE709;
            font-size: 0.625rem;
            line-height: 1.2;
            text-transform: uppercase;
            font-weight: bold;
        }

        #footer .footer1 a {
            display: inline-block;
        }

        #footer .footer1 .ib img {
            display: block;
            width: 7.0625rem;
            height: auto;
        }

        #footer .footer1 .site {
            color: #EDE709 !important;
            font-weight: bold;
            font-size: 1.8125rem;
            line-height: 1.1;
        }

            #footer .footer1 .site small {
                font-size: .8em;
            }

        #footer .footer1 .fone {
            font-size: 2.0625rem;
            line-height: 1.1;
            font-weight: 900;
            vertical-align: middle;
        }

            #footer .footer1 .fone small {
                vertical-align: middle;
                font-size: .65em;
            }

    #footer .footer2 {
        font-size: 0.8125rem;
        font-weight: normal;
        line-height: 1.6;
        text-align: center;
    }

/* ==========================================================================
   Resposive (desktop first)
   ========================================================================== */
/* xxl */
@media (min-width: 1400px) {
    .container {
        max-width: 1420px;
    }
}
/* xl */
@media (max-width: 1399px) {
    html {
        font-size: 14px;
    }
}
/* lg */
@media (max-width: 1199px) {
    html {
        font-size: 12px;
    }
}
/* md */
@media (max-width: 991px) {
    html {
        font-size: 11px;
    }
}
/* sm */
@media (max-width: 767px) {
    html {
        font-size: 13px;
    }

    .container,
    .container-fluid {
        width: 100%;
        max-width: none;
    }
}
/* xs */
@media (max-width: 575px) {
    html {
        font-size: 12px;
    }
}
/* small phones */
@media (max-width: 350px) {
    html {
        font-size: 11px;
    }
}

/*# sourceMappingURL=main.css.map */
