/*
	Theme Name: La Rocca Residence
	Theme URI: https://www.laroccaresidence.com/
	Description: 
	Version: 1.0.0
	Author: Dhynet
	Author URI: https://www.dhynet.com
	Tags: 

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    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;}
html {scroll-behavior: smooth; overflow-x: hidden;}
body { 
	
	background:var(--background);  
	color:var(--text-color);
	font-size:16px;
	line-height:26px;
	font-weight:normal;
	letter-spacing:0.4px;
	font-family: "Shega", sans-serif;
	overflow-x:hidden;

}

a {color:#444; 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 {max-width:1024px; width:98%; margin:0 auto; position:relative;}
.wrapper-big {max-width:1480px; width:98%; margin:0 auto; position:relative;}
.wrapper-medium {max-width:1280px; width:98%; margin:0 auto; position:relative;}
.wrapper-small {max-width:960px; width:98%; margin:0 auto; position:relative;}



/* header */
.header {position:fixed; width:100%; height:100px; background:var(--background); margin:0; padding:18px 32px; display:flex; align-items: center; z-index:99;}
.header:before {content:''; position:absolute; left:0; top:0; width:12px; height:100%; background:var(--alt-color);}
.header:after {content:''; position:absolute; right:0; top:0; width:12px; height:100%; background:var(--second-color);}
.inner-header {width:100%; max-width:1480px; margin:0 auto; display:flex; align-items: center;}

.logo {flex:1; padding:0 12px;}
.logo-img {width:auto; height:72px;}


/* nav */
.nav {margin:0 0 0 2vw; font-size:14px; text-transform: uppercase; line-height:20px; font-weight:600; letter-spacing:1.5px;}
.nav ul {margin:0; padding:0; list-style:none; display:flex; align-items: center;}
.nav ul li {margin:0 1.5vw 0 0; padding:0;}
.nav ul li:last-child {margin-right:0;}
.nav ul li a {color:var(--title-color);}
.nav ul li a:hover, .nav ul li.active a {color:var(--main-color);}


/* 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: var(--title-color) !important; top: 13px !important; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.mid-animate {opacity: 0;}
.bottom-animate {background: var(--title-color) !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;}


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

.mobilenav {display:none; position:fixed; top: 0; left:0; z-index: 9; width:100vw; height:100vh; overflow-x: hidden; overflow-y: auto;}
.mobilenav .mobilenav-inner {position:relative; width:100%; height:auto; padding:0; margin:0;}
.mobilenav ul {margin:0; padding:0; list-style:none;}
.mobilenav li {padding:0; margin:0;}
.mobilenav li a {}
.mobilenav li a:hover {opacity: 0.4;}
.mobilenav li a.selected {color:#ed253c;}
.mobilenav .current_page_item a {color:#87764D;}





/* footer */
.footer {background:var(--title-color); color:white; padding:0 0 120px 0; font-size:16px; line-height:28px;}
.footer .wrapper {display:flex; justify-content: space-between; padding:90px 8px 48px 8px;}
.footer h6 {font-size:18px; font-weight:bold; margin:0 0 12px 0;}
.footer a {color:var(--main-color);}
.footer a:hover {opacity:0.6;}
.footer svg {float:left; margin:5px 8px 0 0;}
.colophon {margin:0; padding:24px 8px; font-size:13px; line-height:16px; letter-spacing:1px; text-align:center;}


.wa-call {display:block; position:fixed; bottom:16px; right:32px; z-index:99;}

