* {
    border: 0px;
    margin: 0px;
    padding: 0;
}

html{
    margin-top: 80px;
}
@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

body{
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
    -o-animation: fadein 2s; /* Opera */
}
::-webkit-scrollbar {
    background: #bbb;
    width: 8px;
    height: 0px;
    cursor: n-resize;
}
::-webkit-scrollbar-thumb {
    background:#9ede14;
    cursor: n-resize;
}
::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(0, 0, 0, 1);
    cursor: n-resize;
}

body{
    font-family: Graphik,'Gotham SSm A','Gotham SSm B','Helvetica Neue',Helvetica,Arial,sans-serif !important;
}
nav.header{
    height: 80px;
    position: fixed;
    left: 0px;
    right: 0px;
    top: 0px;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    z-index: 9;
    background-color: rgb(255, 255, 255);
    padding-left: 32px;
    padding-right: 0px;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 1px 2px;
    overflow:hidden;
}

img {
    max-width: 100%;
    height: auto;
}

.logo{
    height: 20px;
}

.lateral {
    display: flex;
    align-self: normal;
    height: 100%;
}
.lateral a{
    text-decoration:none;
    font-size: 18px;
    cursor: pointer;
    text-align: center;
    user-select: none;
    min-height: 56px;
    white-space: nowrap;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    background-color: rgb(46, 204, 113);
    color: white;
    -webkit-appearance: none !important;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    outline: none;
    padding: 19px 32px;
    transition: all 200ms ease-in-out 0s;
    border-radius: 0px;
}


.banner{
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    position: relative;
    background-color: rgb(46, 204, 113);
    background-color: rgb(46, 204, 113);
    padding: 0px;
}

.container{
    width: 100%;
    max-width: 1328px;
    display: flex;
    flex-direction: column;
    min-height: auto;
    flex-wrap: wrap;
    flex-direction: row;
    height: 100%;
    order: unset;
    height: 100%;
}


.banner .style{
    padding: 64px;
    width: 100%;
    order: unset;
    display: flex;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    text-align: left;
    position: relative;
    order: 1;
    align-items: flex-start;
    padding: 64px 32px;
}

h1.Heading{
    line-height: 1.125em;
    font-size: 48px;
    max-width: 30rem;
    color: rgb(255, 255, 255);
    margin-bottom: 48px;
    margin-top: 0px;
}



.banner .Text{
    font-size: 18px;
    line-height: 1.5;
    color: rgb(255, 255, 255);
    margin-bottom: 0px;
    max-width: 19rem;
}

.abaixo-banner{
    padding-bottom: 80px;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    position: relative;
    background-color: rgb(46, 204, 113);
}


.abaixo-banner article{
    min-height: calc(100vh - 80px);
}

.abaixo-banner .bloco{
    width: 50%;
    order: unset;
    display: flex;
    flex-direction: column;
    -webkit-box-pack: justify;
    justify-content: space-between;
    text-align: left;
    position: relative;
    order: 1;
    align-items: flex-start;
    background-color: rgb(44, 62, 80);
    padding: 64px 32px;
    color: #fff;
    overflow:hidden;
}

.bloco.white{
    background: #fff !important;
    color: #000 !important;
    order: 1 !important;
}

.abaixo-banner .container{
    width: 100%;
    max-width: 1328px;
    display: flex;
    flex-wrap: initial;
    flex-direction: row;
    height: 100%;
    min-height: calc(100vh - 80px);
}
.bloco h2{
    font-size: 32px;
    max-width: 26rem;
    line-height: 1.25em;
    margin-bottom: 0px;
}


.bloco .component-img {
    width: 100%;
}

.bloco p{
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0px;
    max-width: 19rem;
}

.bloco-info{
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    position: relative;
    background-color: rgb(255, 255, 255);
    background-image: url(../img/bloco-info.jpg);
    background-size: cover;
    padding: 0px;
    background-position: center center;
}


.bloco-info .content{
    -webkit-box-pack: center;
    justify-content: center;
    padding: 64px;
    width: 100%;
    order: unset;
    display: flex;
    flex-direction: column;
    text-align: left;
    position: relative;
    order: 1;
    align-items: flex-start;
}

.bloco-info h2{
    font-size: 32px;
    max-width: 26rem;
    line-height: 1.25em;
    color: rgb(255, 255, 255);
    margin-bottom: 32px;
}

.bloco-info p{
    font-size: 18px;
    line-height: 1.5;
    color: rgb(255, 255, 255);
    margin-bottom: 0px;
    max-width: 19rem;
}

.bloco-info-2{
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    position: relative;
    background-color: rgb(245, 245, 245);
    padding: 0px;
}

