/* 
Theme Name: Camping Village Dei Fiori
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

html { scroll-behavior: smooth; }
html body.page-template-default ul { margin-bottom: 1em; }

.elementor-popup-modal.main-menu,
.elementor-popup-modal.main-menu .dialog-widget-content,
.elementor-popup-modal.main-menu .dialog-widget-content .dialog-message { width: 100%; max-width: 100%; }


.e-loop-item-25314 .elementor-element.elementor-element-a67f09a:not(.elementor-motion-effects-element-type-background),
.e-loop-item-25314 .elementor-element.elementor-element-a67f09a > .elementor-motion-effects-container > .elementor-motion-effects-layer,

.e-loop-item-22282 .elementor-element.elementor-element-a67f09a:not(.elementor-motion-effects-element-type-background),
.e-loop-item-22282 .elementor-element.elementor-element-a67f09a > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.e-loop-item-22606 .elementor-element.elementor-element-a67f09a:not(.elementor-motion-effects-element-type-background),
.e-loop-item-22606 .elementor-element.elementor-element-a67f09a > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

/*
@media (max-width: 575px) {
    html { scroll-snap-type: y mandatory; }
    
    div.scroll-snap-stop {
        scroll-snap-stop: always;
        scroll-snap-align: center;   
    }
    
    .scroll-snap-stop-loopitem .elementor-grid > div {
        scroll-snap-stop: always;
        scroll-snap-align: center;
    }
    
    .elementor-location-footer {
        scroll-snap-stop: normal;
        scroll-snap-align: center;
    }
}
*/

/* Add your custom styles here */

input.focus, select.focus, textarea.focus, .btn.focus,
input:focus, select:focus, textarea:focus, .btn:focus,
input:focus-visible, select:focus-visible, textarea:focus-visible, .btn:focus-visible,
input:focus-within, select:focus-within, textarea:focus-within, .btn:focus-within {
	outline: 0;
	-webkit-box-shadow: none;
    box-shadow: none !important;
}

/* MAIN MENU */
@media (max-width: 767px) {
    #elementor-popup-modal-21488 ul li { /* text-align: center; */ }
    #elementor-popup-modal-21488 ul li a { display: block; }
}

/* MAIN MENU LINGUE  */
#elementor-popup-modal-21488 .wpml-ls {

    font-family: "new-hero", Sans-serif;
    font-size: 1.3em;
    font-weight: 200;
    text-transform: uppercase;
    line-height: 10px;
    border: 0;
    margin: 0;
    padding: 0;
}

#elementor-popup-modal-21488 .wpml-ls a {
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 767px) {
    #elementor-popup-modal-21488 .wpml-ls ul { }
    #elementor-popup-modal-21488 .wpml-ls li { width: 50px; }
    #elementor-popup-modal-21488 .wpml-ls a { display: block; }
}

@media (min-width: 768px) {
    #elementor-popup-modal-21488 .wpml-ls li { margin-right: 8%; }
}

/*
* Tuds tDatepicker
* Copyright 2018 tuds - crazychicken
* Licensed under: LICENSE
* Version: v1.0.4
*/

