@charset "UTF-8";

:root {
--open-menu-dim:				70px;
--tel-wrap-dim:					70px;
--header-top-height:			120px;
--header-top-height-phone:		70px;
--black:						#0e0e0e;
--black-semi:					rgba(6,6,6,.55);
--white:						#fff;
--gold:							#E7C39F;
}
.animated {
opacity:						0;
-webkit-transition: 			opacity 0.5s linear 0.25s;
-o-transition: 					opacity 0.5s linear 0.25s;
transition: 					opacity 0.5s linear 0.25s;
}
.animate-on {
opacity:						1;
}
.make-visible {
opacity:				1		!important;
}
html, body {
margin:				0;
padding:			0 0 1px 0;
border:				0;
font-style:			inherit;
vertical-align:		baseline;
outline-color:		invert;
outline-style:		none;
outline-width:		0;
min-height:			100%;
}
html {
overflow-x:			hidden;
font-size: 			19px;
line-height: 		1.3;
letter-spacing:		.75px;
height:				100%;
scroll-behavior: 	smooth;
}
body {
font-family: 		'PT Sans Narrow',sans-serif;   
font-weight:		400;
text-align:			left;
width:				100%;
background-color:	var(--black);
color:				var(--white);
}
.jumpAnchor,
.gform_anchor {
position:				absolute;
top:					0;
left:					0;
height:					0;
width:					100%;
font-size:				0;
}
@media (min-width:930.25px) {
.show-narrow {
display:			none	!important;
}
}
@media (max-width:930px) {
.show-wide {
display:			none	!important;
}
}
.hide {
display:				none;
}
p {
padding:				0;
display:				block;
float:					left;
clear:					left; 
width:					100%; 
position:				relative;
margin:					3px 0;
}
b, strong {
font-weight:			700;
}
img {
max-width:				100%;
display:				inline-block;
}
.ac {
text-align:				center		!important; 
}
.al {
text-align:				left		!important;
}
.tm {
margin-top:				50px		!important;
}
.ltm {
margin-top:				25px		!important;
}
.bm {
margin-bottom:			50px		!important;
}
.lbm {
margin-bottom:			25px		!important;
}
.gold {
color:					var(--gold);
}
a {
color:					inherit;
outline: 				0;
-webkit-transition: 	color 0.25s linear;
-o-transition: 			color 0.25s linear;
transition: 			color 0.25s linear;
}
a:hover {
cursor:					pointer;
color:					var(--gold);
}
#header {
width:					100%;
z-index:				9999;
display:				block;
top:					0;
left:					0;
position:				fixed;
height:					var(--header-top-height);
-webkit-transition: 	background 0.5s ease;
-o-transition: 			background 0.5s ease;
transition: 			background 0.5s ease;
}
.scrolled #header {
background:				var(--black);
}
#header-logo {
position:				absolute;
top:					20px;
left:					4vw;
background-image:		url(//villaomaroo.com/wp-content/uploads/2025/01/sprite.v2.min_.png);
float:					left;
width:					380px;
height:					80px;
background-position:	0px -90px;
z-index:				1;
}
#header-tel-wrap {
height:					var(--tel-wrap-dim);
position:				absolute;
top:					0;
right:					4vw;
z-index:	1;	
}
.phone	#header-tel-wrap {
display:				none;
top: 					85px;
right: 					0;
width: 					100%;
}
.header-tel {
position:				absolute;
padding:				0 0 0 60px;
right: 					0;
top: 					50%;
transform: 				translateY(-50%);
white-space:			nowrap;
text-decoration:		none;
text-align:				center;
font-size:				1.3rem;
display:				block;
line-height:			1;
color:					var(--white)	!important;
}
@media (min-width:790.25px) {
#open-menu-icon {
display:			none;
}
}
@media (max-width:790px) {
#header {
height:				var(--header-top-height-phone); 
}
#header.is-mobile::after {
content: 			'true';
display:			none;
}
.phone-menu-open #header {
position:			absolute;
}
#header-logo {
top:					10px;
width: 					245px;
height: 				54px;
background-position: 	0 -54px;
background-size: 		246px auto;
}
.phone-menu-open #header-tel-wrap {
display:				block;
}
.header-tel {
right:				auto;
left:				25px;
}
.phone-menu-open #open-menu-icon:after {
opacity:			0;
}
#open-menu-icon:before {
content:				" ";
position:				absolute;
height: 				3px;
width: 					20px;
background:				#fff;
left:					50%;
top:					50%;
transform:				translate(-50%,-50%);
}
#open-menu-icon:after {
content:				" ";
position:				absolute;
height: 				15px;
width: 					20px;
left:					50%;
top:					50%;
transform:				translate(-50%,-50%);
border-top:				3px solid #fff;
border-bottom:			3px solid #fff;
opacity:				1;
-webkit-transition: 	opacity 0.25s ease;
-o-transition: 			opacity 0.25s ease;
transition: 			opacity 0.25s ease;
}
.phone-menu-open	main,
.phone-menu-open	footer {
display:				none;
}
.phone-menu-open	header {
position:				relative;
}
#open-menu-icon {
display:			block;
position:			absolute;
top:				0;
right:				0;
height: 			var(--open-menu-dim);
width: 				var(--open-menu-dim);
}
#header-nav {
position:			relative;
width:				100%;
float:				left;
opacity:			0;
display:			none;
-webkit-transition: opacity 0.25s ease;
-o-transition: 		opacity 0.25s ease;
transition: 		opacity 0.25s ease;
margin-top: 		140px;
}
.phone-menu-open #header-nav { 
display:			block;
}
header .menu-item {
width:				100%;
float:				left;
padding:			0 4vw;
}
header .menu-item a::before {
left:				0;
bottom:				0;
transform:			translateX(0);
}
header .menu	a {
padding:			20px 0;
}
#vp {
padding:			var(--header-top-height-phone) 4vw 0;
}
}
.header-tel:before {
background:				url(//villaomaroo.com/wp-content/uploads/2025/01/sprite.v2.min_.png);
position:				absolute; 
left:					0;
top:					50%;
transform: 				translateY(-50%);
width:					43px;
height:					37px;
display:				block;
content: 				" ";
-webkit-transition: 	transform 0.5s ease;
-o-transition: 			transform 0.5s ease;
transition: 			transform 0.5s ease;
}
.header-tel:hover:before {
transform: 				translateY(-50%) rotate(180deg);
}
.footer-logo {
background-image:		url(//villaomaroo.com/wp-content/uploads/2025/01/sprite.v2.min_.png);
width:					80px;
height:					80px;
display:				inline-block;
background-position:	0px -90px;
}
.menu-main-menu-container {
display:				table;
}
footer	.menu-main-menu-container {
margin:					0 auto;
}
.menu {
display:				table-row;
line-height:			1;
}
.menu-item {
display:				table-cell;
vertical-align:			middle;
position:				relative;
font-size:				1rem;
}
footer	.menu-item {
padding:				0 4px;
font-size:				.9rem;
}
.menu-item a::before {
content:				" ";
position:				absolute;
width:					0;
height:					3px;
bottom:					-3px;
background: 			var(--white);
-webkit-transition: 	width 0.35s;
-o-transition: 			width 0.35s;
transition: 			width 0.35s;
left:					50%;
transform:				translateX(-50%);
}
footer .menu-item a::before {
bottom:					30px;
}
@media (min-width:790.25px) {
#header-nav {
position: 			fixed;
top: 				0;
right: 				0;
height: 			var(--header-top-height);
width: 				100%;
}
header .menu-main-menu-container {
position: 			absolute;
bottom: 			0;
right: 				4vw;
}
header	.menu-item {
padding-left:		16px;
}
}
.menu				a:hover {
color:					var(--white);
}
.current_page_item	a:before,
.menu-item			a:hover:before 	{
width:					40px;
}
.menu	a {
padding:				11px 0 25px;
box-sizing: 			border-box;
text-decoration:		none;
float:					left;
width:					100%;
position:				relative;
}
footer .menu	a {
padding:				0 0 50px 0;
}
footer {
width:					100%;
display:				block;
float:					left; font-size:				0.9rem;
background:				var(--black);
position:				relative;
}
footer	a {
text-decoration:		none;
} #vp {
width:					100%;
box-sizing: 			border-box;
display: 				block;
float:					left;
position:				relative;
padding:				var(--header-top-height) 4vw 0;
text-align:				center;
}
#vp-inner {
width:					100%;
display:				inline-block;
position:				relative;
box-sizing: 			border-box;
margin:					0 auto;
z-index:				1;
opacity:				1;
padding: 				50px 0;
max-width:				1100px;
}
.no-vp-bg #vp-inner {
padding-bottom:			0;
}
.full-height #vp-inner {
padding: 				30px 0;
max-width: 				900px;
}
.r {
width:					100%;
box-sizing: 			border-box;
display: 				block;
float:					left;
position:				relative;
text-align:				center;
}
@media (min-width:930.25px) {
.r {
padding: 			60px 4vw;
}
.full-height #vp {
height: 			100vh;
}
.full-height #vp-inner {
top: 				50%;
transform: 			translateY(-50%);
}
}
@media (max-width:930px) {
.r {
padding: 			35px 4vw;
}
.full-height #vp {
min-height: 		100vh;
}
}
.full-height .r {
background:				var(--black-semi);
}
.r.no-bg	+ .r.no-bg,
.r.has-bg	+ .r.has-bg {
padding-top:			0;
}
.has-bg {
background:				var(--black);
}
.bg {
position:				absolute;
top:					0;
left:					0;
background-size:		cover;
background-position:	center center;
width:					100%;
height:					100%;
z-index:				0;
overflow:				hidden;
}
.auto-height #vp .bg {
position:				fixed;
height:					100vh;
}
.bg::after {
content:			" ";
position:			absolute;
top:				0;
left:				0;
width:				100%;
height:				100%;
background:			var(--black-semi);
}
.slide {
position:					absolute;
top:						0;
left:						0;
width:						100%;
height:						100%;
opacity:					0;
transition: 				opacity 1s;
-webkit-transition: 		opacity 1s;
-o-transition: 				opacity 1s;
background-size:			cover;
background-position:		center center;
}
.slide-cnt-wrap {
position:					absolute;
width:						100%;
left:						0;
}
@media (min-width:790.25px) {
.slide-cnt-wrap {
bottom:					40px;
}
}
@media (max-width:790px) {
.slide-cnt-wrap {
bottom:					80px;
}
}
.slide-cnt {
position:					relative;
height:						10px;
width:						10px;
border:						2px solid var(--white);
transition: 				background-color 0.25s;
-webkit-transition: 		background-color 0.25s;
-o-transition: 				background-color 0.25s;
z-index:					1;
display:					inline-block;
}
.show {
opacity:					1;
}
.slide-active {
background-color:			var(--white);
}
.r-inner {
width:				100%;
display:			inline-block;
position:			relative;
box-sizing: 		border-box;
margin:				0 auto;
z-index:			1;
text-align:			left;
max-width:			1800px;
overflow:			hidden;
}
.r-inner-medium {
max-width:			910px;
}
main {
float:					left;  
box-sizing: 			border-box;
width:					100%;
position:				relative;
overflow:				hidden;
}
ul {
margin:				0;
padding:			0;
list-style-type: 	none;
display:			inline-block;
box-sizing: 		border-box;
}
li {
box-sizing: 		border-box;
}
.e {
width:				100%;
display:			block;
float:				left;
}
.e-text a {
word-break:			break-word;
}
.e-text ul {
margin:				3px auto;
}
.e-text li {
margin:				1px 0;
position:			relative;
text-align:			left;
float:				left;
width:				100%;
box-sizing: 		border-box;
padding:			0 0 0 30px;
}
.e-text ul li:before {
content: 			" ";
position:			absolute;
left: 				8px;
top: 				5px;
width: 				5px;
height: 			10px;
border-width: 		0 3px 3px 0	!important;
-webkit-transform: 	rotate(45deg);
-ms-transform: 		rotate(45deg);
transform: 			rotate(45deg);
border: 			solid var(--white);
} .e-img,
.e-video {
width: 					100%;
position:				relative;
border:					3px solid var(--white);
box-sizing: 			border-box;
overflow:				hidden;
}
.e-img {
padding-bottom:			71.8%;
}
.e-video {
padding-bottom: 		56.25%;
}
.e-img 		img,
.e-video 	iframe {
position: 				absolute;
top: 					0;
left: 					0;
width: 					100%;
height: 				100%;
border:					3px solid var(--black);
box-sizing: 			border-box;
} .c-wrap {
width:					100%;
float:					left;
}
.c {
width:					100%; 
float:					left;
box-sizing: 			border-box;
position:				relative;
}
.c-clear {
width:					100%; 
float:					left;
}
@media (max-width:930px) {
.c2 .c {
margin-bottom:		35px;
width:				100%;
}
.c3 .c {
margin-bottom:		45px;
width:				100%;
}
}
@media (min-width:930.25px) {
.c3 .c {
width: 				calc(33.3%);
padding:			0 1vw;
}
.c2 .c {
width: 				calc(50% - 2vw);
}
.c-clear {	
margin-bottom:		40px;
}
.c-left {
clear:				left;
}
.c-right {
float:				right;
}
.c-switch-if-wide	.c2 .c:nth-child(2n+1) {
float:				right;
}
.c-switch-if-wide	.c2 .c:nth-child(2n+2) {
float:				left;
clear:				left;
}
.c3 .c {
width: 					calc(33.3%);
padding:				0 1vw;
}
}
.media {
background-image:		url(//villaomaroo.com/wp-content/uploads/2025/01/sprite.v2.min_.png);
display:				inline-block;
width:					80px;
height:					80px;
background-position:	1px -261px;
}
.pre-header {
font-weight: 			400;
font-size: 				2rem;
text-transform: 		uppercase;
margin: 				0 0 10px;
line-height: 			1.1;	
}
h1, h2, h3, h4, h5, h6 {
display:				block;
float:					left;
width:					100%;
padding:				0;
}
h1 { 
font-weight:			400;
font-size:				3.25rem;
text-transform:			uppercase;
margin:					0 0 10px;
line-height:			1.1;
}
@media (max-width:930px) {
h1 {
font-size:			2.75rem	!important;
}
}
h2 {  
font-weight:			400;
font-size:				1.25rem;
margin:					0 0 10px;
}
@media (min-width:930.25px) {
h2 {
box-sizing:			border-box;
padding:			0 50px;
}
}
h3 {
font-weight:			400;
text-transform:			uppercase;
margin:					30px 0 15px 0;
font-size:				1.75rem;
line-height: 			1.2;
letter-spacing: 		0;
}
.e-media + h3 {
margin-top:				10px;
}
h3:nth-child(1) {
margin-top:				0;
}
h4 {
font-weight:			400;
margin:					-10px 0 10px;
font-size:				1.4rem;
letter-spacing: 		0;
color:					var(--gold);
}
.underline {
position:				relative;
padding-bottom:			15px;
margin-bottom:			30px;
}
.underline:after {
content:				" ";
width:					30px;
height:					3px;
background:				var(--white);
position:				absolute;
left:					0;
bottom:					-15px;
}
.ac .underline:after {
left:					50%;
transform: 				translateX(-50%);
}
h5 {
font-weight:			700;
text-transform:			uppercase;
margin:					10px 0;
font-size:				2.25rem;
letter-spacing: 		-1px;
line-height: 			1.1;
}
h6 {
font-weight:			400;
margin:					10px 0;
font-size:				1.1rem;
letter-spacing:			0;
} input[type=submit],
.button {
vertical-align:			middle;
outline-style:			none;
outline-width:			0;
outline: 				0;
-webkit-appearance:		none;    
display:				inline-block;
text-align:				center;
text-decoration:		none; 
line-height:			1;
-webkit-transition: 	all 0.25s ease;
-o-transition: 			all 0.25s ease;
transition: 			all 0.25s ease;
font-family: 			inherit;
font-weight:			400; 
text-transform:			uppercase;
font-size:				1rem;
padding:				15px 15px;
border: 				2px solid var(--white);
margin:					10px 0 15px;
border-radius:			3px;
}
.button {
background:				rgba(0,0,0,.4);
color:					var(--white);
min-width:				100px;
}
.button:hover {
color:					var(--black)	!important;
background: 			var(--white);
cursor:					pointer;
}
input[type=submit] {
background:				var(--white);
color:					var(--black);
}
input[type=submit]:hover {
color:					var(--white)	!important;
background: 			transparent;
cursor:					pointer;
} form { 
display:				inline-block;  
width:					100%;
max-width:				600px;
text-align:				left;
border: 				none;
margin:					20px auto 0;
}
label {
display:				none;
}
.show-label label {
display:				block;
}
.ginput_container_radio label {
font-weight:			400	!important;
}
form ul {
width:					100%;
}
form li {
margin:					0;
float:					left;
width:					100%;
}
.gfield_radio li {
position:				relative;
padding:				5px 0 5px 25px;
}
.show-and-space-label	label,
.show-label 			label {
display:				block;
font-weight:			700;
}
.show-and-space-label {
margin:					10px 0;
}
.ginput_container_checkbox label {
display:				inline-block	!important;
}
.gfield_label {
margin:					10px 0 5px;
}
.gfield_radio input[type=radio] {
position:				absolute;
top:					50%;
transform: 				translateY(-50%);
left:					0;
padding: 				0;
margin: 				0;
}
input::-moz-focus-inner { 
border: 				0; 
}
input[type=text],
input[type=email],
input[type=tel],
textarea {
text-align:				left;
box-sizing: 			border-box;
width:					100%;
border-radius: 			3px;
border: 				2px solid var(--white);
font-family:			inherit;
background-color:		transparent;
background-image:		none;
font-weight:			700;
line-height:			1.2;  
outline:				none;
float:					left;
transition: 			all 0.25s linear;
padding:				10px;
color:					inherit;	
font-size:				1rem;
}
input[type=text],
input[type=email],
input[type=tel] {
height:					50px;
margin:					5px 0; 
}
textarea {
height:					100px;
margin:					5px 0; 
}
.gform_wrapper,
.gform_fields,
.gform_confirmation_wrapper {
width:					100%;
float:					left;
box-sizing: 			border-box;
}
.gform_confirmation_wrapper {
margin:					20px 0;
}
.gform_validation_container {
display:				none;
}
.gfield_description {
margin:					0 0 5px 0;
color:					red;
}
.gfield_required {
display:				none;
}
.gform_wrapper .validation_message {
display:				none;
}
.pac-container {
display:				none;
}
.gform_validation_error .gform_anchor {
margin-top:				50px;
}
.gform_anchor {
opacity:				0;
}
.gform_confirmation_message,
.gform_wrapper div.validation_error {
text-align:				center;
margin:					20px 0;
padding:				20px;
font-weight:			700;
background:				var(--white);
color:					var(--black);
display:				inline-block;
}
.gfield--type-radio.gfield_error > label {
color:					red	!important;
}
.gfield_error input[type=text],
.gfield_error input[type=email],
.gfield_error input[type=tel],
.gfield_error textarea,
textarea:required:invalid,
input:required:invalid {
border-color:			red;
box-shadow:				none;
-webkit-box-shadow: 	none;
-moz-box-shadow: 		none;
}
.gfield_error.show-label .gfield_label {
color:					var(--gold);
}
input[type=submit] {
margin:					10px 0 0;
float:					left;
}
#loading {
display: 				none;
position: 				absolute;
left: 					0;
bottom: 				-50px;
}
.swiper-container {
width: 				100%;
float: 				left;
position: 			relative;
}
.swiper-container-loading {
display: 			none;
grid-auto-flow: 	column; grid-auto-columns: 	0; opacity:			0;
}
.swiper {
width:					100%; 
float:					left;
}
.swiper img {
box-sizing: 			border-box;
border: 				3px solid #fff;
padding: 				3px;
}
.swiper-button-prev,
.swiper-button-next {
color:					#fff;
text-shadow: 			0px 0px 2px rgb(0, 0, 0);
font-weight:			800;
opacity:			
}
@media (min-width:930.25px) {
.swiper-slide::after {
content:				" ";
transition: 			opacity 0.25s linear;
background-image:		url(//villaomaroo.com/wp-content/uploads/2025/01/sprite.v2.min_.png);
display:				inline-block;
width:					41px;
height:					41px;
background-position:	-89px 10px;	
opacity:				0;
position: 				absolute;
top: 					50%;
left: 					50%;
transform:				translate(-50%, -50%);
background-color: 		rgba(1,1,1,.3);
padding: 				10px;
border-radius: 			50%;
background-repeat:		no-repeat;
}
.swiper-slide:hover::after {
opacity:				1;
}
}
@media (max-width:790px) {
.lightbox,
.lightboxOverlay {
display:			none !important;
}
}
.lb-next,
.lb-prev {
opacity:				1	!important;
}
.option-button {
padding:				11px 10px;
transition: 			all 0.25s linear;
color:					#fff;
line-height:			1;
background:				var(--gold);
display: 				inline-block;
text-decoration: 		none;
min-width: 				55px;
}
.option-button:hover,
.option-button.active {
color:					var(--black);
background:				#fff;
}
.option-button.left {
border-radius: 			10px 0 0 10px;
}
.option-button.right {
border-radius: 			0 10px 10px 0;;
}
.gform_ajax_spinner {
display:				block;
float:					left;
clear:					left;
margin-top:				40px
}
::-webkit-input-placeholder {
color: 					var(--white);
opacity:				1;
}
:-ms-input-placeholder {
color: 					var(--white);
opacity:				1;
}
::placeholder {
color: 					var(--white);
opacity:				1;
}