.col-md-6{
    width: 50%;
    display: flex;
    flex-direction: column;
    -webkit-box-pack: justify;
    text-align: left;
    position: relative;
    order: 1;
    align-items: flex-start;
}

.bloco-info-2{
    padding: 64px;
    padding-right: 0px !important;
    background: #fff;
}

.bloco-info-2 h2{
    font-size: 32px;
    max-width: 26rem;
    line-height: 1.25em;
    color: rgb(46, 204, 113);
    margin-bottom: 32px;
}

.bloco-info-2 p{
    font-size: 18px;
    line-height: 1.5;
    color: rgb(118, 118, 118);
    margin-bottom: 0px;
    max-width: 19rem;
}

.bloco-info-2 img{
    display: block;
    object-fit: cover;
    width: auto;
    max-height: calc(100vh - 20em);
    margin: 0px auto;
}

.bloco-info-2 .component-responsive-image {
    width: 100%;
    padding:0px;
}


.bloco-info-2.black{
    background: rgb(46, 204, 113);
    color: #fff;
}
.bloco.white img {
    max-height: 460px;
}

.bloco-info-2.black h2{
    color: #fff !important;
}

.bloco-info-2.black p{
    color: #fff !important;
}
footer {
    background-color: rgb(245, 245, 245);
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    position: relative;
    background-color: rgb(245, 245, 245);
    padding: 64px;
    padding-right: 64px;
}

footer img{

    display: block;
    object-fit: cover;
    width: auto;
    max-height: 35px;
    margin: 0px auto;

}

footer h1{
    color: rgb(46, 204, 113);
    margin-bottom: 24px;
    margin-top: 0px;
    max-width: 30rem;
    line-height: 1.125em;
    font-size: 48px;
}

footer p{
    color: rgb(118, 118, 118);
}

@media(max-width: 768px){
section.banner {
    min-height: 500px;
}

.img2 {
    bottom: -50px !important;
    max-height: 700px!important;
    margin: 0 auto;
    float: none;
    left: 2;
    width: 62% !important;
    top: initial !important;
    }
    .container {
        flex-wrap: unset !important;
        flex-direction: row !important;
        display: block !important;
    }
    .content{
        padding: 0px !important;
        text-align: center;
    }
    .bloco{
        width: 	100% !important;
    }
    .col-md-6{
        width: 	100% !important;
        padding: 0px !important;
        text-align: center;
    }
    .bloco.white{
        padding: 0px !important;
    }
    .banner .style{
        padding: 15px 0px !important;
        text-align:center;
    }
    .banner h1{
        font-size: 40px;
    }

    nav.header {
        padding-left: 5px;
    }

    .banner .Text {
        max-width: none;
    }

    h2 {
        max-width: none !important;
        text-align: center;
        width: 100%;
        padding: 20px 0;
    }
    .bloco p {
        max-width: none;
        text-align: center;
        padding: 0px;
    }

    .abaixo-banner{
        padding-bottom: 0px !important;
    }
    .bloco-info p {
        max-width: none;
        text-align: center;
        padding-bottom: 20px;
    }

    .bloco-info-2 {
        padding: 30px 0;
        text-align: center;
    }

    footer {
        text-align: center;
        padding: 24px;
    }

    footer h1 {
        font-size: 20px;
    }

    .sub {
        width: 100%;
        text-align: center;
        padding: 15px 0;
    }
    .bloco h2 {
        font-size: 27px;
        max-width: 26rem;
        line-height: 1.25em;
        margin-bottom: 0px;
        padding-bottom: 7px;
    }

    .component-responsive-image-size.loaded {
        width: 100%;
        text-align: center;
    }
    .bloco-info-2 img {
        max-width: 150px;
    }
    h2, p{
        max-width: 	none !important;
        width: 	100%;
        text-align: center;
    }
    .abaixo-banner .bloco{
        padding: 0px !important;
    }
}


/*--menu lateral */

body.fade{
    height: 120%;
    overflow: hidden;
}

body.fade::before {
    content: '';
    position: fixed;
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    top: 0px;
    z-index: 999;
}

div#widget-panel{
    height: 120%;
        box-shadow: rgba(0, 0, 0, 0.15) 0px 1px 2px;
    display: flex;
    flex-direction: column;
    padding-top: 16px;
    position: fixed;
    transition: all ease 0.5s;
    right: -100%;
    top: 0px;
    height: 100%;
    max-width: 100%;
    width: 480px;
    will-change: transform;
    z-index: 3003;
    overflow-y: auto;
    background: rgb(255, 255, 255);
}

.close{
        text-align: right;
    padding-right: 16px;
}

