/******************************************************************
 RESET CSS - Normalize
******************************************************************/



body, img, p, h1, h2, h3, h4, h5, fieldset { font-family: 'Titillium Web', sans-serif; margin: 0; padding: 0; border: 0; resize: none;  }
html.no-scroll { overflow-y: hidden!important; }
a, a:hover, a:visited, a:focus { text-decoration: none !important; }
input[type=submit] { cursor: pointer; }
*:focus { outline: none; }
::selection { background: #075e4d; color: #fafafa; }
::-moz-selection { background: #075e4d; color: #fafafa; }
._v-align { display: inline-block; vertical-align: middle; line-height: normal; }
.relative { position: relative; }
.unstyled { background: none; border: 0; box-shadow: none; list-style: none; margin: 0; padding: 0; line-height: normal; }
.uppercase { text-transform: uppercase; }


.btn-default, .btn-primary { background: #83af4a; font-family: 'Sardines  Custard'; font-size: 40px; color: white; 
                     line-height:45px; padding: 0px 30px 0px 30px; border-radius: 50px; border: 0px; margin-right:15px; margin-top:10px; }
.btn-default:hover, .btn-primary:hover { background: #ffffff; color: #83af4a;}
.btn-primary { float: right; margin: 0px 0px 0px 0px;}
.btn-primary:hover { border: solid 1px #83af4a; }
a:focus, a:visited { border: none; }

body .transition-regular { -moz-transition: all 1s; -o-transition: all 1s; -webkit-transition: all 1s; transition: all 1s; }
body .transition-fast { -moz-transition: all 0.5s; -o-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s; }
body .transition-very-fast { -moz-transition: all 0.2s; -o-transition: all 0.2s; -webkit-transition: all 0.2s; transition: all 0.2s; }


.cc-theme-edgeless { -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75); }
/******************************************************************
 START CSS - CUSTOMIZE
******************************************************************/

::-webkit-scrollbar {
    width: 10px;
}
 
::-webkit-scrollbar-track {
    background: #fff;
}
 
::-webkit-scrollbar-thumb {
    border-radius: 16px;
    background: #075e4d;
}

.content { margin-top: 95px; }



/************* NAVBAR **************/
.nav-item .cls-1 { fill: #31a68f !important; }
.navbar { padding-bottom: 0px; padding-top: 0px; background: #fff; position: fixed; top: 0px; z-index: 100; left: 0px; right: 0px; margin: auto; 
-webkit-box-shadow: 0px 1px 10px 0px rgba(0,0,0,0.35);
-moz-box-shadow: 0px 1px 10px 0px rgba(0,0,0,0.35);
box-shadow: 0px 1px 10px 0px rgba(0,0,0,0.35); }
.navbar-brand { margin-left: 20px; }
.logo { background-image: url('../img/logo_full.svg'); height: 80px; padding: 15px 0px; width: 420px; background-size: contain; background-repeat: no-repeat; background-position: center center; }
.nav-item { height: 95px; padding: 0px; }
.nav-item a { padding: 34px 15px !important; }
.nav-item a span { font-size: 16px; }
.nav-item a svg { fill: #31a68f !important;  }
.nav-item.active, .nav-item:hover { background: #31a68f; }
.nav-item.active a span, .nav-item:hover a span { color: #fff !important; }
.nav-item.active a svg .cls-1, .nav-item:hover a svg .cls-1 { fill: #fff !important; }
.nav-item.no-hover { background: #fff !important; }
.nav-item.no-hover a span { color: #31a68f !important; }
.nav-item.no-hover { fill: #31a68f !important; }


.menuicons { height: 26px; width: 26px; display: inline-block; vertical-align: middle; position: relative; }
.menuicons svg { height: 26px; width: 26px; top: 0; bottom: 0; margin: auto; position: absolute; }

.nav-item .flags { display: inline-block; padding-left: 3px !important; padding-right: 3px !important; margin-left: 10px; }
.ukflag { background-image: url('../img/ukflag.svg'); height: 20px; width: 20px; background-size: contain; background-repeat: no-repeat; background-position: center center; }
.portugalflag { background-image: url('../img/portugalflag.svg'); height: 20px; width: 20px; background-size: contain; background-repeat: no-repeat; background-position: center center; }
.portugalflag.active { height: 28px; width: 28px; }
.ukflag.active { height: 28px; width: 28px; }

.navbar-nav .nav-item a { font-size: 19px; }
.navbar-nav .nav-item a span { vertical-align: middle; line-height: 29px; color: #31a68f; margin-left: 3px; }



@media screen and (max-width: 1490px) {
    .nav-item a span { font-size: 16px; }
    .menuicons { height: 24px; width: 24px; }
    .menuicons svg { height: 24px; width: 24px; }
    .logo { width: 300px; }
}
@media screen and (max-width: 1300px) {
    .nav-item a span { font-size: 16px; }
    .menuicons { height: 22px; width: 22px; }
    .menuicons svg { height: 22px; width: 22px; }
    .logo { width: 200px; }
    .flags { margin-left: 2px !important; }
    .ukflag { width: 16px; }
    .ukflag.active { width: 22px; }
    .portugalflag { width: 16px; }
    .portugalflag.active { width: 22px; }
}
@media screen and (max-width: 1156px) {
    .nav-item a span { font-size: 14px; }
    .nav-item a { padding: 34px 10px !important; }
    .logo { width: 160px; }
}

@media screen and (max-width: 769px) {
    .navbar-toggler { border: none; color: #31a68f !important; }
    .navbar-toggler:focus { outline: none; }
    .content { margin-top: 60px; }
    ul.navbar-nav { text-align: center; }
    ul.navbar-nav li { height: 60px; }
    ul.navbar-nav .nav-item a { padding: 15px 10px !important; }
    .menuicons { margin-right: 10px; }
    .ukflag { width: 18px; }
    .ukflag.active { width: 26px; }
    .portugalflag { width: 18px; }
    .portugalflag.active { width: 26px; }    
}

/************* END OF NAVBAR *************/

/************* FOOTER ***************/

footer { padding: 45px 0px 35px; }
footer.normal { background-color: #075e4d; background-image: url('../img/footer.svg'); background-size: contain; background-repeat: no-repeat; background-position: bottom; margin-top: 10px; }

footer .footer-top ul { padding-left: 0px; color: #fff; font-size: 16px; margin-bottom: 30px; }
footer .footer-top ul li { margin-bottom: 10px; position: relative; height: 50px; }
footer .footer-top ul li.horario { height: 70px; }
footer .footer-top ul li .iconfooter { width: 30px; position: absolute; top: 0; bottom: 0; }
footer .footer-top ul li a { color: #fff; }
footer .footer-top ul li i { margin-right: 5px; display: inline-block; font-size: 24px; position: absolute; top: 5px; bottom: 0; margin: auto; left: 0; right: 0; width: 18px; }
footer .footer-top ul li .infofooter { display: inline-table; margin-left: 40px; }
footer .footer-top h4 { font-size: 24px; color: #fff; font-weight: 700; margin-bottom: 16px; }

footer .footer-bottom p { color: #fff; font-size: 18px; font-weight: 500; }
footer .footer-bottom p a { font-weight: 700; color: #fff; }

@media screen and (max-width: 769px) {
    footer .footer-top ul { font-size: 14px; }
    footer .footer-bottom p { font-size: 14px; }
}

/** CONTACTOS FOOTER **/

footer.contactos { background-color: #075e4d; position: relative; margin-top: 270px; }
footer.contactos::before { content: ""; background-image: url('../img/footercontactos.svg'); background-repeat: no-repeat; background-size: contain; position: absolute; top: -298px; height: 300px; width: 100%; right: -176px; z-index: -1; }

/************* END OF FOOTER ***************/


/************** BANNER ****************/

.bannerimg { height: calc(100vh - 95px); width: 100%; background-position: center; background-size: cover; background-repeat: no-repeat; }
.banneroverlay { background-color: #029a80; opacity: 0.6; height: calc(100vh - 95px); width: 100%; position: absolute; top: 0; left: 0; right: 0; background-size: cover; }
h1.bannertitle { color: #fff; position: absolute; top: 0; bottom: 5vh; left: 0; right: 0; 
    height: 100px;
    height: fit-content; 
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: -ms-fit-content;
    height: -o-fit-content;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: -ms-fit-content;
    width: -o-fit-content;
    width: fit-content;     
    width: 800px;
    font-weight: 700; margin: auto;
    text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.7); max-width: 650px; font-size: 60px; 
    max-width: 100%;
}

@media screen and (max-width: 769px) {
    .bannerimg { height: calc(100vh - 60px); }
    .banneroverlay { height: calc(100vh - 60px); }
    h1.bannertitle { font-size: 30px; }
    h2 { font-size: 30px !important; }
}

/************ END OF BANNER **************/

/************** SEPARADOR ****************/

section.separador { position: relative; padding: 0px; }
.separadorimg { height: 300px; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center;}
.overlayseparador { background: #029a80; opacity: 0.6; position: absolute; left: 0; right: 0; margin: auto; height: 300px; width: 100%; }
h2.separadortext { position: absolute; left: 0; right: 0; top: 0; margin: auto; line-height: 300px; color: #fff; text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.7); }

@media screen and (max-width: 769px) {
    .separadorimg, .overlayseparador { height: 200px; }
    h2.separadortext { line-height: 30px; font-size: 25px !important; width: 90%; margin-top: 70px; }
}

/************ END OF SEPARADOR **************/



/************** INFORMATION FORM *****************/

.informationform { position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; background: #075e4d; z-index: 999; display: none; }
.informationform.active  { display: block; }

.informationform .exitinformationform { background-image: url('../img/exitinformationform.svg'); height: 50px; width: 50px; position: absolute; top: 30px; right: 30px; cursor: pointer; background-size: contain; background-repeat: no-repeat; background-position: center center; }

.informationform #contact_form { position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 700px; height: 400px; }
.informationform #contact_body { width: 100%; }
.informationform .form-control { background: none; border: 4px solid #fff; width: 100%; color: #fff; border-radius: 2px; }
.informationform .form-control::placeholder { color: #fff!important; font-weight: 500; }
.informationform .form-control:-ms-input-placeholder { color: #fff!important; font-weight: 500; }
.informationform .form-control::-ms-input-placeholder { color: #fff!important; font-weight: 500; }
.informationform .btn { color: #075e4d; font-weight: 700; padding: 8px 40px; }
.informationform #contact_results { color: #fff; }
.informationform h3 { color: #fff; font-size: 30px; margin-bottom: 30px; font-weight: 700; }
.informationform h3:before { content:''; background-image: url('../img/micro.svg'); position: absolute; height: 100px; width: 100px; top: -140px; left: 0; right: 0; margin: auto; background-size: contain; background-repeat: no-repeat; background-position: center; }

/* The container */
.informationform .checkcontain { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 18px; color: #fff; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.informationform .checkcontain a { font-weight: 700; color: #fff; }
/* Hide the browser's default checkbox */
.informationform .checkcontain input { position: absolute; opacity: 0; cursor: pointer; }

/* Create a custom checkbox */
.informationform .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #fff; border-radius: 2px; }

/* On mouse-over, add a grey background color */
.informationform .checkcontain:hover input ~ .checkmark { background-color: #ccc; }

/* When the checkbox is checked, add a blue background */
.informationform .checkcontain input:checked ~ .checkmark {
    background-color: #31a68f;
}

/* Create the checkmark/indicator (hidden when not checked) */
.informationform .checkmark:after { content: ""; position: absolute; display: none; }

/* Show the checkmark when checked */
.informationform .checkcontain input:checked ~ .checkmark:after { display: block; }

/* Style the checkmark/indicator */
.informationform .checkcontain .checkmark:after { left: 9px; top: 2px; width: 8px; height: 17px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media screen and (max-width: 1156px) {
    .informationform h3:before { height: 50px; top: -60px; }
}

@media screen and (max-width: 769px) {
    .informationform #contact_form { width: 95%; }
    .informationform h3 { font-size: 20px; margin-bottom: 14px; }
    .informationform #contact_body { margin: 0px; }
    .informationform .exitinformationform { height: 30px; width: 30px; top: 15px; right: 15px; }
}

/**************END OF INFORMATION FORM ********************/

/************* HOME CONTENT ***************/
section { padding: 60px 0px; }

.areasnegocioicon { background-image: url('../img/asidelogo-01.svg'); background-position: right; background-repeat: no-repeat; }
.iconareas { background-image: url('../img/areasnegociohome.svg'); height: 80px; width: 80px; margin: auto; background-size: contain; background-repeat: no-repeat; background-position: center center; }
h2 { margin: 20px 0px; font-size: 50px; color: #009380; font-weight: 700; }

.areasnegociohome .produtosimg { height: 200px; background-size: cover; }
.areasnegociohome .produtosoverlay { background-color: #029a80; opacity: 0.3; height: 200px; position: absolute; top: 0; left: 0; right: 0; background-size: cover; }
.areasnegociohome .produtostitle { color: #fff; text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.7); font-size: 20px; position: absolute; bottom: 10px; width: 90%; left: 0; right: 0; margin: auto; }

.owl-carousel-produtos .owl-nav { display: inline-block !important; }
.owl-carousel-produtos .owl-nav .owl-prev { position: absolute; top: 34%; left: -40px; outline: none; }
/*.owl-carousel-produtos .owl-nav .owl-prev::before { content: url('../img/prev.svg'); position: absolute; height: 20px; width: 20px; }*/
.owl-carousel-produtos .owl-nav .owl-prev .prev { background-image: url('../img/prev.svg'); height: 40px; width: 30px; background-size: contain; background-repeat: no-repeat; background-position: center center; }
.owl-carousel-produtos .owl-nav .owl-next { position: absolute; top: 34%; right: -40px; outline: none; }
/*.owl-carousel-produtos .owl-nav .owl-next::before { content: url('../img/next.svg'); position: absolute; height: 20px; width: 20px; }*/
.owl-carousel-produtos .owl-nav .owl-next .next { background-image: url('../img/next.svg'); height: 40px; width: 30px; background-size: contain; background-repeat: no-repeat; background-position: center center; }


.owl-carousel-produtos .item:hover .produtosoverlay { opacity: 0.9; }

.areasnegociohome .hoversection { position: absolute; top: 20px; left: 0; right: 0; margin: auto; width: 100%; opacity: 0; }
.areasnegociohome .hoversection p { font-size: 20px; color: #fff; text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.7); }
.areasnegociohome .hoversection .plusicon svg { height: 50px; width: 50px; cursor: pointer; }


.sectionabout { background-image: url('../img/backsection.svg'); background-position: left; background-repeat: no-repeat; background-color: #e1edeb; color: black; }
.sectionabout h2 { color: black; }
.sectionabout p { color: black; font-size: 20px; min-height: 260px; }

.parallax { position: relative; }
.parallaximg { background-image: url('../img/homeparallax.jpg'); background-attachment: fixed; height: 300px; }
.overlayparallax { background: #000; opacity: 0.3; position: absolute; left: 0; right: 0; margin: auto; height: 300px; width: 100%; }
h2.parallaxtext { position: absolute; left: 0; right: 0; top: 0; margin: auto; line-height: 300px; color: #fff; text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.7); }
section.ourcompany { color: black; font-size: 20px; min-height: 260px; }
section.ourcompany .btn { color: #075e4d; font-weight: 700; padding: 6px 40px; border: 4px solid #075e4d; border-radius: 2px; margin-top: 14px; }
section.ourcompany .btn:hover { color: #fff; font-weight: 700; padding: 6px 40px; border: 4px solid #075e4d; border-radius: 2px; background: #075e4d; }

section.ourcompany .aboutsvg { background-image: url('../img/about.svg'); background-size: contain; background-repeat: no-repeat; background-position: center; height: 100%; width: 100%; }

@media screen and (max-width: 769px) {
    section { padding: 20px 0px; }
    .owl-carousel-produtos .owl-nav .owl-prev { position: absolute; top: 34%; left: -20px; outline: none; }
    .owl-carousel-produtos .owl-nav .owl-prev .prev { height: 26px; width: 14px; }
    .owl-carousel-produtos .owl-nav .owl-next { position: absolute; top: 34%; right: -20px; outline: none; }
    .owl-carousel-produtos .owl-nav .owl-next .next { height: 26px; width: 14px; }
    .sectionabout { background-image: none; }
    .sectionabout p { font-size: 16px; }
    .parallaximg { height: 200px; }
    .overlayparallax { height: 200px; }
    h2.parallaxtext { line-height: 200px; }
    .ourcompany p { font-size: 16px; }
    .ourcompany { text-align: center; }
    .aboutsvg { display: none; }
    .ourcompany a.btn { float: none!important; }
}

/******************* PÁGINA EMPRESA *************************/

section.empresa p { font-size: 20px; }
.waterlogo { background-image: url('../img/logoicon_2.svg'); background-position: right center; background-repeat: no-repeat; height: 160px; -webkit-transform: rotate(-20deg); transform: rotate(-20deg); width: 100%; margin-bottom: 30px; margin-top: 15px;}

@media screen and (max-width: 769px) {
    section.empresa p { font-size: 16px; }
}

/****************** END OF PÁGINA EMPRESA **************************/


/****************** PÁGINA PRODUTOS **************************/

section.produtos .item { position: relative; margin-bottom: 30px; }
section.produtos .produtosimg { height: 200px; background-size: cover; }
section.produtos .produtosoverlay { background-color: #029a80; opacity: 0.3; height: 200px; position: absolute; top: 0; left: 0; right: 0; background-size: cover; }
section.produtos .item:hover .produtosoverlay { opacity: 0.9; }
section.produtos .produtostitle { color: #000; text-shadow: none; font-size: 20px; position: relative; width: 91%; margin: auto; margin-top: 10px; overflow: hidden; }

section.produtos .hoversection { position: absolute; top: 20px; left: 0; right: 0; margin: auto; width: 100%; opacity: 0; }
section.produtos .hoversection p { font-size: 20px; color: #fff; text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.7); }
section.produtos .hoversection .plusicon svg { height: 80px; width: 80px; cursor: pointer; }
.hoversection a svg { height: 80px; width: 80px; cursor: pointer; }

/****************** END OF PÁGINA PRODUTOS **************************/

/****************** QUALIDADE **************************/

section.qualidade p { font-size: 20px; }

.qualidade_img img{
    max-width: 100px;
    float: right;
}

@media screen and (max-width: 769px) {
    section.qualidade p { font-size: 16px; }
}
/****************** END OF PÁGINA QUALIDADE **************************/


/********************* PÁGINA RECRUTAMENTO **************************/

section.recrutamento .card-header { background: #009380; padding: 0px; height: 60px; border-radius: 2px !important; }
section.recrutamento .card-header button { color: #fff; font-weight: 600; width: 100%; text-align: left; line-height: 60px; padding-top: 0px; padding-bottom: 0px; }
section.recrutamento .card-header button:hover { color: #fff; text-decoration: none; }
section.recrutamento .card-header button:focus { color: #fff; text-decoration: none; }


section.recrutamento h4 { margin-bottom: 20px; }
section.recrutamento .recrutamentoform .form-control { background: none; border: 4px solid #009380; width: 100%; color: #009380; border-radius: 2px; margin-bottom: 10px; height: auto !important; }
.recrutamentoform .radios input[type=radio] { display: none; }
.recrutamentoform .radios .label { display: inline-block; position: relative; padding-left: 35px; margin: 0; font-size: 16px; margin-bottom: 15px; word-wrap: break-word; width: 100%; }
.recrutamentoform .radios label:before { position: absolute; display: block; top: 0; bottom: 0; left: 0; content: ''; width: 1.8em !important; height: 1.8em !important; background: #ccc; border-radius: 20px; }
.recrutamentoform .radios input[type=radio]:checked + label:before { content: "\2714"; color: #009380; text-align: center; line-height: 29px; }

.recrutamentoform .btn.uploadfile { background: #009380; width: 100%; position: relative; }
.recrutamentoform .reupload { opacity: 0; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

.recrutamentoform .form-control::placeholder { color: #009380!important; font-weight: 500; }
.recrutamentoform .form-control:-ms-input-placeholder { color: #009380!important; font-weight: 500; }
.recrutamentoform .form-control::-ms-input-placeholder { color: #009380!important; font-weight: 500; }
.recrutamentoform .btn { color: #fff; font-weight: 700; padding: 8px 40px; background: #075e4d; }

.recrutamentoform h3 { color: #009380; font-size: 30px; margin-bottom: 30px; font-weight: 700; }
.recrutamentoform h3:before { content:''; background-image: url('../img/micro.svg'); position: absolute; height: 100px; width: 100px; top: -140px; left: 0; right: 0; margin: auto; background-size: contain; background-repeat: no-repeat; background-position: center; }

/* The container */
.recrutamentoform .checkcontain { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 18px; color: #000; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.recrutamentoform .checkcontain a { font-weight: 700; color: #000; }
/* Hide the browser's default checkbox */
.recrutamentoform .checkcontain input { position: absolute; opacity: 0; cursor: pointer; }

/* Create a custom checkbox */
.recrutamentoform .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #ddd; border-radius: 2px; }

/* On mouse-over, add a grey background color */
.recrutamentoform .checkcontain:hover input ~ .checkmark { background-color: #ccc; }

/* When the checkbox is checked, add a blue background */
.recrutamentoform .checkcontain input:checked ~ .checkmark {
    background-color: #31a68f;
}

/* Create the checkmark/indicator (hidden when not checked) */
.recrutamentoform .checkmark:after { content: ""; position: absolute; display: none; }

/* Show the checkmark when checked */
.recrutamentoform .checkcontain input:checked ~ .checkmark:after { display: block; }

/* Style the checkmark/indicator */
.recrutamentoform .checkcontain .checkmark:after { left: 9px; top: 2px; width: 8px; height: 17px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media screen and (max-width: 769px) {
    section.recrutamento .card-header button { white-space: normal; line-height: 20px; height: 60px; }
    section.recrutamento .card-body { font-size: 14px; padding: 10px; }
    section.recrutamento h4 { margin-top: 30px; }    
}

/****************** END OF PÁGINA RECRUTAMENTO **************************/


/***********************PÁGINA CONTACTOS **************************/

.contacto h2 { color: black; }

.contacto .infodiv { position: relative; height: 60px; margin-bottom: 15px; }
.contacto .infoicon { display: inline-block; height: 35px; position: absolute; top: 0; bottom: 0; margin: auto; width: 40px; text-align: center; }
.contacto .infoicon i { font-size: 40px; color: #075e4d; }
.contacto .infodiv .info { font-size: 22px; color: #075e4d; display: inline-block; margin-left: 50px; }
.contacto .text-right .infodiv .info { font-size: 22px; color: #075e4d; display: inline-block; margin-right: 50px; }
.contacto .text-right .infoicon { right: 0; }
.contacto .infodiv .info a { color: #075e4d; }

.contacto .form-group { margin-bottom: 0px; }
.contacto .form-control { background: none; border: 4px solid #009380; width: 100%; color: #009380; border-radius: 2px; margin-bottom: 10px; height: auto !important; }
.contacto .form-control::placeholder { color: #009380!important; font-weight: 500; }
.contacto .form-control:-ms-input-placeholder { color: #009380!important; font-weight: 500; }
.contacto .form-control::-ms-input-placeholder { color: #009380!important; font-weight: 500; }
.contacto .btn { color: #fff; font-weight: 700; padding: 8px 40px; background: #075e4d; }

.contacto .horario{height: 100px;}
.contacto .horario h4{margin-left: 50px;}

/* The container */
.contacto .checkcontain { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 18px; color: #000; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.contacto .checkcontain a { font-weight: 700; color: #000; }
/* Hide the browser's default checkbox */
.contacto .checkcontain input { position: absolute; opacity: 0; cursor: pointer; }

/* Create a custom checkbox */
.contacto .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #ddd; border-radius: 2px; }

/* On mouse-over, add a grey background color */
.contacto .checkcontain:hover input ~ .checkmark { background-color: #ccc; }

/* When the checkbox is checked, add a blue background */
.contacto .checkcontain input:checked ~ .checkmark {
    background-color: #31a68f;
}

/* Create the checkmark/indicator (hidden when not checked) */
.contacto .checkmark:after { content: ""; position: absolute; display: none; }

/* Show the checkmark when checked */
.contacto .checkcontain input:checked ~ .checkmark:after { display: block; }

/* Style the checkmark/indicator */
.contacto .checkcontain .checkmark:after { left: 9px; top: 2px; width: 8px; height: 17px; border: solid white; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media screen and (max-width: 769px) {
    .contacto .infodiv { height: 45px; }
    .contacto .infodiv .info { font-size: 15px!important; margin-left: 35px; }  
    .contacto .infoicon { height: 25px; width: 30px; }
    .contacto .infoicon i { font-size: 30px; }
    footer.contactos:before { display: none; }
    footer.contactos { margin-top: 50px; }
    .contacto .horario {height: 100px;}
}

/****************** END OF PÁGINA CONTACTOS **************************/

.erro404 { background-image: url('../img/404.jpg'); background-size: contain; background-position: center; background-repeat: no-repeat; height: 800px; }

#map { width: 100%; height: 300px; }

.no-js #loader { display: none;  }
.js #loader { display: block; position: absolute; left: 100px; top: 0; }
.se-pre-con {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-color: #fff;
}
.se-pre-con .loader { background: url(../img/flask.gif) center no-repeat #fff; background-size: contain; width: 100px; height: auto; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

.waterlogo p{
    transform: rotate(20deg);
    opacity: 1;
}

.waterlogo{
    height: inherit;
}

.file{
    padding-left: 25px;
    margin-bottom: 15px;
    color: #31a68f;
    text-decoration: none;
}

.file:hover{
    color: #31a68f;
    text-decoration: underline !important;
}

.produto_linha{
    margin-bottom: 15px;
    border-bottom: solid 1px #31a68f;
    padding-bottom: 10px;
    background-color: #f5f5f5;
}

.produto_linha .col-sm-7{
    padding-top: 8px;
}
    