/****ADMIN COLORS PRESETS****/
.has-vino-background-color{ background-color: var(--vino) !important; }
.has-vino-color{ color: var(--vino) !important; }
.has-uva-background-color{ background-color: var(--uva) !important; }
.has-uva-color{ color: var(--uva) !important; }
.has-black-background-color{ background-color: var(--black) !important; }
.has-black-color{ color: var(--black) !important; }
.has-gris-background-color{ background-color: var(--gris) !important; }
.has-gris-color{ color: var(--gris) !important; }
.has-light-background-color{ background-color: var(--light) !important; }
.has-light-color{ color: var(--light) !important; }
.has-white-background-color{ background-color: var(--white) !important; }
.has-white-color{ color: var(--white) !important; }
.has-border-background-color{ background-color: var(--border) !important; }
.has-border-color{ color: var(--border) !important; }

main{margin-top: var(--header-height);}
*{scroll-margin-top: var(--header-height);}

.wpcf7-spinner{
	position: absolute;
	top: calc(50% - 12px);
	right: 15px;
}

.wpcf7-response-output{
	margin: 0 !important;
	margin-top: .75rem !important;
	text-align: center;
	font-size: 16px;
	border: 1px solid !important;
	border-radius: .2222rem !important;
	padding: .25rem 1rem !important;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
	border-color: #ffb900 !important;
}
.wpcf7 form.sent .wpcf7-response-output{
	border-color: #46b450 !important;
}

.wpcf7-list-item{
	margin-left: 0;
}
.wpcf7-acceptance label{
	font-weight: 400;
}

/****************************************** HEADER ***************************************/

.site_header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header-height);
	z-index: 99;
	-webkit-box-shadow: 0 5px 15px 0 rgba(0,0,0,.1);
	box-shadow: 0 5px 15px 0 rgba(0,0,0,.1);
	background-color: var(--white);
}

.main_menu{
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	gap: 2.5rem;
}

.main_menu li:not(.cta) a{
	font-weight: 600;
	text-decoration: none;
}

/****************************************** BLOCK HERO ***************************************/

.block_hero{
	min-height: calc(100vh - var(--header-height));
}

.block_hero .block_media{
	width: 55%;
}

.block_hero .block_media video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.block_hero .btn_play{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(33,18,38,.4);
	border: 0 none;
	z-index: 98;
	color: var(--white);
}

.block_hero .btn_play::after{
	content: '';
	display: block;
	width: 5rem;
	height: 5rem;
	background-color: rgba(0,0,0,.8);
	border-radius: 50%;
	position: absolute;
	top: calc(50% - 2.5rem);
	left: calc(50% - 2.5rem);
	z-index: -1;
	transition: transform .3s ease;
}
.block_hero .btn_play:hover::after{
	transform: scale(1.2);
}

.block_hero .block_content{
	padding-left: 5rem;
	padding-right: 5rem;
}

/****************************************** Section ***************************************/

.block_section .block_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/****************************************** Swiper ***************************************/

.swiper-slide{
	height: auto;
}
.swiper-pagination{
	position: static;
}
.swiper-pagination .swiper-pagination-bullet{
	background-color: var(--uva);
	transition: width .2s ease;
	margin-top: 1rem !important;
}
.swiper-pagination .swiper-pagination-bullet-active{
	width: 1.75rem;
	border-radius: 50em;
}
/****************************************** FOOTER ***************************************/
.site_footer a{
	text-decoration: none;
}
.rrss_links{
	gap: .75rem;
}
.rrss_links .rrss_link svg{
	width: 1.5rem;
	height: 1.5rem;
}
/****************************************** RESPONSIVE ***************************************/

@media only screen and (max-width: 1539px){
	
	.block_hero .block_content{
		padding-left: 3rem;
		padding-right: 3rem;
	}
}
@media only screen and (max-width: 1399px){
}

@media only screen and (max-width: 1199px){
	
	.site_header_nav{
		position: fixed;
		top: var(--header-height);
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--white);
		border-top: 1px solid var(--border);
		padding: 2rem 0;
		display: none;
	}
	.site_header.show .site_header_nav{
		display: block;
	}
	
	.main_menu{
		flex-direction: column;
		gap: 0;
		align-items: stretch;
	}
	
	.main_menu li:not(:last-child){
		border-bottom: 1px solid var(--light);
	}
	.main_menu li:not(.cta) a{
		display: flex;
		padding: .85rem 1.5rem;
	}
	
	.main_menu li.cta{
		padding: .5rem 1.5rem;
	}
	.main_menu li.cta a{
		width: 100%;
	}
	
	.block_hero{
		min-height: 0;
	}
	.block_hero .block_media{
		width: 100%;
		height: 50vw;
	}
}

@media only screen and (max-width: 991px){
	.block_hero .block_content {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media only screen and (max-width: 767px){
	.block_hero .block_content {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media only screen and (max-width: 575px){
}