.booking.t-datepicker { display: flex; -ms-flex-align: end; align-items: center; justify-content: center; }
.booking.t-datepicker .t-check-in, .booking.t-datepicker .t-check-out { min-width: 100px; border-color: #202020; border-radius: 0; }
.booking.t-datepicker .booking-submitted {
    border-radius: 0;
    color: #ffffff;
    background-color: var( --e-global-color-secondary );
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1em;
    padding: 10px 15px;
    height: 40px;
    border: 1px solid var( --e-global-color-secondary );
}

.booking .t-dates .t-date-info-title { opacity: 1; }

.t-check-in { border-right-color: #e8e8e8; }
.t-date-title { color: #202020; }
.t-special-day:before { border-color: transparent; border-top-color: #202020; border-right-color: #202020; }
.t-datepicker-day { border-color: #ededed; background: #fff; }
.t-day, .t-range, .t-start, .t-end, .t-disabled { background: #fafafa; border-color: #fff; }
.t-disabled { background: transparent; }
.t-highlighted { color: #65C8C9; }
.t-highlighted.t-disabled { background: #fafafa; }
.t-start, .t-end, .t-end-limit { color: #fff; background: #65C8C9; }
.t-range, .t-range-limit { color: #65C8C9; }
.t-datepicker .t-range { background: #c9f6e9; }
.t-range-limit { background: #a1f0d9; }
.t-range-limit.t-start, .t-range-limit.t-end { color: #fff; background: #3ce0af; }
.t-check-in .t-end, .t-check-out .t-start, .t-check-out tr ~ .t-end { color: #fff; background: #65C8C9; }
.t-hover-day, .t-hover-day-content, .t-hover-day:hover { color: #fff; background: #65C8C9; } 
.t-hover-day::after { border-color: transparent; border-top-color: #65C8C9; }
.t-today, .t-today .t-hover-day-content { background: #aeaeae; }
.t-today::after { border-top-color: #aeaeae; }
.t-today:hover, .t-today:hover .t-hover-day-content { background: #65C8C9 }
.t-today:hover::after { border-top-color: #65C8C9 }
.t-start.t-today, .t-end.t-today { color: #fff; }
.t-start.t-today, .t-start.t-today .t-hover-day-content, .t-end.t-today, .t-end.t-today .t-hover-day-content { background: #65C8C9 }
.t-start.t-today::after, .t-end.t-today::after { border-top-color: #65C8C9 }
table.t-table-condensed { margin-block-end: 0;}
table.t-table-condensed th { border: none; }
table.t-table-condensed td, table.t-table-condensed th { line-height: 1.4em; font-size: 14px; }
table.t-table-condensed thead:first-child tr:first-child th { border: none; border-block-start: none; }

/*
.booking.t-datepicker td,
.booking.t-datepicker th { background-color: inherit; }
*/

.booking.booking-footer { max-width: 100%; }
.booking.booking-footer .booking-arrivo { width: 80%; }
.booking.booking-footer .booking-submit { width: 20%; }
.booking.booking-footer .booking-submit button { width: 100%; }
.booking.booking-footer .t-dates { background-color: #fff; }

@media (min-width: 768px) {
    .booking.t-datepicker .t-check-in, .booking.t-datepicker .t-check-out { min-width: 150px; }
    .booking.booking-footer .booking-arrivo { width: auto; min-width: 65%; }
    .booking.booking-footer .booking-submit { width: auto; min-width: 25%; }
}



/* ------------------------------------------ */
/* FORM CF7 --------------------------------- */
.wpcf7-form .elementor-form-fields-wrapper {
	margin-left: calc( -20px/2 );
	margin-right: calc( -20px/2 );
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
}

.wpcf7-form .elementor-form-fields-wrapper:last-child {
	margin-bottom: -20px;
}

.wpcf7-form .elementor-field-group .wpcf7-form-control-wrap {
	width: 100%;
	max-width: 100%;
}

.wpcf7-form .elementor-field-group .elementor-field-label { margin-bottom: 4px; }

.wpcf7-form label {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
    line-height: 1.5;
}
.wpcf7-form .wpcf7-acceptance label { line-height: 1.5; }
.wpcf7-form .wpcf7-acceptance label a { text-decoration: none; border-bottom: 1px solid; }
.wpcf7-form .wpcf7-acceptance label .wpcf7-list-item-label,
.wpcf7-form .wpcf7-list-item label .wpcf7-list-item-label { margin-left: 6px; }
.wpcf7-form ol { display: block; width: 100%; max-width: 100%; margin-top: .9rem; margin-bottom: .9rem; }
.wpcf7-form .elementor-field-group {
    padding-right: calc( 20px/2 ); padding-left: calc( 20px/2 ); margin-bottom: 20px;
    -webkit-box-align: start; -ms-flex-align: start; align-items: start; align-content: start; }
.wpcf7-form .elementor-field-group.align-items-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.wpcf7-form .elementor-field-group.elementor-field-type-submit { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.wpcf7-form .elementor-field-group input[type="date"],
.wpcf7-form .elementor-field-group input[type="email"],
.wpcf7-form .elementor-field-group input[type="number"],
.wpcf7-form .elementor-field-group input[type="password"],
.wpcf7-form .elementor-field-group input[type="search"],
.wpcf7-form .elementor-field-group input[type="tel"],
.wpcf7-form .elementor-field-group input[type="text"],
.wpcf7-form .elementor-field-group input[type="url"],
.wpcf7-form .elementor-field-group select,
.wpcf7-form .elementor-field-group textarea {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
	line-height: 1.5;
	background-color: transparent;
	border: 1px solid #AAA;
	border-radius: 0px;
}

.wpcf7-form .elementor-field-group input.wpcf7-validates-as-required {
	border: 1px solid;
	border-image-slice: 1;
	border-width: 1px;
	border-image-source: linear-gradient(to left, #AAA, var( --e-global-color-secondary ));
}

.wpcf7-form .elementor-field-group input::placeholder,
.wpcf7-form .elementor-field-group textarea::placeholder{
	font-family: var( --e-global-typography-text-font-family ), Sans-serif;
	font-weight: var( --e-global-typography-text-font-weight );
}

.wpcf7-form .elementor-field-group input.wpcf7-validates-as-required::placeholder,
.wpcf7-form .elementor-field-group textarea.wpcf7-validates-as-required::placeholder {
	font-weight: var( --e-global-typography-text-font-weight );
}

.wpcf7-form .elementor-field-group input[type="submit"] {
	color: #ffffff;
	background-color: var( --e-global-color-secondary );
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
    font-size: 14px;
    line-height: 1em;
    text-transform: uppercase;

    padding-left: 15px;
    padding-right: 15px;
    padding-top: 0.3em;
    padding-bottom: 0;

    min-width: 100px;
    height: 40px;

    border: none;
	border-radius: 0;
}

.wpcf7-form .elementor-field-group input[type="file"] {
	width: 100%;
	border-radius: 0px;
	padding: .5rem 1rem;
	-webkit-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
	padding-left: 120px;
	cursor: pointer;
	font-weight: var( --e-global-typography-text-font-weight );
	color: #adadad;
}

.wpcf7-form .elementor-field-group input[type="file"]:hover { color: #333; }
.wpcf7-form .elementor-field-group input[type="file"]::file-selector-button,
.wpcf7-form .elementor-field-group input[type="file"]::-webkit-file-upload-button {
	color: #ffffff;
	background-color: var( --e-global-color-primary );
	min-width: 100px;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
	text-transform: uppercase;
	border: none;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
}

.wpcf7-form .wpcf7-not-valid-tip {
	color: #e85241;
	margin-left: 1rem;
	font-size: 0.9em;
	font-weight: var( --e-global-typography-text-font-weight );
}

.wpcf7-form .elementor-field-group input.wpcf7-validates-as-required.wpcf7-not-valid:not(.wpcf7-acceptance):not(.wpcf7-radio) {
	border-color: #e85241;
    padding-right: calc(1.5em + 0.75rem)!important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    border-image-source: linear-gradient(to left, #AAA, #e85241);
}
.wpcf7-form select.wpcf7-not-valid { background-position: right calc(0.375em + 0.75rem) center; }


/* GALLERIA SFALSATA */
@media (min-width: 1024px) {
    .galleria-sfalsata .elementor-widget-container a.e-gallery-item { overflow: unset; }

    .galleria-sfalsata .elementor-widget-container a:nth-child(2) > div.e-gallery-image,
    .galleria-sfalsata .elementor-widget-container a:nth-child(6) > div.e-gallery-image { padding-bottom: 90%; width: 120%; }

    .galleria-sfalsata .elementor-widget-container a:nth-child(3) > div.e-gallery-image,
    .galleria-sfalsata .elementor-widget-container a:nth-child(7) > div.e-gallery-image { padding-bottom: 90%; width: 120%; margin-left: -20%; }

    .galleria-sfalsata .elementor-widget-container a:nth-child(4n) > div.e-gallery-image { margin-top: -10%; }
}


/* TEMPLATE SINGLE POST - ALLOGGIO */
#accordion-dotazioni summary .e-n-accordion-item-title-icon {
    margin-top: -3px;
}

#accordion-dotazioni .elementor-widget-text-editor ul {
    font-size: 1rem;
    list-style: none;
    padding: 0;
}

#accordion-dotazioni .elementor-widget-text-editor ul li {
    border-bottom: 1px solid #ccc;
    padding-top: 10px;
    padding-bottom: 10px;
}

.single-alloggi .elementor-widget-image-carousel .elementor-swiper-button,
.page-template-default .elementor-widget-image-carousel .elementor-swiper-button {
    background-color: var( --e-global-color-4594124 );
    border-radius: 50% 50% 50% 50%;
    padding: 10px 10px 10px 10px;
}

.single-alloggi .dettagli-icona .elementor-widget-container { display: flex; align-items: center; line-height: 1em; }
.single-alloggi .dettagli-icona .elementor-widget-container img { margin-right: 0.5em; width: 50px; max-height: 40px; }

@media (min-width: 768px) {
    .single-alloggi .elementor-widget-image-carousel .elementor-swiper-button,
    .page-template-default .elementor-widget-image-carousel .elementor-swiper-button {
        padding: 20px 20px 20px 20px;
    }
}

/* PO DELTA TOURISM */
.podeltatourism #formShopWindow form#form_search_attractions {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
    font-weight: var( --e-global-typography-text-font-weight ) !important;
    font-size: var( --e-global-typography-text-font-size ) !important;
    color: var( --e-global-color-primary ) !important;
}

.podeltatourism #formShopWindow form#form_search_attractions {
    background: none !important;
    border: none !important;
}

.podeltatourism #formShopWindow form#form_search_attractions::before {
    background: none !important;
    border: none !important;
}

.podeltatourism #formShopWindow form#form_search_attractions label {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
    font-weight: var( --e-global-typography-text-font-weight ) !important;
    font-size: 1rem !important;
    color: var( --e-global-color-primary ) !important;
    text-transform: none !important;
}

.podeltatourism #formShopWindow form#form_search_attractions input {
    border: 1px solid var( --e-global-color-primary ) !important;
    border-radius: 0 !important;
}

.podeltatourism #formShopWindow form#form_search_attractions .buttons_wrapper button {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
    font-weight: var( --e-global-typography-text-font-weight ) !important;
    font-size: 14px !important;
    line-height: 1em !important;
    padding: 14px 15px 10px 15px !important;
    text-transform: uppercase !important;
    border: 1px solid var( --e-global-color-secondary ) !important;
    background: var( --e-global-color-secondary ) !important;
    color: #fff !important;
    border-radius: 0 !important;
}

.podeltatourism #formShopWindow form#form_search_attractions .buttons_wrapper button:hover {
    border: 1px solid var( --e-global-color-secondary ) !important;
    background: #ffffff !important;
    color: var( --e-global-color-secondary ) !important;
}

.podeltatourism #formShopWindow form#form_search_attractions a {
    font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
    font-weight: var( --e-global-typography-text-font-weight ) !important;
    font-size: 1rem !important;
    color: var( --e-global-color-primary ) !important;
}

/* LOOP CAROUSEL ALLOGGI */
.elementor-widget-loop-carousel .swiper-slide.alloggi { transition: filter 1s ease-in-out; }
.elementor-widget-loop-carousel .swiper-slide.alloggi.swiper-slide-active { filter: grayscale(0); }
.elementor-widget-loop-carousel .swiper-slide.alloggi:not(.swiper-slide-active) { filter: grayscale(90%); }

/* ***** QR WELCOME ***** */
body .welcome-cat-text .elementor-widget-container a {
    color: var( --e-global-color-primary );
    border: 1px solid;
    padding: 0.4em 0.75em;
}

.welcome-cat-text a::before {
    content: "\f0c1";
    font-family: "Font Awesome 5 Free";
    font-size: 0.9em;
    font-weight: 900;
    margin-right: 0.5em;
}

.welcome-grid { --grid-column-gap: 30px; --grid-row-gap: 30px; padding-bottom: 3rem; }
.welcome-grid .elementor-posts .elementor-post { border: 1px solid #ccc; }
.welcome-grid .elementor-posts .elementor-post__card .elementor-post__text { padding: 0 20px 0 20px; }
.welcome-grid .elementor-posts .elementor-post .elementor-post__text { margin-top: 0; }
.welcome-grid .elementor-posts .elementor-post .elementor-post__text .elementor-post__button { margin-bottom: 20px; }
.welcome-grid .elementor-posts .elementor-post .elementor-post__text .elementor-post__button .elementor-button {
    fill: var( --e-global-color-secondary );
    color: var( --e-global-color-6c3933b );
    background-color: var( --e-global-color-secondary );
    border-style: solid;
    border-width: 1px 1px 1px 1px;
}