.fg-panel.fg-light {background-color: #fff;}
.fg-panel-button-info, .fg-panel-area-toggle, .fg-panel-button-fullscreen {display:none !important;}
.fg-media-caption-title {text-align:center; font-size: 18px; border-bottom:0px solid white;}
.fg-panel-info-inner {border-top-width: 0px !important;}
.fg-panel-thumb {border-color: #fff !important;}









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




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

:root {

	/* Colors Palette */
	--background: #ffffff;
	--text-color: #505050;
	--title-color: #020202;

	--main-color: #79B829;
	--second-color: #3CA935;
	--alt-color:#C9BA09;

}

.hidden {display:none !important;}
.flex {display:flex;}
.grid {display:grid;}


.welcome-slide h1 {color:white;}

.scroll-next {width:90px; text-align:center; padding: 0 12px; position:absolute; bottom:110px; left:calc(50% - 45px); z-index:9;}

.main-title {width:100%; text-align:center; margin:0 0 100px 0; font-weight:400;}
.main-title:before, .main-title:after {content:' . '; color:var(--main-color);}

.book-now {display:none; margin-left:32px !important; margin-right:0 !important;}
.book-now a {display:block; background:var(--second-color); color:white !important; padding:16px 24px; border-radius:6px;}

.reverse-row {flex-direction: row-reverse;}
.txt-2-column {column-count: 2; column-gap: 40px; display:inline-block;}


/* Booking
--------------------------------------------- */

.booking-mobile {display:none; position:fixed; left:0; bottom:0; width:100%; padding-block:16px; text-transform: uppercase; text-align:center; letter-spacing:1px; font-weight:600; background:var(--second-color); z-index:9;}
.booking-mobile a {color:white; font-weight:600;}

.booking-desktop {width:100%; max-width:980px; position:fixed; bottom:24px; left:calc(50% - 490px); font-weight:bold; background:white; color:var(--text-color); padding:8px; margin:0; border:1px solid #e0e0e0; z-index:100;}
#booking-form form {width:100%; display: flex; align-items: center; justify-content: space-between;}
            
#ITH_dtCheckIn_div, 
#ITH_dtCheckOut_div,
#ITH_Extra_div {position:relative; margin:0 0 0 24px; padding:0 24px 0 0; /*border-right:1px dotted white;*/} 
#ITH_Extra_div {border-right:0px solid white;}

#booking-form label {width:100%; display:block; font-size:14px; padding:0; margin:0; text-transform:uppercase; letter-spacing:1px;}  
#booking-form input[type='text'] {display:block; font-size:14px !important; width:100%; min-width:160px; border:0px dotted #FAF8F1; background:transparent; font-size:14px; line-height:24px; text-align:left; margin:0 !important;}
	
#booking-form select {width:100%; min-width:160px; border:0px dotted #FAF8F1; background:transparent url(img/arrow-down-light.svg) center right no-repeat; background-size:8px auto; font-size:14px; line-height:24px; padding:0 80px 0 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
	
#booking-form .date-picker-control {position:absolute; bottom:0; right:14px; display: inline-block; background-image:url(img/ico_calendar.svg) !important; background-position:center center !important; background-repeat: no-repeat; background-size:22px auto; padding: 0; margin:0;}
#booking-form .date-picker-control span {width:24px; height:24px;}
.date-picker {position:fixed !important;}

#booking-form button {width:20%; min-width:160px; font-size:14px; color:white; background:var(--main-color); padding:24px 0; border:none; margin:0 0 0 0.8vw; text-transform: uppercase; letter-spacing:1px; transition: all 0.3s ease 0s;}
#booking-form button:hover {background:var(--second-color); transition: all 0.3s ease 0s;}











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


@font-face {
    font-family: 'Shega';
    font-style: normal;
    font-weight: normal;
    src: local('Shega'), url('fonts/Shega.woff') format('woff');
}

@font-face {
    font-family: 'Monlight';
    font-style: normal;
    font-weight: normal;
    src: local('Monlight'), url('fonts/Monlight.woff') format('woff');
    }

p {margin-bottom:18px;}

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

h1, h2, h3, h4, h5 {font-family: "Monlight", serif; color:var(--title-color); font-weight:400; margin:0 0 24px 0; padding:0; clear:both;}

h1 {font-size:64px; line-height:68px;}
h2 {font-size:48px; line-height:58px;}
h3 {font-size:32px; line-height:42px;}
h4 {font-size:24px; line-height:34px;}
h5 {font-size:20px; line-height:30px;}

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



/* 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
\*------------------------------------*/

.animate {opacity:0;}

/* 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;} 
 

/* Pulse */

@keyframes pulse {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.pulse {animation: pulse 1s ease-out 1s infinite;}

  
/* 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
--------------------------------------------- */
.is-style-masonry.columns-default {-webkit-columns: 3; -moz-columns: 3; columns: 3;}
.is-style-masonry{display:block !important; gap:1px !important;}
.is-style-masonry .wp-block-image{width:100% !important; margin-bottom: 1px !important; overflow:hidden;}
.is-style-masonry .wp-block-image:hover img {opacity:0.6; transition: 0.3s ease; transform: scale(1.1);}
 
 .is-style-masonry.columns-1 {
	-webkit-columns: 1; /* Chrome, Safari, Opera */
	-moz-columns: 1; /* Firefox */
	columns: 1; /* Standard syntax */
 }
 
 .is-style-masonry.columns-2 {
	-webkit-columns: 2; /* Chrome, Safari, Opera */
	-moz-columns: 2; /* Firefox */
	columns: 2; /* Standard syntax */
 }
 
 .is-style-masonry.columns-3 {
	-webkit-columns: 3; /* Chrome, Safari, Opera */
	-moz-columns: 3; /* Firefox */
	columns: 3; /* Standard syntax */
 }
 
 .is-style-masonry.columns-4 {
	-webkit-columns: 4; /* Chrome, Safari, Opera */
	-moz-columns: 4; /* Firefox */
	columns: 4; /* Standard syntax */
 }
 
 .is-style-masonry.columns-5 {
	-webkit-columns: 5; /* Chrome, Safari, Opera */
	-moz-columns: 5; /* Firefox */
	columns: 5; /* Standard syntax */
 }
 
 .is-style-masonry.columns-6 {
	-webkit-columns: 6; /* Chrome, Safari, Opera */
	-moz-columns: 6; /* Firefox */
	columns: 6; /* Standard syntax */
 }
 
 .is-style-masonry.columns-7 {
	-webkit-columns: 7; /* Chrome, Safari, Opera */
	-moz-columns: 7; /* Firefox */
	columns: 7; /* Standard syntax */
 }
 
 .is-style-masonry.columns-8 {
	-webkit-columns: 8; /* Chrome, Safari, Opera */
	-moz-columns: 8; /* Firefox */
	columns: 8; /* Standard syntax */
 }

/* Lightbox
--------------------------------------------- */

.nivo-lightbox-theme-default.nivo-lightbox-overlay {background:rgba(255,255,255,0.98);}
.nivo-lightbox-theme-default .nivo-lightbox-close {width:38px; height:38px; background:url(img/ico_close.svg) center center no-repeat; background-size:38px auto;}











/* 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: 767.98px)
    and (orientation: portrait) {

		body {overflow-x:hidden;}
		h1 {font-size: 42px; line-height: 48px;}
		h2 {font-size: 32px; line-height: 38px;}
		h3 {font-size: 28px; line-height: 34px;}
		.main-title {margin-bottom:48px;}

		/*.nav,*/
		.booking-desktop {display:none;}
		.booking-mobile {display:block;}

		.header {height:auto; padding: 18px 18px 8px 18px;}
		.header:before, .header:after {width:6px;}
		.inner-header {flex-direction: column;}
		.logo {text-align:center; margin-bottom:18px;}
		.logo-img {height:48px;}
		.nav {margin:0;}
		.nav ul {display:flex; flex-wrap: wrap; justify-content: center; font-size:12px;}
		.nav ul li {margin:0 8px;}
		.footer .wrapper {display:inline-block; padding-inline:24px;}
		.footer .col-left {float:left;}
		.footer .col-right {float:left; margin-top:32px;}

		.wa-call {right:12px; bottom:64px;}
		.scroll-next {bottom: 72px;}
		.txt-2-column {column-count: 1; column-gap: 40px; display:inline-block;}
	}




@media only screen
	and (max-width: 991.98px)
	and (orientation: landscape) {

		.booking-desktop {display:none;}
		.booking-mobile {display:block;}

		.wa-call {right:12px; bottom:60px;}

	}	


@media only screen
    and (min-width: 768px)
    and (max-width: 991.98px)
    and (orientation: portrait) {

		body {overflow-x:hidden;}

		.booking-desktop {display:none;}
		.booking-mobile {display:block;}

		.logo-img {height:48px;}

		.wa-call {right:12px; bottom:60px;}
		.txt-2-column {column-count: 1; column-gap: 40px; display:inline-block;}

	}



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

		.wa-call {right:12px; bottom:110px;}

	}	
