/*
Theme Name: Gran Fodà Special Theme
Theme URI: http://aitec.it
Author: The Aitec Team
Author URI: http://aitec.it
Description: A special theme created (with love!) just for Gran Fodà
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: granfoda
*/

:root {
	--base-font: 'Futura Lt Pro', sans-serif;
	--alt-font: 'Shrikhand', cursive;
	--extra-font: 'Georgia Pro', serif;
	--base-font-size: 18px;
	--text-color: #420862;
	--text-color-light: #ffffff;
	--text-color-dark: #420862;
	--text-color-alt: #e86717;
	--primary-color: #e86717;
	--primary-color-text: #2f0647;
	--secondary-color: #2f0647;
	--secondary-color-text: #ffffff;
	--tertiary-color: #d5bdf6;
	--tertiary-color-text: #420862;
	--background-color: #b0cbbe;
	--header-height: 180px;
	--header-menu-height: 50px;
	--single-post-height: 38em;
}


body { font-size: var(--base-font-size); font-family: var(--base-font); font-weight:300; color: var(--text-color); background-color: var(--background-color); position: relative; margin: 0; padding: 0; }

a { color: var(--primary-color); -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
a:hover { color: var(--text-color-dark); -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
a:visited, a:active, a:focus { -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; border: none; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { margin-bottom: 0.8em; font-weight: 400; font-family:var(--alt-font); color:var(--primary-color); }

.text-white .h1, .text-white .h2, .text-white .h3, .text-white .h4, .text-white .h5, .text-white .h6, .text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6 { color: var(--text-color-light); }
.text-dark .h1, .text-dark .h2, .text-dark .h3, .text-dark .h4, .text-dark .h5, .text-dark .h6, .text-dark h1, .text-dark h2, .text-dark h3, .text-dark h4, .text-dark h5, .text-dark h6 { color: var(--text-color-dark); }

.page-wrapper { overflow: hidden; max-width: 100vw; position:relative; }

.alt-font { font-family: var(--alt-font); }

.text-dark { color: var(--text-color-dark); }

.text-more-smaller { font-size: 0.45rem; line-height: 1.2rem; }
.text-smaller { font-size: 0.652rem; line-height: 1.2rem; }
.text-small { font-size: 0.875rem; line-height: 1.2rem; }
.text-big { font-size: 1.2rem; line-height: 1.5rem; }
.text-bigger { font-size: 1.4rem; line-height: 1.5rem; }
.text-more-bigger { font-size: 1.8rem; line-height: 1.5rem; }

hr { border-top: 1px solid rgba(255, 255, 255, 0.6); }

b, strong { font-weight: 700; }

p { margin-bottom: 1em; }

figure { margin: 0; }

blockquote { font-size: 1.5rem; line-height: 1.5em; font-style: italic; font-weight: 300; display: inline-block; }

.autosquare, .aspect-image { overflow: hidden; display: block; background-color: none; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; }
.autosquare img, .aspect-image img { opacity: 0; max-width: 100%; max-height: 100%; }
.aspect-image { aspect-ratio: 1 / 1; }

.btn { font-family: var(--alt-font); text-transform: uppercase; border-radius: 0px; padding: 0.375rem 2.75rem; }

.btn.btn-default { color: #fff; border: 1px solid var(--tertiary-color); background: var(--tertiary-color); }
.btn.btn-default.hc { color: #000; }
.btn.btn-default:hover { background: transparent; border: 1px solid var(--tertiary-color); color: var(--tertiary-color); }
.btn.btn-default:visited, .btn.btn-default:active, .btn.btn-default:focus { border: 1px solid var(--tertiary-color); }

.btn.btn-default.inverted { border: 1px solid var(--text-color-dark); background-color: var(--text-color-dark); color: #fff; }
.btn.btn-default.inverted:hover { border: 1px solid var(--text-color-dark); background-color: transparent; color:var(--text-color-dark); }
.btn.btn-default.inverted:visited, .btn.btn-default.inverted:active, .btn.btn-default.inverted:focus { border: 1px solid var(--text-color-alt); }

.btn.btn-default.white { border: 1px solid #fff; background-color: #fff; color: var(--primary-color); }
.btn.btn-default.white:hover { color: #fff; background-color: transparent; border: 1px solid #fff; }
.btn.btn-default.white:visited, .btn.btn-default.white:active, .btn.btn-default.white:focus { border: 1px solid #fff; }

.btn.btn-default.white.inverted { border: 1px solid #fff; background-color: transparent; color: #fff; }
.btn.btn-default.white.inverted:hover { color: var(--primary-color); border: 1px solid #fff; background-color: #fff; }
.btn.btn-default.white.inverted:visited, .btn.btn-default.white.inverted:active, .btn.btn-default.white.inverted:focus { border: 1px solid #fff; }

.btn-wrapper, .button-wrapper { margin: 0.5em 0; }
.btn-wrapper.centro, .button-wrapper.centro { text-align: center; }
.btn-wrapper.destra, .button-wrapper.destra { text-align: right; }
.btn-wrapper.inline, .button-wrapper.inline { display: inline-block; vertical-align: top; margin-right: 0.4em; }

img.size-full { max-width: 100%; height: auto; margin-bottom: 1em; }
img.alignright, .alignright { float: right; margin: 10px 0 1em 1em; }
img.alignleft, .alignleft { float: left; margin: 10px 1em 1em 0; }
img.aligncenter { display: block; margin: 0 auto; max-width: 100%; text-align: center; }
img.alignnone { max-width: 100%; margin-bottom: 1em; }

.neutralize { -webkit-filter: grayscale(1); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); filter: gray; filter: grayscale(100%); transition: all 0.2s ease-in-out; }
.neutralize:hover { -webkit-filter: grayscale(0); -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); filter: gray; filter: grayscale(0%); }

.show-overflow { overflow: visible !important; }

textarea.form-control { max-height: 90px; }

/* General Animation Styles */

.delay200 { -webkit-animation-delay: 0.2s !important; -moz-animation-delay: 0.2s !important; animation-delay: 0.2s !important; }
.delay400 { -webkit-animation-delay: 0.4s !important; -moz-animation-delay: 0.4s !important; animation-delay: 0.4s !important; }
.delayHalf, .delay500 { -webkit-animation-delay: 0.5s !important; -moz-animation-delay: 0.5s !important; animation-delay: 0.5s !important; }
.delay600 { -webkit-animation-delay: 0.6s !important; -moz-animation-delay: 0.6s !important; animation-delay: 0.6s !important; }
.delay800 { -webkit-animation-delay: 0.8s !important; -moz-animation-delay: 0.8s !important; animation-delay: 0.8s !important; }
.delayOne { -webkit-animation-delay: 1s !important; -moz-animation-delay: 1s !important; animation-delay: 1s !important; }
.delayOneHalf { -webkit-animation-delay: 1.5s !important; -moz-animation-delay: 1.5s !important; animation-delay: 1.5s !important; }
.delayTwo { -webkit-animation-delay: 2s !important; -moz-animation-delay: 2s !important; animation-delay: 2s !important; }
.delayThree { -webkit-animation-delay: 3s !important; -moz-animation-delay: 3s !important; animation-delay: 3s !important; }

/* Header Styles */

#main-header { z-index: 1001; position: absolute; top: 0; left: 0; right: 0; height: var(--header-height); text-align: center; }
#main-header.sticky { background: var(--secondary-color); position: fixed; left: 0; right: 0; top: 0; }

#logo-wrapper { display: inline-block; height: var(--header-height); padding: 1rem 0; transform: translateY(33%); }
#logo-wrapper .logo { height: 100%;  max-width: 12vw;}
#main-header.sticky #logo-wrapper{ transform: translateY(0); }

#main-menu-offcanvas { width: 35vw; background-color: var(--secondary-color); }
#main-menu-offcanvas .btn-close { position: absolute; right: 1.5em; top: 1.5em; }
#main-menu-offcanvas .offcanvas-body { padding: 0; }
#main-menu-offcanvas .offcanvas-menu-container { height: 100%; }

#main-menu-offcanvas .offcanvas-menu-container-left { background: none }

#main-menu-offcanvas .main-menu { display: block; margin: 0; padding: 0; background: none; }
#main-menu-offcanvas .main-menu > li { display: block; margin: 0; padding: 0; border-bottom: 1px dashed var(--tertiary-color); }
#main-menu-offcanvas .main-menu > li:last-child { border-bottom:none; }
#main-menu-offcanvas .main-menu > li > a { text-decoration: none; font-size: 1.08em; font-weight: 500; line-height: 46px; display: block; }
#main-menu-offcanvas .main-menu > li > a:hover { color: var(--tertiary-color); }
#main-menu-offcanvas .main-menu .sub-menu { list-style: none inside; margin: 0; padding: 0; display: block; }
#main-menu-offcanvas .main-menu .sub-menu li a { text-decoration: none; font-size: 0.85em; display: block; padding: 0 0 0.3em 0; }
#main-menu-offcanvas .main-menu .sub-menu li a:hover { color: var(--tertiary-color); }
#main-menu-offcanvas .main-menu .sub-menu li:last-child a { padding: 0 0 1em 0; }

#menu-toggle-wrapper { display: block; position: absolute; height: var(--header-height); }
#menu-toggle-wrapper h1 { display: inline-block; vertical-align: middle; position: relative; padding: calc(var(--header-height) / 3) 0; margin: 0; font-family: var(--extra-font); color: var(--primary-color); font-size: 1.4rem; height: var(--header-height); line-height: 3rem; text-transform: uppercase; letter-spacing: 0.45rem; }

#menu-toggle { display: inline-block; vertical-align: middle; position: relative; height: var(--header-height); cursor: pointer; z-index: 3; width: var(--header-height); padding: calc(var(--header-height) / 3) 0; }
#menu-toggle span { height: 0.5rem; background-color: var(--primary-color); width: 4em; display: block; margin: 0.5rem auto; border-radius: 1em; }

.header-buttons { position: absolute; top: 0; right: 0; z-index: 2; list-style: none inside; margin: 0; padding:0 1.5rem; display: table; bottom:0; }
.header-buttons li {  display: table-cell; vertical-align: middle; padding:0; }

.header-buttons .language-selector {  list-style: none inside; padding: 0; margin: 0;  }
.header-buttons .language-selector li { display: table-cell; vertical-align: middle; padding:calc(var(--header-height) / 3) calc(1.5rem / 2); }
.header-buttons .language-selector li > a, .header-buttons .language-selector li > span{ font-family: var(--extra-font); font-size: 1.4rem; color: var(--primary-color); text-decoration: none; text-transform: uppercase; line-height: 3rem; }
.header-buttons .language-selector li > a:hover, .header-buttons .language-selector li.active > span { color: var(--tertiary-color); }

.offcanvas.offcanvas-start { background: linear-gradient(to right, #fff6ed 50%, #ffffffb8 50%); }

#main-menu-offcanvas .language-selector { list-style: none inside; margin: 0; padding: 0; text-transform: uppercase; font-family: var(--alt-font); text-align: center; display: flex; gap: 0.5em; justify-content: center; font-size: 1.5em; font-weight: 300; }
#main-menu-offcanvas .language-selector li a, #main-menu-offcanvas .language-selector li span { text-decoration: none; display: block; padding: 0.5em; }
#main-menu-offcanvas .language-selector li a:hover { color: var(--tertiary-color); }
#main-menu-offcanvas .language-selector li.active span { color: var(--tertiary-color); }

#main-menu-offcanvas .menu-item mark { padding: 0; background-color: transparent; font-style: italic; font-size: 0.675em; padding: 0 1em; }

/* Slider Styles */

#slider-wrapper { position: relative; background: var(--secondary-color); box-shadow: 0 0 33vw rgba(0, 0, 0, 0.2) inset; }
#slider-wrapper #slider { position: relative; min-height: 350px; height: 100vh; }

.carousel .carousel-inner { position: relative; width: 100%; height: 100%; }
.carousel .carousel-inner .carousel-item { height: 100%; }
.carousel .slide { background-attachment: scroll; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: cover; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.carousel .slide img { opacity: 0; height: 100%; width: 100; }

.carousel-caption { position: absolute; left: 8em; right: 8em; bottom: 2em; color: #fff; text-align: left; z-index: 2; }
#slider.page .carousel-caption { bottom: 54px; top: 100px; }

.carousel-control-next, .carousel-control-prev { width: 8.33333333%; }
.carousel-caption-wrapper { display: table; width: 60%; height: 100%; padding-left: calc(1.5rem * 0.5); }
#slider.page .carousel-caption-wrapper { width: 100%; text-align: center; }
.carousel-caption-wrapper .carousel-caption-inner { display: table-cell; vertical-align: middle; }

#slider.home .carousel-caption h2 { color: #fff; line-height: 1em; margin: 0; font-size: 2.7rem; font-weight: 100; text-align: center; }
#slider.home .carousel-caption h2 strong { font-weight: 900; }
#slider.home .carousel-caption p { font-size: 1.4em; }

#slider.home .carousel-caption a { font-weight: 300; }
#slider.home .carousel-caption a:hover { color: var(--tertiary-color); }

#slider.page .carousel-caption h1 { margin-bottom: 0; font-size: 3rem; font-weight: 700; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4); }

.slide-video { height: 100%; min-width: 100%; min-height: 56.68vw; }

.slide-cover { position: absolute; background: radial-gradient(circle at center, rgba(0, 0, 0, 0.15),rgba(0, 0, 0, 0.3));  right: 0; left: 0; top: 0; bottom: 0; z-index: 1; }

.slider-cta { font-size: 1.3em; color: white; }

#slider.home .carousel-caption h2, #slider.page .carousel-caption h1, #slider.home .carousel-caption p, #slider.home .carousel-caption a, #slider.home .carousel-caption .btn { opacity: 0; }
#slider.home .active.carousel-item-start .carousel-caption h2, #slider.page .active.carousel-item-start .carousel-caption h1, #slider.home .active.carousel-item-start .carousel-caption p, #slider.home .active.carousel-item-start .carousel-caption a, #slider.home .active.carousel-item-start .carousel-caption .btn { -webkit-animation-name: fadeOut; animation-name: fadeOut; -webkit-animation-duration: 0.25s; animation-duration: 0.25s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
#slider.home .active .carousel-caption h2, #slider.page .active .carousel-caption h1, #slider.home .active .carousel-caption a, #slider.home .active .carousel-caption p { -webkit-animation-name: fadeIn;  animation-name: fadeIn; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
#slider.home .active .carousel-caption p { -webkit-animation-delay: 0.2s; -moz-animation-delay: 0.2s; animation-delay: 0.2s; }
#slider.home .active .carousel-caption a, #slider.home .active .carousel-caption .btn { -webkit-animation-name: fadeIn; animation-name: fadeIn; -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-delay: 0.4s; -moz-animation-delay: 0.4s; animation-delay: 0.4s; }

#slider.home .active.carousel-item-start .carousel-caption p { -webkit-animation-delay: 0s; -moz-animation-delay: 0s; animation-delay: 0s; }

#slider.home .active.carousel-item-start .carousel-caption a, #slider.home .active.carousel-item-start .carousel-caption .btn { -webkit-animation-delay: 0s; -moz-animation-delay: 0s; animation-delay: 0s; }

#slider.home .carousel-indicators { bottom: 2em; z-index: 999; }
#slider.home .carousel-indicators [data-bs-target] { width: 35px; height: 30px; clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%); margin-right: -3px; margin-left: -3px; }
#slider.home .carousel-indicators .active { opacity: 1; background-color: #f8da9b; }

#slider.home .carousel-caption-inner { opacity: 0; }
#slider.home .active .carousel-caption-inner { -webkit-animation-name: fadeIn; animation-name: fadeIn; -webkit-animation-duration: 1.5s; animation-duration: 1.5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }

.slider-icon { max-width: 25%; }
.slider-subtitle { font-size: 3.5rem; font-weight: 300; margin-bottom: 0; margin-top: -0.5em; }
#slider.home .active .carousel-caption .page-title { font-weight: 500; font-size: 4rem; }

@media screen and (max-height: 768px) {
  .carousel-caption-wrapper .carousel-caption-inner { padding-top: 1em; }
}

@media screen and (max-height: 300px) {
  #slider.home .carousel-caption h2 { font-size: 3.5rem; word-wrap: break-word; }
}

@media (orientation: portrait) {
  #slider.home { height: 80vh; }
  .admin-bar #slider.home { height: calc(80vh - 32px); }
}

@media screen and (max-height: 782px) {
  .admin-bar #slider.home { height: calc(80vh - 46px); }
}

/* Breadcrumb Styles */

#bcrumbs-wrapper { position: relative; min-height: 2em; z-index: 2; text-align: center; background-color: var(--primary-color); }
.breadcrumbs { font-size: 0.875em; text-transform: uppercase; letter-spacing: 0.5px; font-family: var(--alt-font); }
.breadcrumbs ol { list-style: outside none none; margin: 0; padding: 0; display: inline-block; vertical-align: top; }
.breadcrumbs ol li { display: inline-block; vertical-align: top; }
.breadcrumbs ol li:after { content: ""; display: inline-block; vertical-align: middle; margin: -2px -2px 0 0; color: #fff; background-color: #fff; width: 1.5em; height: 1px; }
.breadcrumbs ol li:last-child:after { display: none; }
.breadcrumbs ol li > a, .breadcrumbs ol li > span { margin: 0 0.2em; color: #fff; text-decoration: none; }
.breadcrumbs ol li > a:hover { text-decoration: underline; }

/* Content Styles */

#primary.no-slider { padding-top: var(--header-height); }

.inner #content { padding-top: var(--header-height-inner); }

.blog-content { background-color: #fff; }

.background-floating-left { background-repeat: no-repeat !important; background-position: 80% center !important; background-size: 52% auto !important; }
.background-floating-right { background-repeat: no-repeat !important; background-position: 20% center !important; background-size: 52% auto !important; }
.background-linear-gradient .vc_column-inner { background-image: linear-gradient(30deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3)); padding: 4em; }
.background-linear-gradient.vc_col-has-fill .vc_column-inner { padding: 3em !important; }
.background-linear-gradient-inverted .vc_column-inner { background-image: linear-gradient(30deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3)); }

/* Deco Title Styles */

.deco-title { font-family:var(--base-font); line-height: 1em; color: var(--primary-color); font-weight: 300; }

.deco-title .deco-eylet { font-family: var(--extra-font); font-weight: 400; text-transform: uppercase; display: block; font-size: 0.876em; margin: 0 0 0.5em 0; margin:0; letter-spacing:0.5rem;  }
.deco-title mark { font-family:var(--alt-font); font-weight:400; color:var(--primary-color); background:transparent; margin:0;   }


.deco-title.sinistra, .deco-title.sinistra .deco-eylet { text-align: left; }
.deco-title.destra, .deco-title.destra .deco-eylet { text-align: right; }
.deco-title.centro, .deco-title.centro .deco-eylet { text-align: center; }

.text-white .deco-title, .deco-title.text-white, .text-white .deco-eylet, .deco-eylet.text-white { color: var(--text-color-light); }
.text-dark .deco-title, .deco-title.text-dark, .text-dark .deco-eylet, .deco-eylet.text-dark { color: var(--text-color-dark); }

h1.deco-title { font-size: 4.2rem; }
h2.deco-title { font-size: 3.8rem; }
h3.deco-title { font-size: 3.6rem; }
h4.deco-title { font-size: 3.2rem; }
h5.deco-title { font-size: 3.rem; }
h2.deco-eylet { font-size: 2.2rem; }
h3.deco-eylet { font-size: 1.8rem; }
h4.deco-eylet { font-size: 1.6rem; }
h5.deco-eylet { font-size: 1.2rem; }
h6.deco-eylet { font-size: 1rem; }

.deco { position: relative; }
.deco:before { content: ''; position: absolute; display: block; width: 4em; height: 4em; background-color: #fefefe; top: -5em; }
.deco.montagne:before { width: 150px; height: 70px; top: -80px; background:url('img/bio-hotel-gran-foda-logo-montagne.png') scroll no-repeat center center / cover transparent; }
.deco.gianna:before {  width: 180px; height: 180px; top: -190px; background:url('img/gianna-pecora-bio-hotel-gran-foda.png') scroll no-repeat center center / cover transparent; }

/* Block Styles */

.block-wrapper, .child-element-wrapper { position: relative; }
.block-wrapper .block-wrapper-content, .child-element-wrapper .child-element-content { display: table; width: 100%; height: 100%; transition: all 0.4s ease-in; }
.block-wrapper:hover .block-wrapper-content, .child-element-wrapper:hover .child-element-content { background: linear-gradient(to top, var(--primary-color), transparent) !important; }
.block-wrapper .block-wrapper-content .block-wrapper-text, .child-element-wrapper .child-element-content .child-element-text { display: table-cell; padding: 5%; font-family: var(--alt-font); vertical-align: middle; }

.block-wrapper .block-wrapper-content .block-wrapper-text .deco-title span, .child-element-wrapper .child-element-content .child-element-text .deco-title span{ color: #fff; text-shadow: 0 0 0.2em var(--primary-color); }

.block-wrapper.centro, .child-element-wrapper.centro { text-align: center; }
.block-wrapper.destra { text-align: right; }
.block-wrapper .block-wrapper-content .block-wrapper-text .block-wrapper-description, .child-element-wrapper .child-element-content .child-element-text .child-element-text-subtitle { margin: 1em 0; font-size: 1.4em; font-weight: 300; line-height: 1.2em; min-height: 5em; }
.block-wrapper.centro .block-wrapper-content .block-wrapper-text .block-wrapper-description, .child-element-wrapper.centro .child-element-content .child-element-text .child-element-text-subtitle { margin: 1em; }

.block-wrapper:hover .block-wrapper-content .deco-title, .child-element-wrapper:hover .child-element-content .deco-title, .block-wrapper:hover .block-wrapper-content .deco-title .deco-eylet, .child-element-wrapper:hover .child-element-content .deco-title .deco-eylet { color:#fff !important; }
.block-wrapper:hover .block-wrapper-content .btn-default, .child-element-wrapper:hover .child-element-content .btn-default{ background-color:var(--tertiary-color) !important; border-color:var(--tertiary-color) !important; color:#fff !important; }

.block-wrapper.text-white .btn, .child-element-wrapper.text-white .btn { color: #fff; border-color: #fff; }
.block-wrapper .block-wrapper-icon { width: 33%; margin: 1em auto 2em auto; opacity: 1 !important; transition: 0.25s all ease-in; }
.block-wrapper:hover .block-wrapper-icon { transform: scale(1.2); }


/* Image Wrapper Styles */

.image-wrapper { display: block; position: relative; margin-bottom: 1em; }
.image-wrapper figcaption { font-size: 4.5rem; line-height: 1em; opacity: 0; display: table; height: 100%; width: 100%; background-color: rgba(0, 169, 220, 0); position: absolute; top: 0; right: 0; left: 0; bottom: 0; -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
.image-wrapper.visible figcaption { opacity: 1; }
.image-wrapper.partially-visible figcaption { opacity: 1; background-color: rgba(0, 169, 220, 0.1); }
.image-wrapper:hover figcaption { opacity: 1; }
.image-wrapper.partially-visible:hover figcaption { opacity: 1; background-color: rgba(0, 169, 220, 0.8); }
.image-wrapper figcaption span { display: table-cell; vertical-align: middle; color: #fff; font-weight: 900; text-align: center; padding: 1em; }

.image-wrapper.rounded { overflow: hidden; border-radius: 3em !important; }

.image-wrapper.window { border-radius: 0.2em; border: 0.2em solid var(--secondary-color); }
.image-wrapper.window figure{ border-radius: 0.2em; }

.single-post-wrapper hr { border-top: 1px dotted #601c40; }

.text-contrast { color: #000 !important; }

.slash-effect::before { content: ""; position: absolute; width: 200%; height: 500%; right: -118%; top: -100px; background-color: rgba(40, 40, 40, 0.8); transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); }
.slash-effect-2::before { content: ""; position: absolute; width: 200%; height: 500%; right: 0; top: -100px; background-color: rgba(255, 255, 255, 0.05); transform: rotate(30deg); -webkit-transform: rotate(30eg); -moz-transform: rotate(30deg); -ms-transform: rotate(30deg); -o-transform: rotate(30deg); }
.slash-effect-3::before { content: ""; position: absolute; width: 200%; height: 500%; right: 0; top: -100px; background-color: rgba(0, 0, 0, 0.1); transform: rotate(30deg); -webkit-transform: rotate(30eg); -moz-transform: rotate(30deg); -ms-transform: rotate(30deg); -o-transform: rotate(30deg); }

.big-dotted { list-style: none inside; counter-reset: big-dotted-counter; padding: 0; margin: 1em 0; }
.big-dotted li { counter-increment: big-dotted-counter; line-height: 2em; margin-bottom: 1em; position: relative; }
.big-dotted li:before { content: counter(big-dotted-counter, upper-alpha); display: block; width: 2em; height: 2em; background-color: #1d743e; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); display: inline-block; vertical-align: middle; text-align: center; color: #fff; margin-right: 1em; margin-top: -2px; }

.big-dotted[start="7"] { counter-reset: big-dotted-counter 6; }
.big-dotted[start="15"] { counter-reset: big-dotted-counter 14; }

.text-white .big-dotted li:before { background-color: #fff; color: #1d743e; }

h3 em strong { font-size: 1.4em; text-transform: uppercase; font-weight: 300 !important; color: #4a6c57; letter-spacing: -2px; }
.text-white h3 em strong { color: #fff; }

.check-list { list-style: none inside; padding: 0.5em 1em; margin: 0; }
.check-list li { display: block; padding: 0.2em; font-size: 1.4em; font-weight: 300; position: relative; }
.check-list li:before { content: ""; font-family: "Font Awesome 5 Free"; color: #4a6c57; display: inline-block; margin-right: 0.2em; font-weight: bold; }
.text-white .check-list, .text-white .check-list li:before { color: #fff; }

.product-attribute-image { position: relative; border-radius: 50%; box-shadow: 0 0 4px rgba(0, 0, 0, 0.2); }
.product-attribute-image .product-attribute-title { line-height: 1.1em; position: absolute; bottom: 0; text-align: center; font-size: 0.8em; color: #fff; background-color: rgb(20, 81, 43); padding: 0.2em 2em; border: 0px solid #fff;  top: 60%; transform: rotate(-30deg) translate(15%, 20%); width: 100%; }

/* Child Elements Styles */

.child-element-wrapper .child-element .child-element-image { position: relative; }
.child-element-wrapper .child-element .child-element-content { text-align: center; position: absolute; left: 0; top: 0; background: #FFF6ED63; position: absolute; top: 0; right: 0; left: 0; bottom: 0; -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
.child-element-wrapper .child-element .child-element-content:hover { background: radial-gradient(circle at center, transparent, rgba(0, 0, 0, 0.4)); }

.child-element-wrapper .child-element .child-element-image .child-element-title { display: table; margin: 0.8em auto; }
.child-element-wrapper .child-element .child-element-image .child-element-title span { display: block; text-align: center; font-family: var(--alt-font); -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; color: #fff; text-shadow: 0 0 0.2em var(--primary-color); }
.child-element-wrapper .child-element:hover .child-element-image .child-element-title span { opacity: 1; }

/* Single and Page Styles */

.post-share { border-top: 1.5px dotted #460829; }
.post-share:after { content: ""; display: block; clear: both; }
.post-meta { border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
.post-attachment-wrapper { border-top: 1px dotted #074293; }
.post-attachment-wrapper .post-attachment { list-style: none inside; margin: 0; padding: 0; }
.post-attachment-wrapper .post-attachment a { font-size: 1.4em; }

.usp-list { margin: 1em !important; padding: 1em; position: relative; font-size: 1.4em; color: #2383c4; z-index: 1; }
.usp-list:before { background-color: #d2e4fd; content: ""; display: block; position: absolute; right: 24%; left: 2em; top: 0; bottom: 0; z-index: -1; }
.usp-list li { line-height: 0.8em; margin-bottom: 0.2em; }
.usp-list li em { font-size: 0.8em; color: #555; }

.product-highlight { background: linear-gradient(to bottom,#e5e5e5 0%,#b5b5b5 61%,#9e9e9e 62%,#b6b6b6 100%); }
.product-highlight .archive-description { color: #074293; }

.product-category-wrapper, .case-category-wrapper { display: block; text-align: center; text-transform: uppercase; color: #2383c4; }
.case-category-wrapper { color: #074293; }
.product-category-wrapper img, .case-category-wrapper img, .product-category-wrapper .fas, .case-category-wrapper .fas, .product-category-wrapper .fab, .case-category-wrapper .fab { border: 5px solid #2383c4; background: #fff; border-radius: 100%; padding: 0; margin: 0 auto 15px auto; width: 140px; height: 140px; display: block; max-width: 100%; font-size: 4em; line-height: 127px; }

.case-post-wrapper { background-color: #fff; }
.case-post-wrapper .card-title { font-size: 1.2rem; word-break: break-word; border-bottom: 1px dotted; padding-bottom: 0.5em; }
.case-post-wrapper .card-text { height: 4.1em; overflow: hidden; line-height: 1em; margin-bottom: 0.5em; font-size: 0.9em; letter-spacing: 0.2px; }

.case-post-wrapper .case-image { position: relative; }
.case-post-wrapper .case-image .category-icon { z-index: 10; position: absolute; width: 70px; right: -1em; top: 1em; padding: 2px; background-color: #2383c4; border-radius: 100%; height: 70px; line-height: 74px; text-align: center; color: #fff; }
.case-post-wrapper .case-image .category-icon i { font-size: 2em; }
.case-post-wrapper .case-image figure { position: relative; width: 100%; height: 100%; background-attachment: scoll; background-position: center; background-repeat: no-repeat; background-size: cover; border-right: 5px solid #2383c4; border-bottom-right-radius: 0; border-top-right-radius: 0; }
.case-post-wrapper .case-image figure img { max-width: 100%; max-height: 300px; opacity: 0; }

.product-thumbnail { max-width: 100%; margin: 0 auto 1em auto; height: auto; }

/* Archive Page Styles */
.cat-list a { text-transform: uppercase; font-size: 0.8em; font-weight: 700; color: #222; }
.cat-list a:hover { color: #1e2859; } 

.post-title { text-transform: uppercase; }

.content-blog .card-img { height: 100%; overflow: hidden; display: block; min-height: 150px; background-color: #efefef; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.content-blog .card-img img { opacity: 0; margin: 0; max-width: 100%; height: auto; max-height: 350px; }

.social-share { float: right; margin: 0.5em 0;}
.social-share li { padding: 0 0.5em;}
.social-share li:last-child { padding-right: 0; }
.social-share li:first-child { padding-left: 0; }

.archive .post .button-wrapper.sinistra, .blog .post .button-wrapper.sinistra, .search .post .button-wrapper.sinistra { text-align: left; }
.archive .post .button-wrapper.centro, .blog .post .button-wrapper.centro, .search .post .button-wrapper.centro { text-align: center; }
.archive .post .button-wrapper.destra, .blog .post .button-wrapper.destra, .search .post .button-wrapper.destra { text-align: right; }

.archive .products.row { margin-top: 30px; }

.post .post-thumbnail, .search .post-thumbnail { height: 120px; border: none; overflow: hidden; display: block; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; }
.post .post-thumbnail img, .search .post-thumbnail img { opacity: 0; }

.no-results { margin-bottom: 2em; }

.child-page figure { position: relative; }
.child-page figure figcaption { position: absolute; top: 0; right: 0; left: 0; bottom: 0; display: table; z-index: 10; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.3); }
.child-page figure figcaption span { display: table-cell; vertical-align: middle; text-align: center; padding: 1em; background-color: rgba(0, 0, 0, 0.3); transition: all 0.2s ease-in; -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; }
.child-page figure figcaption span:hover { background-color: rgba(0, 0, 0, 0); }
.child-page figure figcaption span h3 { font-size: 2.2rem; font-weight: 700; position: relative; z-index: 3; }

/* Blog roll elements Styles */

.br-list { margin-bottom: 2em; }

.br-element { position: relative; }
.br-element a { -moz-transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; color: var(--text-base-color); text-decoration: none; }

.br-slider { margin: 0 4em; }

.br-slider .br-slider-stager { overflow: hidden; }

.br-slider .br-slider-control { position: relative; opacity: 0; transition: opacity 0.6s ease-in; }

.br-slider:hover .br-slider-control { opacity: 1; transition: opacity 0.1s ease-in; }

.br-slider .br-slider-control span { color: var(--text-color); position: absolute; text-align: center; width: 4em; z-index: 20; -moz-transition: all 0.2 ease-in; -webkit-transition: all 0.2 ease-in; transition: all 0.2 ease-in; cursor: pointer; height: 6em; line-height: 7.2em; }
.br-slider .br-slider-control span i { font-size: 2em; }
.br-slider .br-slider-control span:hover { color: var(--primary-color); }

.angle { position: relative; }
.angle:before, .angle:after { display: block; content: ""; position: absolute; width: 2em; height: 2em; top: -1px; left: -1px; }
.angle:before { background: var(--tertiary-color); z-index: 1; box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.4); }
.angle:after { background: #fff; z-index: 2; clip-path: polygon(0 0, 0% 100%, 100% 0); }

.br-slider .br-slider-control .br-slider-control-left { left: 0; }
.br-slider .br-slider-control .br-slider-control-right { right: 0; }

.card .card-body .card-button-wrapper { position: absolute; padding: calc(var(--bs-card-spacer-y) * 0.6) var(--bs-card-spacer-x); display: block; text-transform: uppercase; font-family: var(--alt-font); border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius); transition: 0.2s all ease-in; -moz-transition: all 0.2 ease-in; -webkit-transition: all 0.2 ease-in; right: 0; left: 0; bottom: 0; background-color: #fff; }

.crossnav-wrapper .card .card-body ul.card-categories li a:hover, .br-slider .br-element .card .card-body ul.card-categories li a:hover { transition: 0.2s all ease-in; -moz-transition: all 0.2 ease-in; -webkit-transition: all 0.2 ease-in; text-decoration: underline; }

.crossnav-wrapper .card .card-body .card-button-wrapper:hover, .br-slider .br-element .card .card-body .card-button-wrapper:hover { transition: 0.2s all ease-in; -moz-transition: all 0.2 ease-in; -webkit-transition: all 0.2 ease-in; text-decoration: underline; }

.gallery-item .br-element { height: auto; }

.br-element .post-link-wrapper { position: absolute; right: 0; left: 0; bottom: 0; background: #fff; z-index: 1; padding: 15px; }

.post-image { margin-bottom: 1em; }

.card-img, .card-img-top { position: relative; border-radius: 0; }

.br-element .card .card-img-top figure figcaption { position: absolute; z-index: 0; top: 0; display: table; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at bottom, transparent 60%, var(--text-color-dark)); text-align: center; opacity: 0; -moz-transition: opacity 0.4s ease-in-out; -webkit-transition: opacity 0.4s ease-in-out; transition: opacity 0.4s ease-in-out; }
.br-element .card .card-img-top figure figcaption span { display: table-cell; vertical-align: middle; font-family: var(--alt-font); text-transform: uppercase; color: #fff; text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.8); }
.br-element .card:hover .card-img-top figure figcaption {
  opacity: 1;
}

.br-element .card .card-img-top figure  {
  max-width: 100%;
}

.br-element .card {
  border: 1px solid var(--secondary-color);
  border-radius: 2px;
}
.br-element .card .card-img-top {
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}
.br-element .card .card-body {
  position: relative;
  height: 16em;
  overflow: hidden;
  color: var(--tertiary-color);
}

.br-element .card-title {
  color: var(--primary-color);
  font-size: 1.5em;
}
.br-element .card-text {
  color: var(--primary-color);
  font-size: 1em;
  line-height: 1.1em;
}

.br-element .card .card-body .card-categories {
  padding: 0;
  list-style: none;
}
.br-element .card .card-body .card-categories li {
  font-family: var(--alt-font);
  text-transform: uppercase;
}

.br-element.widget {
  margin-bottom: 30px;
}

/*
.card {
  color: #111525;
}
.card .card-icon {
  position: absolute;
  display: block;
  top: 0;
  right: 0.5em;
  font-size: 1.5em;
  line-height: 2em;
  height: 2em;
  width: 2em;
  text-align: center;
  color: #fff;
  background-color: #7e114b;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.card .card-icon.associate-logo {
  height: 3em;
  width: 3em;
  background: #fff;
  line-height: 3em;
  top: 0.2em;
  right: 0.2em;
  border: 2px solid #fff;
  z-index: 2;
  background-position: center;
  background-size: cover;
  background-attachment: scroll;
}
.card .card-icon.associate-logo img {
  opacity: 0;
  max-width: 0;
  max-height: 0;
}*/

.post.card .card-body {
  height: 310px;
  overflow: hidden;
  position: relative;
}
.content-blog.post.card .card-body {
  height: auto;
  overflow: visible;
}
.post.card .button-wrapper {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0;
  background-color: #fff;
}

.card-header.cat-list:before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline;
  color: #111525;
  vertical-align: middle;
  font-family: "Font Awesome 5 free";
  font-weight: bold;
  margin-right: 2px;
  font-size: 1em;
}

.card-img {
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  height: 25vh;
  min-height: 120px;
}
.card-img img {
  opacity: 0;
  max-width: 100%;
  max-height: 100%;
}

.hubspot-post {
  border: 1px solid #e5e5e5;
}
.hubspot-post .hubspot-post-body {
  height: 220px;
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 1em;
}
.hubspot-post .hubspot-post-body.with-excerpt {
  height: auto;
}
.hubspot-post .hubspot-post-body .hubspot-post-date {
  margin: 0.5em 0 0 0;
  display: block;
}
.hubspot-post .hubspot-post-body .hubspot-post-title {
  margin: 0;
}
.hubspot-post .hubspot-post-body .button-wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}
.hubspot-post .hubspot-post-body.with-excerpt .button-wrapper {
  position: relative;
  margin-top: 1em;
}
.text-white .hubspot-post .hubspot-post-body .button-wrapper .btn.btn-default {
  border: 2px solid #fff;
  background-color: #fff;
  color: #1a3962;
  font-weight: 600;
}
.text-white
  .hubspot-post
  .hubspot-post-body
  .button-wrapper
  .btn.btn-default:hover {
  color: #fff !important;
  background-color: transparent;
  border: 2px solid #fff;
}
.text-white
  .hubspot-post
  .hubspot-post-body
  .button-wrapper
  .btn.btn-default:visited {
  border: 2px solid #fff;
}
.hubspot-post .hubspot-image {
  position: relative;
}
.hubspot-post .hubspot-image .hubspot-image-hover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: 0.2s all ease-in;
  background: rgba(25, 36, 54, 0.4);
}
.hubspot-post .hubspot-image .hubspot-image-hover > div {
  display: table;
  width: 100%;
  height: 100%;
}
.hubspot-post .hubspot-image .hubspot-image-hover > div > span {
  display: table-cell;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
}
.hubspot-post .hubspot-image .hubspot-image-hover > div > span > strong {
  display: inline-block;
  margin: 0 auto;
  font-weight: 300;
  color: #fff;
  text-transform: uppercase;
  font-size: 2em;
  padding: 0.2em 1em;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.hubspot-post .hubspot-image:hover .hubspot-image-hover {
  opacity: 1;
}

.hubspot-post .hubspot-image .hubspot-cat-list {
  position: absolute;
  right: 0;
  top: 0;
  list-style: none inside;
  padding: 1em;
  margin: 0;
  transition: 0.2s all ease-in;
}
.hubspot-post .hubspot-image .hubspot-cat-list li {
  display: inline-block;
  margin: 0 0.4em;
  border: 1px solid #fff;
  letter-spacing: -1px;
  padding: 0.5em 1em;
  border: 1px solid #fff;
  background-color: rgba(0, 0, 0, 0.1);
}
.hubspot-post .hubspot-image:hover .hubspot-cat-list {
  opacity: 0;
}

.icon-wrapper {
  margin: 0 auto;
  max-width: 50%;
  color: #1a3962;
  text-align: center;
}
.icon-wrapper .icon-wrapper-image {
  transition: 0.2s all ease-in-out;
}
.icon-wrapper:hover .icon-wrapper-image {
  transform: scale(1.2);
}
.icon-wrapper.wider {
  max-width: 80%;
}
.icon-wrapper.full {
  max-width: 100%;
}

.icon-wrapper-text {
  font-size: 0.9em;
  text-transform: uppercase;
  margin-bottom: 1.2em;
}

.industries-products-wrapper,
.industries-platforms-wrapper,
.industries-crossnav-wrapper {
  background-color: #fff;
}
.industries-magazine-wrapper {
  background-color: #d2e7ec;
}

.flex-5-columns {
  flex-basis: 20%;
}

/* Archive Styles */

.post-wrapper {
  padding: 2em 0 0 0;
  margin-top: 2em;
}

/* Cross Navigation Styles */

#crossnav-wrapper {
  background-color: var(--background-color);
}

/* Sidebar Styles */

.sidebar ul {
  list-style: none inside;
  padding: 0;
  margin: 0 0 1em 0;
}
.sidebar .sidebar-widget {
  margin: 0 0 0.5em 0;
  padding: 1em;
}
.sidebar .sidebar-widget a {
  text-decoration: none !important;
  color: #192436;
}
.sidebar .sidebar-widget h2 {
  font-size: 1.4em;
  margin: 0 0 0.5em 0;
  font-weight: 300;
}

.widget_recent_entries .post-date {
  display: block;
  margin-bottom: 0.5em;
  font-size: 0.8em;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
}
.widget_recent_entries li {
  padding: 0.2em 0 0.2em 2em;
}
.widget_recent_entries li:before {
  content: "";
  font-family: "Font Awesome 5 Free";
  color: #192436;
  float: left;
  font-weight: bold;
  margin: 0 0 0 -1.8em;
}

.widget_search .search-wrapper input[type="text"] {
  border-radius: 3px 3px 0 0;
}
.widget_search .search-wrapper button {
  border-radius: 0 0 3px 3px;
}

.sidebar .widget_categories .cat-item {
  border: 1px solid #192436;
  display: inline-block;
  padding: 0.5em 1em;
  margin: 0 0.5em 0.5em 0;
}
.sidebar .widget_categories .cat-item:hover {
  background-color: #192436;
  color: #fff;
}
.sidebar .widget_categories .cat-item:hover a {
  color: #fff !important;
}

	/* Contact form Styles */

	span.wpcf7-list-item { display: inline !important; margin: 0 0 0 0; }
	.wpcf7-spinner { display: block; margin: 0.2em auto; position: absolute; right: 0.2em; top: 0.2em; z-index: 5; }
	.wpcf7-form .newsletter-row { font-size: 0.8em; }
	#main-footer div.newsletter-row .form-group.form-check { padding-left: 0px; }
	#main-footer div.first-line-footer p { margin-bottom: 0; }
	#main-footer .newsletter-claim h3 { font-size: 3rem; margin-bottom: 0; }
	#main-footer div.newsletter-row input.wpcf7-email { border-radius: 0 0 0 0; }
	#main-footer div.newsletter-row input.wpcf7-submit { padding: 0.375rem 0; }
	#main-footer div.newsletter-row .wpcf7-not-valid-tip { color: white; }

	/* Footer Styles */

	footer a { color: #fff; }
	footer a:hover { color: #ccc; }

	#main-footer { position: relative; background-color: var(--tertiary-color); background-image: url("img/bg-alps-trasp.png"); background-position: center; background-size: cover; color: #fff; font-size: 1.2em; margin-bottom:89px;}

	#main-footer ul { list-style: none inside; margin:0; padding:0; line-height:1.1em; }
	#main-footer ul li { display: inline-block; margin: 0; padding: 0; }
	#main-footer ul li:last-child { padding: 0; }
	#main-footer ul li a { text-decoration: none; }
	#main-footer .first-line-footer { border-top: 1px solid rgba(255, 255, 255, 0.8); }
	#main-footer .second-line-footer { border-top: 1px solid rgba(255, 255, 255, 0.8); border-bottom: 1px solid rgba(255, 255, 255, 0.8); }
	#main-footer h2 { margin: 0.2em 0 0.5em 0; color: #eee; }

	#main-footer ul.info-footer li { padding-right: 1em; }
	#main-footer ul.info-footer li:last-child { padding-right: 0; }
	#main-footer ul.bottom-menu { display:inline-block; }
	#main-footer ul.bottom-menu li { padding-right: 1em; vertical-align:top; font-family: var(--alt-font); font-size: 0.95em; }
	#main-footer ul.bottom-menu li a { font-family: var(--alt-font); }

	
	#company-info { color: #aaa; margin: 2em 0; }
	#company-info dt { display: inline-block; margin-right: 0.2em; font-weight: 400; color: #fff; margin-bottom: 0; }
	#company-info dd { display: inline; margin: 0; }
	#company-info dd:after { content: ""; display: block; margin-bottom: 0.5em; }

	#aitec { float: right; }
	
	/* Social Styles */
	
	#social-wrapper { position: relative; display: table; width: 100%; height: 100%; }
	#social-wrapper .social-list { list-style: none inside; margin: 0; padding: 0; font-size: 1.5em; vertical-align: middle; display: table-row; }
	#social-wrapper .social-list li { display: table-cell; vertical-align: middle; padding: 0; text-align: center; }
	#social-wrapper .social-list li:last-child { padding: 0; }

/* Pagination Styles */

.pagination {
  display: block;
  text-align: center;
  margin: 2em 0;
}
.pagination .screen-reader-text {
  display: none;
}
.pagination .page-numbers {
  border: 1px solid #074293;
  background-color: #074293;
  color: #fff;
  display: inline-block;
  height: 3em;
  line-height: 3em;
  width: 3em;
  vertical-align: top;
}
.pagination .page-numbers.current {
  background-color: #fff;
  color: #074293;
}
.pagination .page-numbers:not(.current):hover {
  background-color: #2383c4;
  color: #fff;
}
.pagination .page-numbers.next,
.pagination .page-numbers.prev {
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
}

/* Modal lightbox */

.lightbox {
  cursor: pointer;
}
.modal-lightbox {
  background-color: rgba(0, 0, 0, 0.8);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100001;
}
.modal-lightbox .modal-lightbox-close,
.modal-lightbox .modal-lightbox-prev,
.modal-lightbox .modal-lightbox-next {
  font-size: 3em;
  position: absolute;
  color: #fff;
  transition: all 0.1s ease-in;
  cursor: pointer;
}
.modal-lightbox .modal-lightbox-close:hover,
.modal-lightbox .modal-lightbox-prev:hover,
.modal-lightbox .modal-lightbox-next:hover {
  color: #6dadd6;
}
.modal-lightbox .modal-lightbox-close {
  right: 0.5em;
  top: 0.5em;
}
.modal-lightbox .modal-lightbox-prev {
  left: 0.5em;
  top: 50%;
}
.modal-lightbox .modal-lightbox-next {
  right: 0.5em;
  top: 50%;
}
.modal-lightbox-image {
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.8);
  position: absolute;
}

/*Random numbers effects Styles*/

.randomNumbers {
  margin: 1em 0;
  text-align: center;
  opacity: 0;
  position: relative;
  font-size: 1.4em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.randomNumbers > span {
  margin: 0 0 0.5em 0;
  display: block;
  text-align: center;
  font-size: 3em;
  font-weight: 700;
}

.randomNumbers .numberCover {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
.randomNumbers .numberCover:after {
  display: none;
}

.randomNumbers.left {
  text-align: left;
}
.randomNumbers.left > span {
  text-align: left;
}
.randomNumbers.right {
  text-align: right;
}
.randomNumbers.right > span {
  text-align: right;
}

/* Map Shortcode */

#map-wrapper {
  min-height: 450px;
}

/* Various Styles */

.address-block { list-style: none inside; margin: 0; padding: 1em; text-align: center; border: 1px solid rgba(27, 27, 27, 0.25); }
.address-block a:hover { color: var(--tertiary-color); }

#help-cta { position: fixed; right: 0; bottom: 2em; width: 2em; height: 2em; display: block; background-color: #c91e1e; color: #fff; z-index: 9999; text-align: center; font-size: 2.5em; line-height: 2em;  border-radius: 0.25em 0 0 0.25em; box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.3); -webkit-transition: all 0.2s ease-out; transition: all 0.2s ease-out; }

.grecaptcha-badge { display: none; }

.aitec-svg-logo.white .fillText { fill: #ffffff; }
.aitec-svg-logo.black .fillText { fill: #000000; }
.aitec-svg-logo.special .fillText { fill: rgba(255, 255, 255, 0); stroke: rgba(255, 255, 255, 0.3); stroke-width: 4px; transition: all 0.3s ease-in-out; }
.aitec-svg-logo.special:hover .fillText { fill: rgba(255, 255, 255, 1); }

#aitecHtmlLogo { display: none; }

#aitec-credits {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 0.9em;
  color: #3f3f3f;
}
#aitec-credits #made-by {
  text-transform: uppercase;
}
#aitec-credits #made-by em {
  font-family: "Indie Flower", cursive;
  font-size: 1.2em;
  text-transform: none;
  margin-right: 0.2em;
}
#aitec-credits a {
  text-decoration: none;
  color: #fff !important;
  font-family: "Times New Roman", Times, serif;
  font-size: 22px;
  text-transform: none !important;
  margin: 0 0 0 5px;
}
#aitec-credits .at {
  display: inline-block;
  font-size: 1.15em;
  font-weight: 300;
  margin-right: -3px;
  margin-top: -4px;
  vertical-align: top;
}
#aitec-credits .it {
  background: radial-gradient(#42518c, #42518c, rgba(208, 208, 208, 0)) repeat
    scroll 0 0 rgba(0, 0, 0, 0);
  color: #dd3333;
  display: inline-block;
  height: 1em;
  line-height: 1em;
  width: 1em;
  margin: 0 -10px 0 0 !important;
}

@media only screen and (max-width: 480px) {
  #aitec-credits #made-by {
    display: none;
  }
  #aitec-credits a {
    position: relative;
    margin: 0;
  }
}

.form-check-label {
  line-height: 1.2em;
  font-size: 0.9em;
}

.modal-dialog {
  color: #222;
}

.aitec-privacy-notice-body {
  font-size: 0.8em;
  line-height: 1.2em;
  font-style: italic;
}
.aitec-privacy-notice-body a {
  color: #212529;
  text-decoration: underline;
}

.privacy-policy-container h1,
.privacy-policy-container h2,
.privacy-policy-container h3,
.privacy-policy-container h4 {
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}

/* Others */

.book-close {
  cursor: pointer;
  transition: all 0.2s ease-in;
  width: 32px;
  height: 32px;
  border: 1px solid #fff;
  background-color: #fff;
  color: #222;
  text-align: center;
  line-height: 30px;
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 100;
  font-size: 25px;
}
.book-close:hover {
  background-color: #e5e5e5;
  border: 1px solid #222;
  transition: all 0.2s ease-in;
}

/* PDF Book Styles */

.pdf-block {
  border: 1px solid #ccc;
  overflow: hidden;
}
.pdf-block .button-wrapper {
  margin: 0;
  padding: 0;
}
.pdf-block .button-wrapper .btn {
  border-radius: 0;
}

/* CSS3 Text columns styles */

.text-column-2 {
  columns: 2;
}
.text-column-3 {
  columns: 3;
}
.text-column-4 {
  columns: 4;
}
.text-column-5 {
  columns: 5;
}

/* Various Styles */

.wpcf7-list-item-label {
  display: none;
}
.wpcf7 a {
  text-decoration: underline;
}
.wpcf7-spinner {
  display: block;
  margin: 0.2em auto;
}
.wpcf7-not-valid-tip {
  font-size: 0.6em;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0.2em 1em;
}

.modal-dialog {
  font-family: var(--alt-font);
}
.modal-header {
  background-color: var(--primary-color);
  color: var(--secondary-color);
}
.modal-header .modal-title {
  font-weight: 300;
}
.modal-header .btn-close {
  background-color: var(--secondary-color);
}

/* New stuff */

.header-sidebar {
  display: block;
}


#mobile-menu {
  display: none;
  color: #fff;
  padding: 1em calc(var(--bs-gutter-x) / 2);
  margin-right: calc(calc(var(--bs-gutter-x) / 2) * -1) !important;
  margin-left: calc(calc(var(--bs-gutter-x) / 2) * -1) !important;
}
#mobile-menu > li {
  display: block !important;
  padding: 0.2em 1em;
  text-align: right;
}
#mobile-menu > li a {
  color: fff;
  font-size: 2em;
  display: block;
}

hr.solid {
  border-top: 2px solid white;
}

dd {
  margin: 0;
}

.btn-full-width {
  width: 100%;
}

.phone-link {
  line-height: 1em;
}

.inline-list li {
  display: inline-block;
  vertical-align: middle;
  padding: 0em 0.2em 0 0.2em;
}




#center-menu-container{ height: var(--header-height); }


.footer-language-buttons { display: none; position: relative; }
.footer-language-buttons li { display: inline-block !important; padding: 0 calc(0.5 * 1.5rem) !important; }
.footer-language-buttons li a { font-size: 1em; }
.footer-language-buttons .language-selector { list-style: none inside; text-align: center; padding: 0.375rem 0; margin: 0; font-family: var(--alt-font); color: #fff; text-transform: uppercase; }
.footer-language-buttons .language-selector li a { color: var(--secondary-color); text-decoration: none; }
.footer-language-buttons .language-selector li a:hover, .footer-language-buttons .language-selector li.active span { text-decoration: underline; }

#center-menu-container .main-menu { list-style: none inside; margin: 0; padding: 0; }
#center-menu-container .main-menu > li { display: inline-block; margin: 0; padding: 0 1em; }
#center-menu-container .main-menu > li > a { text-decoration: none; font-size: 1.05em; font-weight: 500; line-height: var(--header-menu-height); }
#center-menu-container .main-menu > li > a:hover { color: var(--tertiary-color); }

#center-menu-container .main-menu .sub-menu { display:none; }

.booking-menu { list-style: none inside; padding: 0; margin: 0; }
.booking-menu li{ display:block; margin:0; padding:0.5em; }
.booking-menu li a{ display:block; padding:0.375rem 0.867rem; background-color:var(--tertiary-color); border:1px solid var(--tertiary-color); text-transform:uppercase; text-align:center; color:#fff; text-decoration:none;  transition:all 0.2s ease-in; -moz-transition:all 0.2s ease-in; -webkit-transition:all 0.2s ease-in; }
.booking-menu li a:hover{ border:1px solid var(--primary-color); color:var(--primary-color); background:transparent; }

.white-bg-deco,
.white-bg-deco.self {
  box-shadow: 0 0 0.2em rgba(0, 0, 0, 0.2);
  background: #fff;
}
.white-bg-deco .vc_column-inner {
  background: #fff;
}

.green-border-deco {
  border: 4px solid var(--secondary-color);
}

.features-carousel .features-carousel-color {
  background-color: var(--features-carousel-color);
}

.features-carousel .features-slider {
  position: absolute;
  max-width: 40%;
  top: 50%;
  right: 0;
  margin-right: 6vw;
  transform: translateY(-50%);
  z-index: 5;
}
.reverse .features-carousel .features-slider {
  right: auto;
  left: 0;
  margin-left: 6vw;
  margin-right: 0;
}

.features-carousel .features-slider:before {
  content: "";
  display: block;
  position: absolute;
  border: 1px dashed var(--tertiary-color);
  width: 50%;
  bottom: -1em;
  top: -2em;
  right: -2em;
}
.reverse .features-carousel .features-slider:before {
  right: auto;
  left: -2em;
}

.features-carousel .features-slider .carousel-bullets {
  position: relative;
  width: auto;
  z-index: 2;
  padding: 0;
  display: block;
  text-align: right;
  line-height: 1.2em;
  height: 1.2em;
  margin: 0;
}
.reverse .features-carousel .features-slider .carousel-bullets {
  text-align: left;
}

.features-carousel .features-slider .carousel-bullets button {
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.8);
  line-height: 10px;
}
.features-carousel .features-slider .carousel-bullets button:hover,
.features-carousel .features-slider .carousel-bullets button.active {
  background: linear-gradient(
    30deg,
    rgba(255, 255, 255, 0.8),
    rgba(255, 255, 255, 0.3)
  );
}

.features-carousel .features-carousel-cycler {
  position: relative;
  height: 80vh;
}
.features-carousel .features-carousel-cycler img {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: cover;
}
.features-carousel .features-carousel-cycler img.active {
  z-index: 3;
}

.features-carousel .features-item-table {
  display: table;
  width: 100%;
  height: 100%;
}
.features-carousel .features-item-table-item {
  display: table-cell;
  vertical-align: middle;
}
.features-carousel .features-item-table-item .features-item-text {
  font-size: 1.1em;
  line-height: 1.4em;
  margin: 1em 0;
}

.visible-overflow {
  overflow: visible !important;
}

div.post-content-wrapper{
  height: var(--single-post-height);
  position: relative;
  text-align: center;
}

.post-content-image-background {
  height: var(--single-post-height);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.post-content-color-background {
  height: var(--single-post-height);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: var(--tertiary-color);
}

.page-gallery-wrapper {
  padding-top: 4em;
  padding-bottom: 4em;
  background-color: var(--background-color);
}

.slider-item-snap {
  text-align: center;
}

.slider-item-snap.tns-item {
  transform: scale(0.95);
  filter: blur(4px) brightness(0.8);
  -moz-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.slider-item-snap.tns-item.centered {
  transform: scale(1);
  filter: blur(0px) brightness(1);
  -moz-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.br-slider-snap-container h2 {
  text-align: center;
}

.slider-item-snap.tns-item .card-button-wrapper {
  position: relative;
}

.slider-item-snap.tns-item .card-title,
.slider-item-snap.tns-item .card-text,
.slider-item-snap.tns-item .card-button-wrapper {
  -moz-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  margin-top: 0.8em;
  opacity: 0;
}

.slider-item-snap.tns-item.centered .card-title,
.slider-item-snap.tns-item.centered .card-text,
.slider-item-snap.tns-item.centered .card-button-wrapper {
  -moz-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  opacity: 1;
}

.slider-item-snap figure.autosquare {
  width: 100%;
}

.slider-item-snap figure.autosquare figcaption {
  opacity: 0;
}

.br-slider-snap-container {
  position: relative;
}

.br-slider-snap-container .br-slider-control * {
  opacity: 0;
  -moz-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.br-slider-snap-container:hover .br-slider-control * {
  opacity: 1;
  -moz-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.br-slider-snap-container .br-slider-control-left,
.br-slider-snap-container .br-slider-control-right {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  font-size: 4em;
  color: #fff;
  align-items: center;
  justify-content: center;
  width: 25%;
  cursor: pointer;
}

.br-slider-snap-container .br-slider-control-left *,
.br-slider-snap-container .br-slider-control-right * {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.br-slider-snap-container .br-slider-control-left * {
  left: 50%;
}

.br-slider-snap-container .br-slider-control-right * {
  right: 50%;
}

.br-slider-snap-container .br-slider-control-left {
  left: 0;
  text-align: right;
}

.br-slider-snap-container .br-slider-control-right {
  right: 0;
}

.main-menu-mobile {
  display: none;
}

.mountain-wrapper {
  position: absolute;
  top: -55px;
}

.mountain {
  position: relative;
  width: 40px;
  height: 40px;
}

.mountain::before {
  content: "";
  display: block;
  background-color: var(--tertiary-color);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  width: 40px;
  height: 40px;
  z-index: 1;
}

.mountain::after {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: 22px;
  top: 3px;
  clip-path: polygon(50% 0%, 0% 100%, 80% 60%);
}

.mountain.middle {
  width: 60px;
  height: 60px;
  margin-left: -20px;
}

.mountain.middle::before {
  width: 60px;
  height: 60px;
}

.mountain.middle::after {
  width: 30px;
  height: 30px;
  left: 27px;
}

.mountain.last {
  margin-left: -20px;
  width: 36px;
  height: 36px;
}

.mountain.last::before {
  width: 36px;
  height: 36px;
}

.mountain.last::after {
  width: 18px;
  height: 18px;
  left: 21px;
}

.slider-center-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  z-index: 2;
  max-width: 75%;
}

.text-smaller {
  font-size: 0.95rem;
}

div.post-content-center.text-smaller {
  font-size: inherit;
}

#smart-pay-wrapper .hgPaymentWidget *{
  font-family: var(--base-font);
}

div.post-content-center{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

div.post-content-additional{
  color: #fff;
  background-color: var(--tertiary-color-light);
  padding: 0.5em;
  font-size: 0.9em;
}

div.post-content-wrapper a.btn{
  font-size: 1.2em;
}

div.post-content-additional p,
div.post-content-additional h1,
div.post-content-additional h2,
div.post-content-additional h3,
div.post-content-additional h4,
div.post-content-additional h5,
.no-margin p,
.no-margin h1,
.no-margin h2,
.no-margin h3,
.no-margin h4,
.no-margin h5{
  margin-bottom: 0;
}

@media screen and (max-width:600px){
	html #wpadminbar { top: -46px;}
	.logged-in #main-menu-offcanvas{ top: 46px;}
}


.floating-button-wrapper { display: block; position: fixed; z-index: 5; right: 2em; bottom: 6em; color: #fff; font-size: 1.2em; line-height: 1em; width: 6em; height: 8em; }


.floating-button-wrapper .burst-wrapper{ position: absolute; left:0; top:0; right:0; bottom:0; }

.floating-button-wrapper .burst, .floating-button-wrapper .burst:before, .floating-button-wrapper .burst:after { display:block; background: var(--floating-button-color-1); width: 100%; height: 100%; position: absolute; top:0; left:0; text-align: center; -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
.floating-button-wrapper .burst:before, .floating-button-wrapper .burst:after { content: ""; }
.floating-button-wrapper .burst:before { transform: rotate(30deg); }
.floating-button-wrapper .burst:after { transform: rotate(60deg); }

.floating-button-wrapper .burst.smaller, .floating-button-wrapper .burst.smaller:before, .floating-button-wrapper .burst.smaller:after { width: 90%; height: 90%; background: var(--floating-button-color-2); top:5%; left:5% }
.floating-button-wrapper .burst.smaller:before, .floating-button-wrapper .burst.smaller:after { top:0; left:0; width: 100%; height: 100%; }

.floating-button-wrapper .burst-icon-wrapper { position: absolute; z-index: 1; width: 100%; height: 100%; text-align: center; font-size: 2em; display: table; }
.floating-button-wrapper .burst-icon-wrapper i{ display:table-cell; vertical-align:middle; color:var(--floating-button-color-3); }

/*
.floating-button-wrapper:hover .burst, .floating-button-wrapper:hover .burst::after, .floating-button-wrapper:hover .burst::before{ background-color: var(--tertiary-color); -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
.floating-button-wrapper:hover i{ color: var(--tertiary-color); }
.floating-button-wrapper:hover .burst.smaller, .floating-button-wrapper:hover .burst.smaller::before, .floating-button-wrapper:hover .burst.smaller::after{ background-color: #fff; -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
*/

.floating-button-wrapper .mountain-wrapper{ position: absolute; left:0; top:0; right:0; bottom:0; }

.floating-button-wrapper .mountain, .floating-button-wrapper .mountain:before, .floating-button-wrapper .mountain:after { display:block; width: 100%; height: 100%; position: absolute; top:0; left:0; text-align: center; -moz-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; }
.floating-button-wrapper .mountain { background:var(--floating-button-color-1); clip-path:polygon(50% 0%, 0% 100%, 100% 100%); }
.floating-button-wrapper .mountain:before, .floating-button-wrapper .mountain:after { content: ""; }
.floating-button-wrapper .mountain:before { background: var(--floating-button-color-2); width: 90%; height: 90%; top: 7%; left: 5%; }
.floating-button-wrapper .mountain::after { background: var(--floating-button-color-3); width: 50%; height: 50%; top: 10%; left: 25%; }

.floating-button-wrapper .mountain.smaller { width: 60%; height: 60%; top:40%; left:50%; }
.floating-button-wrapper .mountain.smaller:before { width: 85%; height: 85%; top: 11%; left: 8%; }
.floating-button-wrapper .mountain.smaller:after { width: 45%; height: 45%; top: 19%; left: 28%; }

.floating-button-wrapper .mountain-icon-wrapper { position: absolute; z-index: 1; text-align: center; font-size: 2em; display: block; transform: rotate(-60deg); top: 5%; left: -12%; }
.floating-button-wrapper .mountain-icon-wrapper i{ display:table-cell; vertical-align:middle; color:#b56a46; }

.floating-button-wrapper .stamp-wrapper{ display: none; }
.floating-button-wrapper .stamp-wrapper:first-child{ background:url('img/special-offer.png') scroll no-repeat center center / contain transparent; display:block; position: absolute; left:0; top:0; right:0; bottom:0; }
.floating-button-wrapper .stamp-wrapper:hover{ -webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both -webkit-animation-name:wobble;animation-name:wobble }

.shadow-col .vc_column-inner { box-shadow: 0 0 1em 2px rgba(0, 0, 0, 0.2); }

#main-footer ul.bottom-menu{ display: inline-block; }

#vat-menu{ display:inline-block; vertical-align:top; margin-bottom:0;}
#vat-menu dt, #vat-menu dd { font-family: var(--text-alt-font); display: inline-block; vertical-align: top; font-size: 0.675em; line-height: 2.1em; font-weight: normal; }
#vat-menu dd { margin: 0 0.5em; }

#accessibility-switch { border: none; background-color: transparent; padding: 0; margin: 0; display: table; height: var(--header-height-inner); line-height: calc(var(--header-height-inner) * 1.1); font-size: 2rem; color: var(--tertiary-color); }
#accessibility-switch button { display: table-cell; vertical-align: middle; width:100%; text-align:center; }
#accessibility-switch:hover { color:var(--primary-color); }


.post-content-wrapper ul { text-align: left; display: block; max-width: 70%; margin: 0 auto 1em auto; border-left: 1px dotted #e999; border-right: 1px dotted #999; }