@import url('extras.css');
@import url('forms.css');

/*---------------------------------------------*\
                   
\*---------------------------------------------*/

* { margin:0; padding:0; font:13px/1.25 sans-serif; font-family: 'Merriweather Sans', sans-serif; font-weight:300; color:#ffffff; z-index:1; -webkit-text-size-adjust: none; }

*, *:before, *:after { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; box-sizing: border-box;  }

html, body { min-height:100%; height:100%; width:auto; }
html > body  {min-height:100%; height:100%; width:auto; }
html { }
body {background:#282828; }

h1,h2,h3,h4,h5,h6 {line-height:1em; color:#ffffff; padding:0;  margin-bottom:10px; text-align:left; letter-spacing: 2px; }
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {line-height:1em; font-size:inherit; color:inherit; font-family:inherit; }

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {line-height:1em; background:none }

h1 {font-size:34px; }
h2 {font-size:30px; }
h3 {font-size:26px; }
h4 {font-size:22px; }
h5 {font-size:16px; }
h6 {font-size:14px; }

p {margin-bottom:15px; font-weight: 300; line-height: 2em; letter-spacing: 1px;}
a {text-decoration:none; color:#333; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;}
a:hover {color:#EC1338; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease;}
hr {height:1px; border:0; border-bottom:1px dotted #ccc; margin:10px 0;}
a:visited, a:link {outline:none;}
a img {border:0;}
p.err {color:red; margin-bottom:10px}

em {font-style:italic}

strong, strong *, * strong {font-weight:bold !important; }
input {margin:0; padding:0;}
form p { margin:0; padding:0;}

ul { list-style-position:inside; margin:0; padding:0; }
ol li { list-style-type: decimal; list-style-position: outside; margin-left:15px }

label {color:#fff;}
select {-webkit-appearance:none; }

.hide {display:none}
.err {color:#f12 !important; }
strong.err {font-size:inherit; padding:0;}
h3.err {font-size:30px; padding:0;}

input:focus, select:focus {color:#444; outline:none; }
select:-moz-focusring { color: transparent;   text-shadow: 0 0 0 #000; }

.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }
div.clear { clear:both; }

.parallax { min-height: 650px; background: transparent; background: transparent; background-repeat: no-repeat; background-size: cover; background-position: center; }
/* background setup */
.background {
    background-repeat:no-repeat;
    /* custom background-position */
    background-position:50% 50%;
    /* ie8- graceful degradation */
    background-position:50% 50%\9 !important;
}
.not-fullscreen { height:50%; }

button:focus {outline:0;}


/*---------------------------------------------*\
                   layout 
\*---------------------------------------------*/
/*

font-family: 'Playfair Display', serif;
font-family: 'Merriweather Sans', sans-serif;

*/


#wrapper { width:100%; }

.container{ width: 100%; max-width: 1500px; padding: 0 25px; margin: 0 auto; position: relative; }


#header{ position: fixed; z-index: 9999; top: 0; width: 100%; left: 0; padding-top: 30px; padding-bottom: 10px; background-color: transparent; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
#header .col{ float: left; width: 33.3333333%; }
#header .col.center{ text-align: center; }
#header .col.right{ text-align: right; }
#header .col.right a{ color: #ffffff; text-transform: uppercase; letter-spacing: 2px; border-bottom: 1px solid #ffffff; padding-bottom: 5px; font-style: italic; font-size: 10px; }
#header .col.right .email{ float: right; padding-top: 15px; }
#header .col.right .villadeste{ float: right; display: none; border-left: 1px solid #d4d4d4; }
#header #logo{ background: url(/i/logo-header.png) no-repeat; background-position-y: 0; width: 47px; height: 42px; display: block; margin: 0 auto; }
#header.fixed-top{ background-color: #ffffff; padding-top: 10px; }
#header.fixed-top #logo{ background: url(/i/logo.jpg) no-repeat; background-position-y: 0; width: 100%; margin-top: 12px; max-width: 304px; height: 75px; background-size: contain; }
#header.fixed-top .col.right .email{ padding-top: 35px; }
#header.fixed-top .col.right a{ color: #000000; }
#header.fixed-top .col.right .villadeste{ display: block; margin-left: 20px; }

#header .menu-bar{ display: none; }
#header .header-bar{ display: block; }
#header.menu-open .menu-bar{ display: block; }
#header.menu-open .header-bar{ display: none; }

#header #lang ul{ list-style: none; float: right; margin-top: 25px; }
#header #lang ul li{ float: left; margin: 0 3px; padding: 3px; }
#header #lang ul li a{ text-transform: uppercase; text-decoration: none; font-style: normal; font-size: 14px;}


#menu{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; background-color: #ffffff; overflow: auto; }
#menu #menu-content{ width: 100%; }
#menu #menu-content ul{ list-style: none; padding-top: 10%;}
#menu #menu-content ul li{ padding: 5px 5px 30px 5px; width: 100%; text-align: center; }
#menu #menu-content ul li a{ color: #34a19c; font-weight: 400; font-size: 24px; font-style: italic; font-family: 'Playfair Display', serif; }
#menu #menu-content ul li.active a, #menu #menu-content ul li a:hover{ color: #000000; }
#menu #menu-content ul li.menu_voice{ display: none; }
#menu.fixed-top #menu-content ul li.menu_voice{ display: block; }
#menu #menu-content ul li.menu_voice.lang{ display: block; float: right; }
#menu #menu-content ul li.menu_voice.lang a:first-child:after{ content: " | "; color: #ffffff; font-weight: 100; }
#menu #menu-content ul li.menu_voice.lang a.active{ font-weight: bold; }

#menu #menu-content ul.level_2{ display: none; padding-top: 15px; }
#menu #menu-content ul li.active ul.level_2{ display: block; }
#menu #menu-content ul.level_2 li{ padding: 5px; }
#menu #menu-content ul.level_2 li a{ font-size: 18px; color: #454441; }
#menu #menu-content ul.level_2 li.active a, #menu #menu-content ul.level_2 li a:hover{ color: #ceac5e; }

#menu #menu-content .submenu{ text-align: center; margin-top: 50px; }

.hamburger{ padding: 10px; text-align: center; }
#header.fixed-top .hamburger{ padding-top: 35px; }
.hamburger-box { left: 4px; }
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before{ height: 2px; }
.hamburger-inner, .hamburger-inner:after { width: 32px; }
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before { background-color: #ffffff; }
.hamburger.grey .hamburger-inner, .hamburger.grey .hamburger-inner:after, .hamburger.grey .hamburger-inner:before { background-color: #666666; }
.hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before { background-color: #666666; width: 100%; left: 0; }
.hamburger.is-active .hamburger-inner, .hamburger.is-active.grey .hamburger-inner{ background-color: transparent; }
.hamburger-inner:before { left: -4px; }
.hamburger p{ margin: 0; color: #ffffff; font-family: 'Merriweather Sans', sans-serif; font-weight: bold; font-size: 14px; }
.hamburger.grey p, .hamburger.is-active p{ color: #666666; }
.hamburger p.close{ display: none; }




#header-slider-single{ position: relative; background-position: center; background-size: cover; min-height: 480px; z-index: 1; min-height: 100vh; }
#header-slider-single.small-header{ height: 550px; }
#header-slider-single .layer-hover{ display: none; position: absolute; z-index: 5; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); }
#header-slider-single .main-logo { position: absolute; left: 50%; margin-left: -101px; top: 33%; }
#header-slider-single .main-title{ position: relative; padding-top: 15%; width: 100%; text-align: center; padding-bottom: 195px; }
#header-slider-single .main-title .img-logo{ display: inline-block; }
#header-slider-single .main-title .img-logo img{ padding: 0 15px; }
#header-slider-single .main-title .img-logo:before, #header-slider-single .main-title .img-logo:after{ content: " "; display: block; margin-top: 85px; height: 1px; width: 150px; background-color: rgba(255,255,255,0.8);  }
#header-slider-single .main-title .img-logo:before{ float: left; } 
#header-slider-single .main-title .img-logo:after{ float: right; }
#header-slider-single .main-title h1{ text-align: center; color: #ffffff; font-weight: 300; margin: 20px 0; font-size: 70px; letter-spacing: 3px; font-family: 'Playfair Display', serif; }
#header-slider-single .main-title p{ text-align: center; color: #ffffff; margin: 15px 0 0 0; font-size: 14px; font-weight: 300; letter-spacing: 3px; text-transform: uppercase; line-height: 1.7em; }

#header-slider-single.home-slider .main-title p{font-family: 'Playfair Display', serif; font-weight: lighter; }

#header-slider-single.default .main-title h1{ margin-bottom: 40px; }
#header-slider-single.default .main-title p{ text-transform: none; max-width: 900px; margin: auto; font-weight: 300; }
#header-slider-single .main-title .logo-villadeste{ margin-top: 5%; }

#header-slider-single .main-title div.line-bottom { display: block; margin: 0 auto; width: 435px; }
#header-slider-single .main-title div.line-bottom:before, #header-slider-single .main-title div.line-bottom:after{ content: " "; display: block; width: 200px; height: 1px; background-color: rgba(255,255,255,0.8); margin-top: 8px; }
#header-slider-single .main-title div.line-bottom:before{ float: left; } 
#header-slider-single .main-title div.line-bottom:after{ float: right; }



#footer{ background-color: #ececec; padding: 60px 0 30px 0; }
#footer .col{ float: left; }
#footer .col.col-1{ width: 30%; text-align: left; }
#footer .col.col-2{ width: 40%; text-align: center; }
#footer .col.col-3{ width: 30%; text-align: right; }

#footer .col p, #footer .col p b, #footer .col p strong{ color: #243d3b; font-size: 14px; }
#footer .col p b, #footer .col p strong{ font-size: 16px; }
#footer .col p a{ color: #337471; text-decoration: underline; font-weight: bold; }

#footer #footer-data{ margin-top: 20px; }
#footer #footer-data p{ text-align: center; color: #243d3b; }

#footer #credits{ text-align: center; padding-top: 30px; }





.btn-container{ padding: 50px; }
.btn-container a.btn-lnk{ display: inline-block; text-align: center; position: relative; font-family: 'Merriweather Sans', sans-serif; cursor: pointer; background: transparent; font-weight: 400; color: #7accc8; border: 1px solid #7accc8; text-transform: uppercase; font-size: 12px;letter-spacing: 4px; padding: 15px 80px; }
.btn-container a.btn-lnk span.outer-line{ color: #7accc8; border: 1px solid #7accc8; position: absolute; width: 90%; height: 180%; top: -40%; left: 5%; z-index: -1; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
.btn-container a.btn-lnk:hover, .btn-container a.btn-lnk.active, .btn-container a.btn-lnk:hover span.outer-line, .btn-container a.btn-lnk.active span.outer-line{ color: #ffffff; border-color: #ffffff; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }


.section span.v-divider{ height: 250px; width: 1px; background: #ffffff; display: block; position: absolute; left: 50%; top: -125px; z-index: 10; }

.section{ position: relative; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; background-position: center; }
.section.row{ text-align: center; padding: 200px 0px; }
.section.row h3{ text-align: center; color: #34a19c; font-family: 'Playfair Display', serif; font-style: italic; font-size: 22px; }
.section.row h2{ text-align: center; text-transform: uppercase; font-size: 20px; margin-top: 25px; font-weight: 400; line-height: 1.7em; letter-spacing: 4px; }
.section.row article{ margin: 50px auto 25px auto; display: inline-block; overflow: hidden; max-width: 1200px; }
.section.row article .col-article{ float: left; width: 50%; padding: 0 50px; text-align: left; }
.section.row article p a{ color: #34a19c; font-weight: bold; text-decoration: underline; font-size: 18px; letter-spacing: 2px; }

.section.row article ul{ list-style-position: outside; list-style: none; margin: 30px 0; }
.section.row article ul li:before{ content: "- "; color: #4bd9d2; position: absolute; left: 0; top: 0;}
.section.row article ul li{ color: #4bd9d2; margin-bottom: 10px; position: relative; padding-left: 10px; }

.section.alternated{ background-color: #7accc8; }
.section.row.alternated h3{ color: #242424; }
.section.row.alternated article p a{ color: #34a19c; }

.section.row.alternated .btn-container a.btn-lnk{ color: #242424; border-color: #242424; }
.section.row.alternated .btn-container a.btn-lnk span.outer-line{ color: #242424; border-color: #242424; }
.section.row.alternated .btn-container a.btn-lnk:hover, .section.row.alternated .btn-container a.btn-lnk.active, .section.row.alternated .btn-container a.btn-lnk:hover span.outer-line, .section.row.alternated .btn-container a.btn-lnk.active span.outer-line{ color: #ffffff; border-color: #ffffff; }



#auto-gallery .col-img{ float: left; width: 70%; }
#auto-gallery .col-img img{ width: 100%; }
#auto-gallery .col-txt{ float: right; width: 30%; padding: 10% 25px 25px 25px; text-align: right; }
#auto-gallery .col-txt h1{ font-weight: bold; text-align: right; margin-bottom: 30px; }
#auto-gallery .col-txt a.box-contact{ display: inline-block; text-align: center; padding: 15px 25px; color: #282828; background-color: #7accc8; font-weight: bold; text-transform: uppercase; }
#auto-gallery.owl-theme .owl-nav{ position: absolute; right: 25px; top: 50%; }
#auto-gallery.owl-theme .owl-nav [class*=owl-] { padding: 4px 7px; background: url(/i/nav-arrows.png); display: inline-block; cursor: pointer; border-radius: 0; width: 57px; height: 15px;  background-repeat: no-repeat; }
#auto-gallery.owl-carousel .owl-nav .owl-next{ background-position-x: -156px; }
#auto-gallery.owl-carousel .owl-nav .owl-prev{ background-position-x: 0px; margin-right: 80px; }

.gallery-default{ position: relative; }
.gallery-default .txt-title{ width: 100%; position: absolute; z-index: 10; bottom: 140px; }
.gallery-default .txt-title h5{ text-align: center; padding: 25px; }

.gallery-default.owl-theme .owl-dots{ position: absolute; bottom: 135px; width: 100%; }

.gallery-default.owl-theme .owl-dots .owl-dot span, .gallery-default.owl-theme .owl-dots .owl-dot span{ background: #ffffff; }
.gallery-default.owl-theme .owl-dots .owl-dot.active span, .gallery-default.owl-theme .owl-dots .owl-dot:hover span{ background: transparent; border: 1px solid #ffffff; }



#auto-container{ margin-top: 100px; }
#auto-container .col-auto{ float: left; width: 50%; text-align: center; padding: 50px 50px 100px 50px; }
#auto-container .col-auto img{ width: 100%; }
#auto-container .col-auto h1{ font-weight: bold; text-align: center; margin-bottom: 30px; font-size: 25px; }

.whatsapp {
  position: fixed;
  right: 15px;
  bottom: 48px;
  z-index: 8;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease-in-out;
}

.whatsapp img {
    width: 50px;
    height: 50px;
}

.whatsapp:hover {
    opacity: 0.7;
}
