html 
{
    font-size: 62.5%;
}

body 
{
    font-family: 'Montserrat', sans-serif;
}

.central 
{
    max-width: 116.5rem;
    padding: 0 1.0rem; 
    margin: 0 auto;   
}

a
{
    text-decoration: none;
}

header
{
}
#header_top
{
    background-color: #20A637;
    position: relative;
    z-index: 10;
    overflow: hidden;
    transition: 0.5s ease-in-out;
    height: 5rem;
}

#header_top .central
{
    display: flex;
    justify-content: space-between;
    padding: 1.45rem 1.0rem;
}
#header_top .central #header_contact
{
    display: flex;
    align-items: center;
}
#header_top .central #header_contact ul
{
    display: flex;
}
#header_top .central #header_contact ul li:first-child
{
    margin-right: 3rem;
}
#header_top .central #header_contact ul li a
{
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
}
#header_top .central #header_contact ul li a span
{
    margin-left: 1rem;
}
#header_top .central #header_links
{
    display: flex;
    align-items: center;
}
#header_top .central #header_links ul
{
    display: flex;
}
#header_top .central #header_links ul li a
{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    color: #fff;
}
#header_top .central #header_links ul li:nth-child(n+2)
{
    margin-left: 2rem;
}
#header
{
    position: relative;
    z-index: 15;
    background: rgba(0,0,0,0.4);
    padding-bottom: 1rem;
}
header.fixed #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 15;
    background: unset;
    background-color: #20A637;
    animation: header-fixed 0.9s;
    box-shadow: 0px 4px 11px 0px rgba(0,0,0,0.19);
}
header.internal.fixed #header{
    background-color: #177DB7;
}
header.fixed #header .social_medias{
    display: none;
}
header.fixed #header .central #header_right{
    justify-content: center;
}
#header .central
{
    padding-top: 1.1rem;
    display: flex;
    justify-content: space-between;
}
#header .central #header_left
{
    padding-top: 0;
    position: relative;
    z-index: 10;
}
#header .central #header_left img
{
    max-width: 24rem;
    width: 100%;
}
#header .central #header_right
{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
}

.social_medias
{
    display: flex;
}
.social_medias li svg
{
    max-width: 2.4rem;
    max-height: 2.1rem;
}
.social_medias li:nth-child(n+2)
{
    margin-left: 2.7rem;
}
.social_medias #header_search 
{
    position: relative;
    display: flex;
    min-width: 2.1rem;
}
.social_medias #header_search #seach_field
{
    overflow: hidden;
    width: 0;
    transition: 1s cubic-bezier(0.23, 1, 0.320, 1);
    padding: 0.5rem;
    font-size: 1rem;
    color: #757575;
}
.social_medias #header_search #seach_field.active
{
    width: 30rem;
    background-color: #fff;
}
.social_medias #header_search #seach_field.active + #search_button
{
    padding: 0.4rem;
}
.social_medias #header_search #seach_field.active + #search_button svg
{
    width: 1.5rem;
    height: 1.5rem;
}
.social_medias #header_search #seach_field.active + #search_button svg *
{
    fill: #177db7;
}
.social_medias #header_search button
{
    outline: none;
    cursor: pointer;
    position: absolute;
    right: 0;
}