.close button{
        font-size: 18px;
    cursor: pointer;
    text-align: center;
    user-select: none;
    min-height: 56px;
    white-space: nowrap;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    color: rgb(46, 204, 113);
    background-color: transparent;
    -webkit-appearance: none !important;
    border-radius: 2px;
    border-width: initial;
    border-style: none;
    border-image: initial;
    outline: none;
    padding: 19px 32px;
    transition: all 200ms ease-in-out 0s;
    border-color: rgb(46, 204, 113);
}

#widget-panel form {
    padding: 64px;
    padding-top: 16px;
    float: left;
    display: block;
    /* overflow: hidden; */
}

#widget-panel span{
    line-height: 1.5em;
    color: rgb(118, 118, 118);
    display: block;
    position: relative;
    padding-left: 34px;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    user-select: none;
}
#widget-panel h2{
    font-size: 32px;
    max-width: 26rem;
    line-height: 1.25em;
    color: rgb(46, 204, 113);
    margin-bottom: 32px;
}

.section-input.labels label{
    color: rgb(177, 173, 183);
    cursor: pointer;
    display: block;
    font-size: 16px;
    height: 16px;
    transform: translateY(20px);
    user-select: none;
    white-space: nowrap;
    width: 100%;
    will-change: transform, color;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s;
}

#widget-panel input{
    background-color: transparent;
    color: rgb(25, 25, 25);
    caret-color: rgb(25, 25, 25);
    display: block;
    font-size: 16px;
    text-align: left;
    width: 100%;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.35) 100%), linear-gradient(0deg, rgb(25, 25, 25) 0%, rgb(25, 25, 25) 100%);
    background-size: 100% 1px, 0px 1px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    border-width: 0px;
    border-style: initial;
    border-color: initial;
    border-image: initial;
    margin: 0px;
    padding: 8px 20px 8px 0px;
    outline: none;
    background-repeat: no-repeat;
    background-position: 50% 100%, 50% 100%;
    border-radius: 0px;
}

.section-input{
        box-sizing: border-box;
    font-size: 16px;
    max-width: 100%;
    padding-bottom: 16px;
    position: relative;
    min-height: 90px;
    flex: 0 0 auto;
}

span[role="checkbox"] {
    position: absolute !important;
    padding: 0px !important;
    top: 2px;
    left: 0px;
    height: 18px !important;
    width: 18px !important;
    background-color: rgb(255, 255, 255);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(118, 118, 118);
    border-image: initial;
    border-radius: 0.125em;
}
span[role="checkbox"]:before {
content: "";
    position: absolute;
    display: none;
    left: 5px;
    width: 6px;
    height: 11px;
    transform: rotate(45deg);
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-image: initial;
    border-width: 0px 2px 2px 0px;
}

.confirmacao{
    min-height: 96px;
    max-height: 100%;
    padding: 8px 0px;
}

input#field-accepted{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0px;
    width: 0px;
}

#label-accepted{
        line-height: 1.5em;
    color: rgb(118, 118, 118);
    display: block;
    position: relative;
    padding-left: 34px;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    user-select: none;
}

#widget-panel a {
        position: relative;
    font-size: inherit;
    cursor: pointer;
    box-sizing: border-box;
    background-size: 0px 1px, 100% 1px;
    color: rgb(46, 204, 113);
    background-image: linear-gradient(120deg, rgb(46, 204, 113) 0%, rgb(46, 204, 113) 100%), linear-gradient(120deg, rgb(204, 204, 204) 0%, rgb(204, 204, 204) 100%);
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: 0px 100%, 100% 100%;
    transition: background-size 0.2s ease-in-out 0s;
}


#widget-panel .section-input button{
    font-size: 18px;
    cursor: pointer;
    text-align: center;
    user-select: none;
    min-height: 56px;
    white-space: nowrap;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    background-color: rgb(46, 204, 113);
    color: white;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 2px, rgba(0, 0, 0, 0.14) 0px 0px 2px;
    width: 100%;
    -webkit-appearance: none !important;
    border-radius: 2px;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    outline: none;
    padding: 19px 32px;
    transition: all 200ms ease-in-out 0s;
}

.labels:focus label, .labels:hover label, .input-has-value {
    transform: translateY(-10px) !important;
}

input[type="checkbox"]:checked ~ span[role="checkbox"] {
   background-color: rgb(46, 204, 113) !important;
    border-color: rgb(46, 204, 113);
}
input[type="checkbox"]:checked ~ span[role="checkbox"]::after {
    display: block;
}

.img2 {
    float: left;
    width: 50%;
    right: 0;
    position: absolute;
    max-height: 200px;
    top: 10%;
}
span[role="checkbox"]::after {
    content: "";
    position: absolute;
    display: none;
    left: 5px;
    width: 6px;
    height: 11px;
    transform: rotate(45deg);
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-image: initial;
    border-width: 0px 2px 2px 0px;
}

