/*
	Theme Name: Villa Dafne
	Theme URI: https://www.bedandbreakfastbarivilladafne.com/
	Description: 
	Version: 1.0.0
	Author: Dhynet (@dhynet)
	Author URI: https://www.dhynet.com
	Tags: 

	License: 
	License URI: 
*/

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

/* global box-sizing */
*, *:after, *:before { -moz-box-sizing:border-box; box-sizing:border-box; -webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}


/* clear */
.clear:before, .clear:after {content:' '; display:table;}
.clear:after {clear:both;}
.clear {*zoom:1;}
img {max-width:100%; vertical-align: middle;}


html, body {width:100%; margin:0; padding:0; -ms-overflow-style: none; scrollbar-width: none;}
html::-webkit-scrollbar, body::-webkit-scrollbar {display: none;}
html {scroll-behavior: smooth; overflow-x: hidden;}
body { 
	
	background:var(--background);  
	color:var(--main-text);
	font-size:1rem; /* 16px default */
	line-height: 1.5; /* 1.5 volte font-size corrente =  24px */
	font-family: "Poppins", sans-serif;

}

a {color:#000003; text-decoration:none; transition: 0.3s ease;}
a:hover {color:#444; transition: 0.3s ease;}
a:focus {outline:0;}
a:hover, a:active {outline:0;}
input:focus {outline:0; border:1px solid #04A4CC;}


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

main {width:100%; margin:0; padding:0;}

/* wrapper */
.wrapper 		{width: min(98%, 1024px); margin:0 auto;}
.wrapper-big 	{width: min(98%, 1480px); margin:0 auto;}
.wrapper-medium {width: min(98%, 1280px); margin:0 auto;}
.wrapper-small 	{width: min(98%,  960px); margin:0 auto;}



/* header */
.header {position:fixed; background:var(--alt-color); width:100%; top:0; left:0; margin:0; padding:0; z-index:99;}
.inner-header {display:flex; flex-direction: column; align-items: center;}

.top-head {width:100%; display:flex; justify-content: space-between; gap:1rem; margin:0.5rem 0;}

.logo {width:6rem; margin:0; border-radius:50%; /*border:1px solid var(--alt-color-light);*/}
.logo-img {width:100%; height:auto;}


/* nav */
.nav {position:relative; margin:0; padding:1rem;}
.nav ul {position:relative; margin:0 auto; padding:0; list-style:none; display:flex; justify-content: center; gap:2vw;}
.nav ul li {margin:0; padding:0;}
.nav ul li a {color: white; text-decoration: none; padding: 10px 14px; position: relative; z-index:2; transition: opacity 0.3s ease;}
.nav ul li a:hover {opacity:0.6;}
.nav ul li a.active {color: #fff;}

.nav-indicator {position: absolute; top: 50%; transform: translateY(-50%); left: 0; height: 100%; width: 0;
  
	background: var(--main-color);
	border-radius: 10px;
  
	transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 1;
}






  

/* Hamburgher Menù */
*{-webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; /* For some Androids */}

.mobilenav-hidden {overflow:hidden;}

.top-animate {background: #fff !important; top: 13px !important; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.mid-animate {opacity: 0;}
.bottom-animate {background: #fff !important; top: 13px !important; -webkit-transform: rotate(-225deg); transform: rotate(-225deg);}

.top-menu {top: 5px; width: 30px; height: 3px; border-radius: 0px; background-color: #fff;}
.mid-menu {top: 13px; width: 30px; height: 3px; border-radius: 0px; background-color: #fff;}
.bottom-menu {top: 21px; width: 30px; height: 3px; border-radius: 0px; background-color: #fff;}


.icon {display:none; width:30px; height:30px; padding:0; margin:0;}
.menui {background: #fff; position: absolute; z-index: 99999; transition: 0.6s ease; transition-timing-function: cubic-bezier(.75, 0, .29, 1.01);}
.hamburger {position:relative; display:block; left:0px; top:0px;}

.mobilenav {display:none; position:fixed; top: 170px; left:0; z-index: 9; width:100%;}
.mobilenav .mobilenav-inner {position:relative; width:100%; height:auto; padding:1rem; margin:0; background:var(--alt-color);}
.mobilenav ul {margin:0; padding:0; list-style:none; text-align:center; font-size:1.25rem;}
.mobilenav li {padding:0.5rem; margin:0;}
.mobilenav li a {color:white;}
.mobilenav li a:hover {opacity: 0.4;}
.mobilenav li a.selected {color:#ed253c;}

.book-now, .get-in-touch {width:25%;}
.get-in-touch {display:flex; gap:1.5vw; padding:0.5rem 2rem; align-items: flex-start;}
.get-in-touch a svg {fill:white; width:1.4rem; height:auto;}
.get-in-touch a:hover svg {opacity:0.6;}
.book-now {text-align:right;}
/*.book-now a {display:inline-block; color:white; padding:0.5rem 2rem; text-transform: uppercase; background:var(--main-color); border-radius:50px;}
.book-now a:hover {background:var(--alt-color);}*/




/* footer */
.footer {background:var(--main-color); color:white; text-align:center; padding:72px 18px;}
.footer a {color:var(--second-color);}
.footer .logo-img {width:120px; height:auto; margin-bottom:24px;}

.colophon {padding-block:24px;}

[id] {scroll-margin-top: 190px;} 

#backToTop {position: fixed; right: 24px; bottom: 90px; width: 48px; height: 48px; border: none; border-radius: 4px; background: var(--text-color); color: white;
	font-size: 1rem;
	font-weight:bold;
	cursor: pointer;
	z-index:9999;
  
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }
  
#backToTop.show {opacity: 1; visibility: visible; transform: translateY(0);}




.booking--desktop {position:fixed; bottom:0; left:0; z-index:9999; width:100%; padding-block:8px; background: #e5ffff; color:var(--text-color);}

#booking-form form {position:relative; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-content: stretch; align-items: center;
	/*-webkit-box-shadow: 0px 0px 22px 0px rgba(0,0,0,0.16);
    -moz-box-shadow: 0px 0px 22px 0px rgba(0,0,0,0.16);
    box-shadow: 0px 0px 22px 0px rgba(0,0,0,0.16);*/
}

#ITH_dtCheckIn_div, #ITH_dtCheckOut_div, #ITH_Pax_div {margin:0 0.3vw;}

#booking-form label {float:left; display:inline-block; margin:0; color:black; font-size:16px; line-height:35px; padding: 0 1vw 0 2vw;}

#booking-form input[type='text'] {
	float:left;
	width:140px;
	border:1px solid #666;
    font-size:16px;
    line-height:33px;
	color:#000;
    text-align:center;
}



#booking-form select {
	width:auto;
    border:0px solid #FAF8F1;
    background-size:16px auto;
    font-size:16px;
    line-height:33px;
	color:#000;
    padding:0 12px;
	border:1px solid #666;
    border-radius:0;
	height: 37px;
}

		
#booking-form .date-picker-control {
    float: right;
	margin-left: 1vw;
    margin-top: 8px;
}

#booking-form button {line-height:52px; padding:0 3vw; border:none; margin-left:2vw;
    font-size:18px;
    color:#fff;
    background:#2F7BFD;
	text-transform: uppercase;
}

.date-picker-table {bottom:55px; position:fixed !important; z-index:999999 !important;}
.date-picker-table:before, .date-picker-table:after {display:none;}

.booking-mobile {display:none; position:fixed; border-radius:0.5rem; padding:0.75rem 2.25rem; bottom:0.5rem; left: 50%; transform: translateX(-50%); background:var(--alt-color); color:white; text-transform: uppercase; text-align:center; z-index:9999; font-size:1.25rem;}

/*------------------------------------*/














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







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

:root {

	/* Colors Palette */
	--background: #E5FFFF;
	--text-color: #201d1c;
	--title-color: #1F56B3;

	--main-color: #2D7AFC;
	--second-color: #BFFFFF;
	--alt-color:#1F56B3;
	--alt-color-light:#EFEFEF;

}

.test {border:1px solid red;}
.hidden {display:none !important;}
.flex {display:flex;}
.grid {display:grid;}
.flex-end {justify-content: flex-end;}








/* Typography
--------------------------------------------- */

p {margin-bottom:18px;}

p b, p strong {font-weight:700;}

h1, h2, h3, h4, h5 {
	font-family: "Headland One", serif;
	color:var(--title-color); 
	font-weight:700; 
	margin:0 0 16px 0; 
	padding:0;
}

h1 {font-size:52px; line-height:60px;}
h2 {font-size:38px; line-height:44px;}
h3 {font-size:32px; line-height:38px;}
h4 {font-size:24px; line-height:30px;}
h5 {font-size:20px; line-height:28px;}

small, .text-small {font-size: 12px; line-height:18px;}



/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}








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


/* Fade-in */

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
  
.fade-in {animation: fadeIn 1s ease-in-out 1s forwards;}


/* Fade-up */

@keyframes fadeUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-up {animation: fadeUp 1s ease-out 1s forwards;} 
  
  
/* Ritardi progressivi */
.fade-up:nth-child(1) {animation-delay: 0s;}
.fade-up:nth-child(2) {animation-delay: 0.2s;}
.fade-up:nth-child(3) {animation-delay: 0.4s;}
.fade-up:nth-child(4) {animation-delay: 0.6s;}
.fade-up:nth-child(5) {animation-delay: 0.8s;}
.fade-up:nth-child(6) {animation-delay: 1s;}  





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

::selection {background:yellow; color:black; text-shadow:none;}
::-webkit-selection {background:yellow; color:black; text-shadow:none;}
::-moz-selection {background:yellow; color:black; text-shadow:none;}

*/

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

/* Galleries
--------------------------------------------- */
.gallery {margin-bottom: 1.5em; display: grid; grid-gap: 1.5em;}
.gallery-item {display: inline-block; text-align: center; width: 100%;}
.gallery-columns-2 {grid-template-columns: repeat(2, 1fr);}
.gallery-columns-3 {grid-template-columns: repeat(3, 1fr);}
.gallery-columns-4 {grid-template-columns: repeat(4, 1fr);}
.gallery-columns-5 {grid-template-columns: repeat(5, 1fr);}
.gallery-columns-6 {grid-template-columns: repeat(6, 1fr);}
.gallery-columns-7 {grid-template-columns: repeat(7, 1fr);}
.gallery-columns-8 {grid-template-columns: repeat(8, 1fr);}
.gallery-columns-9 {grid-template-columns: repeat(9, 1fr);}
.gallery-caption {display: block;}

/* Alignments
--------------------------------------------- */
.alignnone {margin:1.5em;}
.alignleft {float: left; margin-right: 1.5em; margin-bottom: 1.5em;}
.alignright {float: right; margin-left: 1.5em; margin-bottom: 1.5em;}
.aligncenter {clear: both; display: block; margin-left: auto; margin-right: auto; margin-bottom: 1.5em;}

a img.alignright {float:right; margin:5px 0 20px 20px;}
a img.alignnone {margin:5px 20px 20px 0;}
a img.alignleft {float:left; margin:5px 20px 20px 0;}
a img.aligncenter {display:block; margin-left:auto; margin-right:auto;}

.wp-caption {background:#FFF; border:1px solid #F0F0F0; max-width:96%; padding:5px 3px 10px; text-align:center;}
.wp-caption.alignnone {margin:5px 20px 20px 0;}
.wp-caption.alignleft {margin:5px 20px 20px 0;}
.wp-caption.alignright {margin:5px 0 20px 20px;}
.wp-caption img {border:0 none; height:auto; margin:0; max-width:98.5%; padding:0; width:auto;}
.wp-caption .wp-caption-text, .gallery-caption {font-size:11px; line-height:17px; margin:0; padding:0 4px 5px;}

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

@media print {
	* {background:transparent !important; color:#000 !important; box-shadow:none !important; text-shadow:none !important;}
	a, a:visited {text-decoration:underline;}
	a[href]:after {content:" (" attr(href) ")";}
	abbr[title]:after {content:" (" attr(title) ")";}
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {content:"";}
	pre,blockquote {border:1px solid #999; page-break-inside:avoid;}
	thead {display:table-header-group;}
	tr,img {page-break-inside:avoid;}
	img {max-width:100% !important;}
	@page {margin:0.5cm;}
	p, h2, h3 {orphans:3; widows:3;}
	h2, h3 {page-break-after:avoid;}
}






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

@media only screen
    and (max-width: 1365px)
    and (orientation: portrait) {

		body {overflow-y: hidden;}
		.nav ul, .booking--desktop {display:none !important;}
		.icon, .booking-mobile {display:block;}

		.get-in-touch {padding:0.5rem; gap: 1rem;}
		#backToTop {right: 0.5rem; bottom: 0.5rem;}
	}



@media only screen
    and (min-width: 471px)
    and (max-width: 1023px)
    and (orientation: landscape) {

	}