.social_medias #header_search svg
{
    max-width: 2.1rem;
    max-height: 2.1rem;
}
#header .central #header_right #site_menu .social_medias.responsive
{
    width: 100%;
    display: none;
    margin-top: 2rem;
    justify-content: center;
}
#header .central #header_right #site_menu .social_medias.responsive li
{
    margin: 1.5rem;
}
#header .central #header_right #site_menu
{
    display: flex;
    padding-top: 1.8rem;
    align-items: center;
}
#header .central #header_right #site_menu ul
{
    display: flex;
}
#header .central #header_right #site_menu ul li:nth-child(n+2)
{
    margin-left: 1.5rem;
}
#header .central #header_right #site_menu ul li{
    position: relative;
}
#header .central #header_right #site_menu ul .mn_auto{
    display: none;
}
#header .central #header_right #site_menu ul li a
{
    color: #fff;
    font-size: 1.6rem;
    line-height: 2.0rem;
    font-weight: 500;
}
#header .central #header_right #site_menu ul li ul{
    display: none;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    background: rgba(0,0,0,0.4);
    flex-direction: column;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    width: 9.5rem;
}
#header .central #header_right #site_menu ul li ul li a{
    color: #FFFFFF;
    font-size: 1.1rem;
    line-height: 1.3rem;
    transition: all 0.3s linear;
}
#header .central #header_right #site_menu ul li ul li a:hover{
    color: #000000;
}
#header .central #header_right #site_menu ul li ul li{
    padding: 0.5rem;
}
#header .central #header_right #site_menu ul li ul li:nth-child(n + 2){
    margin-left: 0;
}
#header .central #header_right #site_menu ul li:hover ul{
    display: flex;
}
#header .central #header_right #site_menu .require_budget,
header.internal.fixed #header #header_right #site_menu .require_budget
{
    padding: 1rem 1.7rem;
    background-color: #20A637;
    margin-left: 2.4rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.0rem;
    color: #fff;
}
header.fixed #header #header_right #site_menu .require_budget{
    background-color: #FFFFFF;
    color: #20A637;
}
#responsive_button
{
    margin-right: 1rem;
    display: none;
    z-index: 1000;
    position: relative;
    height: 4rem;
    width: 4rem;
}
#responsive_button input
{
    display: block;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
#responsive_button label
{
    width: 100%;
    height: 0.5rem;
    background-color: #fff;
    position: absolute;
    cursor: pointer;
    border-radius: 0.5rem;
    right: 0;
    top: 50%;
    transition: all cubic-bezier(0.215, 0.610, 0.355, 1) 0.35s;
}
#responsive_button label::before,
#responsive_button label::after
{
    display: block;
    content: '';
    width: 100%;
    height: 0.5rem;
    border-radius: 0.5rem;
    background-color: #fff;
    position: absolute;
    cursor: pointer;
    transition: all cubic-bezier(0.215, 0.610, 0.355, 1) 0.75s;
}
#responsive_button label::before
{
    right: 0;
    top: 1.5rem;
}
#responsive_button label::after
{
    right: 0;
    top: -1.5rem;
}
#responsive_button input:checked ~ label::before
{
    background-color: #fff;
    transform: rotateZ(45deg);
    top: 50%;
}
#responsive_button input:checked ~ label::after
{
    background-color: #fff;
    transform: rotateZ(-45deg);
    top: 50%;
}
#responsive_button input:checked ~ label
{
    background-color: transparent;
}
.see_more
{
    font-size: 2rem;
    line-height: 2.4rem;
    font-weight: 600;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}
.see_more i
{
    margin-left: 1rem;
}

#whatsapp_call
{
    display: block;
    width: 5rem;
    height: 5rem;
    background-image: url(../img/ico/whatsapp_contact.svg);
    background-size: cover;
    position: fixed;
    z-index: 1000;
    bottom: 3rem;
    right: 3rem;
}


#budget_section
{
    position: relative;
    padding-bottom: 5rem;
    background-color: #FBFBFB;
    padding-top: 2.6rem;
}
#budget_section.budget_gray
{
    padding-top: 7rem;
    background-color: #F3F3F3;
}
#budget_section .central
{
    display: flex;
    align-items: center;
    max-width: 109rem;
}
#budget_section .section_left
{
    width: 50%;
}
#budget_section .section_right
{
    width: 30%;
    padding-left: 4.3rem;
    padding-bottom: 1rem;
}
#budget_section .section_left img
{
    width: 100%;
    margin-top: -2.6rem;
}
#budget_section .section_right span
{
    color: #177DB7;
    position: relative;
    font-size: 4.1rem;
    line-height: 5.0rem;
    text-transform: uppercase;
    font-weight: 900;
    padding-bottom: 2rem;
}
#budget_section .section_right span:after
{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 15rem;
    height: 0.4rem;
    background-color: #06CAFC;
}
#budget_section .section_right p
{
    color: #5F6161;
    margin-top: 3.2rem;
}
#budget_section .section_right .see_more
{
    color: #177DB7;
    margin-top: 1.4rem;
}
#budget_section .section_right .see_more i svg *
{
    stroke: #177DB7;  
}
#footer_newsletter
{
    margin-top: -5.3rem;
    margin-bottom: -6.6rem;
    position: relative;
}

#footer_newsletter .central
{
   max-width: 107.0rem; 
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 2.0rem 5.0rem;
   background-color: #20A637;
}
#footer_newsletter .nl_msg_error
{
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 600;
    color: #fff;
    flex: 1;
}
#footer_newsletter .nl_msg_success
{
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 600;
    color: #fff;
    flex: 1;
}
#footer_newsletter .newsletter_description
{
    max-width: 30rem;
}
#footer_newsletter .newsletter_description span
{
    color: #fff;
    font-size: 2.5rem;
    line-height: 3.2rem;
    font-weight: 900;
    text-transform: uppercase;
}
#footer_newsletter .newsletter_description p
{
    font-family: 'Roboto', sans-serif;
    color: #fff;
    font-size: 1.6rem;
    line-height: 2.1rem;
    margin-top: 0.5rem;
}
#footer_newsletter .newsletter_form
{
    flex: 1;
    padding-left: 6.3rem;
}
#footer_newsletter .newsletter_form .input_row
{
   display: flex;
}
#footer_newsletter .newsletter_form form
{
    padding-left: 6.3rem;
    display: flex;
    flex-direction: column;
}

#footer_newsletter .newsletter_form input[type='text'],
#footer_newsletter .newsletter_form input[type='email']
{
    border-bottom: 1px solid #095316;
    padding: 0.8rem;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 500;
    width: 47%;
}
#footer_newsletter .newsletter_form input[type='text'].fd_error,
#footer_newsletter .newsletter_form input[type='email'].fd_error
{
    border-bottom: 1px solid #f24f00;
}
#footer_newsletter .newsletter_form input::placeholder
{
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 500;
}
#footer_newsletter .newsletter_form input[type='email']
{
    margin-left: 6%;
}
#footer_newsletter .newsletter_form .submit_row
{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#footer_newsletter .newsletter_form .submit_row input
{
    padding: 1rem 3.5rem 1rem 2rem;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.8rem;
    font-weight: 600;
    background-image: url(../img/ico/submit.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: 2.5rem;
    cursor: pointer;
}

#footer
{
    background-color: #177DB7;
    padding-top: 6.6rem;
}

#footer .central
{
    display: flex;
    flex-direction: column;
    max-width: 101rem;
}
#footer #footer_top
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 2.6rem;
}
#footer #footer_bottom
{
    margin-top: 2.8rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: 3.0rem;
}
#footer #footer_bottom #footer_info
{
    display: flex;
}
#footer #footer_bottom #footer_info .info_block
{
    display: flex;
}
#footer #footer_bottom #footer_info .info_block a
{
    display: flex;
    flex-direction: column;
    padding-left: 1.2rem;
}
#footer #footer_bottom #footer_info .info_block i
{
    height: 2.6rem;
}
#footer #footer_bottom #footer_info .info_block a
{
    font-size: 1.4rem;
    line-height: 1.8rem;
    color: #fff;
    font-weight: 500;
}
#footer #footer_bottom #footer_info #footer_contact 
{
    padding-left: 4.0rem;
}
#footer #footer_bottom #footer_info #footer_contact .info_block
{
    align-items: center;
}
#footer #footer_bottom #footer_info #footer_contact .info_block:nth-child(2)
{
    margin-top: 1.2rem;
}
#footer #footer_bottom #footer_sitemap
{
    display: flex;
}
#footer #footer_bottom #footer_sitemap ul
{
    display: flex;
    flex-direction: column;
}
#footer #footer_bottom #footer_sitemap ul:last-child
{
    margin-left: 4.0rem;
}
#footer #footer_bottom #footer_sitemap ul li a
{
    color: #fff;
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 800;
    text-transform: uppercase;
}
#credits
{
    background-color: #177DB7;
    font-size: 1.2rem;
    line-height: 1.8rem;
    color: #fff;
    width: 100%;
}
#credits .central
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #185171;
    padding: 1.2rem 1.0rem 3.0rem;
    max-width: 125rem;
}
#credits #credits_left
{
    display: flex;
    flex-direction: column;
}
#credits #credits_left a
{
    color: #fff;
}
#credits #credits_right a
{
    display: flex;
    flex-direction: row;
    align-items: center;
    color: #fff;
}
#credits #credits_right span
{
    margin-right: 1rem;
}

.cookieconsent
{
    position: fixed;
    background-color: #FFF;
    width: 93%;
    max-width: 140rem;
    left: 50%;
    bottom: 2.5rem;
    transform: translateX(-50%);

    bottom: 1rem;
    padding: 2rem 3rem;
    margin: 0 auto;

    font-size: 1.45rem;
    line-height: 1.2;

    z-index: 2001;
    box-shadow: #00000055 0px 0px 6px 3px;
    border-radius: 0.3rem;  

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cookieconsent a
{
    text-decoration: underline;
    color: unset;
}

.cookieconsent a.continue
{
    padding: 1rem 2rem;
    background-color: #20A637;
    color: #FFF;
    border-radius: 0.3rem;
    font-size: 1.45rem;
    cursor: pointer;
    text-decoration: none;
}

span.title_cookies
{
    color: #20A637;
    font-weight: 600;
    line-height: 1.4;
}
 .grecaptcha-badge {
  width: 70px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  left: 4px !important;
}
.grecaptcha-badge:hover {
  width: 256px !important;
}

#stamps{
    width: 100%;
    height: 100%;
    background-color: #177DB7;
}
#company_internal #stamps{
    background-color: unset;
}
#company_internal #stamps ul{
    padding-bottom: 8rem;
    justify-content: center;
}
#stamps ul{
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    padding-bottom: 3rem;
}
#stamps ul li{
    width: 15rem;
    height: 14rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}