/**
* Theme Name:           KoobCamp Portals Theme
* Theme URI:            https://10100.to/wp-themes/koob-portal
* Description:          A smart theme created with KoobCamp in mind!
* Version:              0.99.99-193
* Author:               Michele Roncaglione Tet & Adriana Chiabrera
* Author URI:           https://10100.to/team_member
* Text Domain:          koob-portal
* Domain Path:          /languages
*
* License:              10100v1 or later
* License URI:          https://10100.to/licensing/v1
* Requires PHP:         7.0.0
* Requires at least:    5.4
* Tested up to:         5.5.1
*
* @author  10100 Team
* @author  Adriana Chiabrera
* @package \10100\Theme
*
* Copyright 2017-2020 10100 - All right reserved.
*/


/*** MEDIA QUERY ***/
/*******************/
/*
fino a 600px  : Extra small devices (phones)
fino a 772px  : Small devices
fino a 992px  : Medium devices (landscape tablets)
fino a 1200px : Large devices (laptops/desktops)
*/


:root {
  --color-primary: #2BB5B6;
  --color-primary-light: #9BE4E5;
  --color-secondary: #FF6347;
  --color-dark: #3C3C3B;
  --color-text: #373736;
	--color-text-light: #858F96;
	--color-background: #F5F5F5;

  --font-primary: 'Poppins', sans-serif;
  --font-secondary: 'Poiret One', cursive;
  --font-title: 'Enriqueta', serif;;

  --h1-size: 36px;
  --preh1-size: 26px;
  --text-size: 1rem;

  --border-radius: 6px;
	--transition: all 300ms ease-out;

  --wrapper-width: 1300px;
	--wrapper-width-big: 1600px;
  --wrapper-width-small: 800px;

  --section-margin-bottom: 5rem;
  --section-margin-bottom-small: 3rem;
  --section-padding-Y: 0;
	--section-padding-X: 1.5rem;

	--card-structure-min-width: 550px;
}

body {
  font-family: var(--font-primary);
  font-weight: 300;
  padding: 0;
	margin: 0;
	background-color: var(--color-background);
}


/* qui per SAFARI */
@media not all and (min-resolution:.001dpcm) {
	@media {

		}
	}

html {
	font-size: 14px;
	scroll-behavior: smooth;
}
@media screen and (min-width: 992px) {
  html {
    font-size: 15px;
  }
}

[id^=kc-],
[class^=kc-] {
  position: relative;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
}

p {
  color: var(--color-text-light);
  margin: 0;
  padding: 0;
}
strong {
  font-weight: 600;
}
.kc-colored {
	color: var(--color-primary);
}
.kc-small {
	font-size: 0.85rem;
	line-height: 1.15rem;
}

.kc-anchor-link {
	scroll-margin-top: 5rem;
}

@media screen and (max-width: 991px) {
  .kc-only-desktop {
		display: none;
	}
}
@media screen and (min-width: 992px) {
  .kc-only-mobile {
		display: none;
	}
}

.kc-hidden {
	display: none !important;
}

.kc-show {
	display: block !important;
}

#kc-main-wrapper > a[target="_new"] {
	display: none !important;
}

#cookie-law-info-bar a#cookie_action_close_header_reject {
	display: none;
}

.kc-img {
	max-width: 1200px;
	display: none !important;
}
.kc-img-cover {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

section.kc-simple-page {
	padding-top: 3rem;
}



/*** SECTION ***/
/***************/

section[id^=kc-],
section[class^=kc-] {
	width: 100%;
	z-index: 1;
	background-color: var(--color-background);
	background: var(--color-background);
	/* content-visibility: auto; */
	contain-intrinsic-size: 600px;
}
@media screen and (min-width: 992px) {
	section[id^=kc-],
	section[class^=kc-] {
		z-index: 60;
	}
}

section + section,
section + img + section,
section + script + section,
section + div + section {
	padding-top: 80px !important;
}

section + section.kc-section--small,
section + img + section.kc-section--small,
section + script + section.kc-section--small,
section + div + section.kc-section--small {
	padding-top: 40px !important;
}

section.kc-section--nopadding {
	padding-top: 0 !important;
}


/* utilizzato per dare lo spazio tra una una section e l'altra */
section.kc-spacer {
	background-color: var(--color-background);
	background: var(--color-background);
	height: var(--section-margin-bottom);
}

div.kc-spacer--small {
	background-color: var(--color-background);
	background: var(--color-background);
	height: var(--section-margin-bottom-small);
}


footer {
	z-index: 10;
	background-color: var(--color-background);
}




/*** WRAPPERS ***/
/****************/

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

.kc-wrapper {
  width: 100%;
  margin: 0 auto;
	padding: 0 var(--section-padding-X);
}
.kc-wrapper--big {
  max-width: var(--wrapper-width-big) !important;
}
.kc-wrapper--small {
  max-width: var(--wrapper-width-small);
}
/* se ho uno slider che deve "toccare i bordi" uso --no-padding-mobile */
.kc-wrapper.kc-wrapper--no-padding-mobile {
	padding: 0;
}

@media screen and (min-width: 772px) {
	.kc-wrapper {
  	max-width: var(--wrapper-width);
	}

	/* se ho uno slider largo uso --full con lo spazio laterale per le frecce */
	.kc-wrapper--full {
		margin: 0 80px;
		max-width: calc(100% - 160px);
	}
}






/*** COLUMNS ***/
/***************/

[class^=kc-cols] {
	display: flex;
	flex-wrap: wrap;
}


/* comportamento standard delle colonne */
.full,
.one-half,
.one-third,
.two-third,
.one-fourth,
.three-fourth,
.one-fifth,
.four-fifth {
  width: 100%;
}
@media screen and (min-width: 600px) {
  .one-half,
  .one-third,
  .two-third,
  .one-fourth,
  .three-fourth,
  .one-fifth {
    width: 50%;
  }
}
@media screen and (min-width: 992px) {
  .one-half      { width: 50%; }
  .one-third     { width: calc(100% / 3); }
  .two-third     { width: calc(100% * 2 / 3); }
  .one-fourth    { width: 25%; }
  .three-fourth  { width: 75%; }
  .one-fifth     { width: 20%; }
  .four-fifth    { width: 80%; }
  .one-tithing	 { width: 10%; }
}

/* riga, che conterrà colonne (kc-col) */
.kc-row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	flex-grow: 1;
	align-self: stretch;
}

/* riga, che conterrà colonne (kc-col) con le età  */
.kc-row-ages {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	flex-grow: 1;
	align-self: left;
}


/* colonna */
.kc-col {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	align-self: stretch;
}


/* per dare margine alle colonne */
.kc-row.kc-col-margin {
	width: calc(100% + 1.6rem);
  margin: -0.8rem;
}
.kc-row.kc-col-margin > .kc-col {
	padding: 0.8rem;
}





.kc-grow {
  flex-grow: 1;
}

.kc-y-center {
  align-items: center;
}

.kc-bg-cover {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}




/*** LOADER ***/
/**************/

#koob-loader {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color:white;
	z-index: 999;
	background:white url('public/images/loading.gif') no-repeat center;
	background-position-y: center;
	background-size: auto 6rem;
	background-position: 50% calc(50% + 6rem);
}

#koob-loader > img:nth-child(1) {
	width: 20rem;
}




/*** SLICK SLIDER ***/
/********************/

.slick-list .slick-track {
	margin-left: 0;
	margin-right: 0;
}

.slick-list .slick-slide {
	height: auto;
}

.slick-slide .kc-cols.kc-boxed {
	padding: 0 0.5rem;
}

.kc-slick-slider--arrow-bottom .slick-prev {
  z-index: 1;
  top: auto;
  right: 3.5rem;
  bottom: -1rem;
  left: auto !important;
}

.kc-slick-slider--arrow-bottom .slick-next {
  z-index: 1;
  top: auto;
  right: 0 !important;
  bottom: -1rem;
}




/*** BOTTONI ***/
/***************/

input.kc-button,
a.kc-button,
button.kc-button,
div.kc-button {
  cursor: pointer;
  padding: 0.5rem 1.5rem;
  border: 2px var(--color-primary) solid;
  border-radius: var(--border-radius);
  background-color: var(--color-primary);
  color: white;
  font-size: 1rem;
  text-decoration: none;
	transition: var(--transition);
	text-align: center;
	width: 80%;
	margin: 0 auto;
}
@media screen and (min-width: 772px) {
	a.kc-button,
	button.kc-button,
	div.kc-button {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		width: intrinsic;
		margin: 0 auto;
	}
}

.kc-button:hover {
  background-color: var(--color-dark);
  border-color: var(--color-dark);
  color: white;
  box-shadow: 0 0 8px rgba(20,20,20,0.5);
  transition: var(--transition);
}

.kc-button.kc-button--square {
	border-radius: 0;
}

.kc-button.kc-button--uppercase {
	text-transform: uppercase;
}
.kc-button.kc-button--capitalize {
	text-transform: capitalize;
}

/* versione ghost */
.kc-button.kc-button--ghost {
  color: var(--color-primary);
	background-color: transparent;
	width: 100%;
}
@media screen and (min-width: 480px) {
	.kc-button.kc-button--ghost {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		width: intrinsic;
		margin: 0 auto;
	}
}

.kc-button.kc-button--ghost:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}

/* versione bianca */
.kc-button.kc-button--white {
  background-color: white;
  border: 2px white solid;
  color: var(--color-primary);
}
.kc-button.kc-button--white:hover {
  background-color: var(--color-primary);
  color:white;
}

.kc-button.kc-button--ghost.kc-button--white {
	background-color: transparent;
  color:white;
  border: 2px white solid;
}
.kc-button.kc-button--ghost.kc-button--white:hover {
  background-color:white;
  color: var(--color-primary);
}


.kc-button.kc-button--primary {
	color: white !important;
	width: fit-content !important;
}

/* versione secondary */
.kc-button.kc-button--secondary {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color:white;
}
.kc-button.kc-button--secondary:hover {
  background-color: var(--color-dark);
  border-color: var(--color-dark);
  color:white;
}

/* versione grigia */
.kc-button.kc-button--ghost.kc-button--gray {
  color: var(--color-text-light);
  border: 2px var(--color-text-light) solid;
}
.kc-button.kc-button--ghost.kc-button--gray:hover {
  background-color: var(--color-text-light);
  color: var(--color-dark);
}


/* versione small */
.kc-button.kc-button--small {
  font-size: 0.875rem;
  text-transform: none;
  padding: 0.35rem 1rem;
}


a.kc-text-button,
.kc-text-button a,
span.kc-text-button {
  color: var(--color-primary);
  text-decoration: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
	width: fit-content;
	width: intrinsic;
}
a.kc-text-button:hover,
.kc-text-button a:hover,
span.kc-text-button:hover {
  cursor: pointer;
  color: var(--color-primary);
}

.kc-text-button {
  text-decoration: none;
  color: var(--color-primary);
  position: relative;
}

.kc-text-button:after {
  content: "";
  margin: 0;
  position: absolute;
  left: 0;
  bottom: 4px;
  display: inline-block;
  height: 1em;
  width: 100%;
  border-bottom: 1px solid var(--color-primary);
  opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	transform: scale(0,1);
}
.kc-text-button:hover:after {
  opacity: 1;
	transform: scale(1);
}

.kc-text-button:last-child:after {
  content: "";
}




/*** FORM GENERICO ***/
/*********************/

input[type="text"] {
  height: 3.5rem;
}
input[type="text"],
textarea {
  box-shadow: 0 7px 15px rgba(0,0,0,0.25);
  font-family: var(--font-primary);
  border: none;
  outline: none;
  box-sizing: border-box;
  border-radius: var(--border-radius);
  background-color: white;
  padding: 1rem;
  width: 100%;
}


input[type="text"]:focus {
  box-shadow: 0 0 12px var(--color-primary);
}




/*** CHECKBOX ***/
/****************/

.kc-fake-checkbox {
    display: flex;
}

.kc-fake-checkbox input[type=checkbox] {
  -webkit-appearance: none;
}

input[type=checkbox] + label {
  cursor: pointer;
  display: flex;
	align-items: flex-start;
	margin-bottom: 1rem;
			margin-left: -18px;
}
@media screen and (min-width: 772px) {
	input[type=checkbox] + label {
		align-items: center;
		margin-bottom: 0;
	}
}

input[type=checkbox] + label:before {
  content: "";
  border: 1px solid #ccc;
  border-radius: 4px;
  display: inline-block !important;
  width: 1.2rem;
  min-width: 1.2rem;
  height: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5rem;
  background-color:white;
  color: transparent;
  transition: .2s;
}

input[type=checkbox] + label:active:before {
  transform: scale(0);
}

input[type=checkbox]:checked + label:before {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  background-image: url('../koob-portal/public/images/icon-check-white.svg');
  background-size: 70%;
  background-repeat: no-repeat;
  background-position: center;
}

/* disabled */
input[type=checkbox]:disabled + label {
  color: #ddd;
}

input[type=checkbox]:disabled + label:before {
  transform: scale(1);
  border-color: #ddd;
}

/* disabled & checked */
input[type=checkbox]:checked:disabled + label:before {
  transform: scale(1);
  background-color: var(--color-primary-light);
  border-color: var(--color-primary-light);
}




/*** SECTION : TEXT HEADER ***/
/*****************************/

.kc-section-text-header {
  text-align: center;
  max-width: var(--wrapper-width-small);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2rem;
	padding: 0 var(--section-padding-X);
}
.kc-section-text-header--left {
  text-align: left;
	margin: 0 0 2rem;
	padding: 0 !important;
}
.kc-section-text-header.kc-section-text-header--full-width {
  width: 100%;
  margin: 0;
}
.kc-section-text-header.kc-section-text-header--no-margin {
  margin: 0 auto;
}

.kc-section-header-uppertitle {
  color: var(--color-primary);
  font-family: var(--font-secondary);
  font-size: 1rem;
}
.kc-section-text-header.kc-section-text-header--small .kc-section-header-uppertitle {
  font-size: 0.85rem;
}

.kc-section-text-header .kc-section-header-title {
  color: var(--color-text);
  font-family: var(--font-title);
  font-size: 2rem;
}
.kc-section-text-header.kc-section-text-header--small .kc-section-header-title {
  font-size: 1.85rem;
}

.kc-section-text-header .kc-section-header-text {
  margin-top: 1.125rem;
  color: var(--color-text-light);
  font-size: 1rem;
}
.kc-section-text-header .kc-section-header-text span,
.kc-section-text-header .kc-section-header-text strong {
  display: inline;
}
.kc-section-text-header.kc-section-text-header--small .kc-section-header-text {
  font-size: 1rem;
}

/* varianti di colore */
.kc-section-text-header.kc-section-text-header--white .kc-section-header-uppertitle,
.kc-section-text-header.kc-section-text-header--white .kc-section-header-title,
.kc-section-text-header.kc-section-text-header--white .kc-section-header-text {
  color:white;
}
.kc-section-text-header.kc-section-text-header--primary .kc-section-header-title,
.kc-modal-content .kc-section-text-header .kc-section-header-title {
  color: var(--color-primary);
}
.kc-section-text-header.kc-section-text-header--secondary .kc-section-header-title {
  color: var(--color-secondary);
}

.kc-modal-content section.kc-newsletter {
	padding-top: 0 !important;
}




/*** BREADCRUMB ***/
/******************/

.kc-breadcrumb {
  color: var(--color-text-light);
  font-size: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.kc-breadcrumb a {
  text-decoration: none;
  color: var(--color-text-light);
  margin-left: 0.5rem;
}

@media screen and (max-width: 767px) {
  .kc-breadcrumb.kc-only-desktop {
		display: none;
	}
}




/*** SECTION : MASONRY NATIONS ***/
/*********************************/

section.kc-hero-banner+section.kc-masonry-nations {
	margin-top: 40px;
}

.kc-masonry-nations {
	padding: var(--section-padding-Y) var(--section-padding-X);
}

.kc-masonry-nations .kc-full-width .kc-cols.nowrap {
	flex-wrap: nowrap;
}

.kc-masonry-nations .kc-full-width .kc-italy {
	display: none;
}
@media screen and (min-width: 992px) {
	.kc-masonry-nations .kc-full-width .kc-italy {
		display: block;
		width: 80%;
		margin-right: 2rem;
	}
}

.kc-masonry-nations .kc-full-width .kc-italy .kc-img-cover {
	max-height: 620px;
}

.kc-italy .kc-card {
	width: 100%;
	height: 100%;
}


.kc-italy-banner {
	border: 1px #ddd solid;
	background-color: white;
	padding: 1rem;
	margin: 1rem auto;
	border-radius: 10px;
	text-align: center;
	width: 100%;
}
@media screen and (min-width: 772px) {
	.kc-italy-banner {
		max-width: 50%;
	}
}
.kc-italy-banner a {
	font-weight: 600;
	color: var(--color-primary);
}

.kc-italy-banner h2 {
	padding: 0;
	margin: 0;
}

.kc-italy-banner-title {
	font-size: 1.5rem;
	line-height: 1.5rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: var(--color-text);
}

.kc-regions-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

a.kc-region {
	display: flex;
	flex-direction: row;
	width: calc(100% / 2);
	padding: 0 1rem 1rem 0;
	text-decoration: none;
	align-items: center;
}
@media screen and (min-width: 600px) {
	a.kc-region {
		width: calc(100% / 3);
	}
}
@media screen and (min-width: 772px) {
	a.kc-region {
		width: calc(100% / 4);
	}
}
@media screen and (min-width: 1400px) {
	a.kc-region {
		width: calc(100% / 5);
	}
}

.kc-region img {
	width: 60px;
	height: 60px;
	margin-right: .5rem;
	border-radius: 10px;
	bottom: 0;
	transition: var(--transition) !important;
}
@media screen and (min-width: 772px) {
	.kc-region img {
		width: 80px;
		height: 70px;
		margin-right: 1rem;
	}
}
@media screen and (min-width: 992px) {
	.kc-region img {
		width: 120px;
		height: 90px;
		margin-right: 1rem;
	}
}
@media screen and (min-width: 1400px) {
	.kc-region img {
		width: 150px;
		height: 120px;
	}
}

.kc-region:hover img {
	box-shadow: 0 4px 7px rgb(70 70 70 / 50%) !important;
	bottom: 0.25rem !important;
	transition: var(--transition) !important;
}


.kc-region h2 {
	font-size: .8rem;
	line-height: 1rem;
	font-weight: 300;
	color: var(--color-text-light);
	transition: var(--transition);
}
@media screen and (min-width: 992px) {
	.kc-region h2 {
		font-size: 1rem;
	}
}

.kc-region:hover h3 {
	color: var(--color-primary);
	transition: var(--transition);
}



/** FLAGS **/

.kc-masonry-nations .kc-flag-labels-container {
	margin-top: 1rem;
	margin-left: 0;
	margin-right: 0;
}

.kc-masonry-nations .kc-flag-labels-container .kc-col.one-fifth {
  width: 50%;
}
@media screen and (min-width: 600px) {

.kc-masonry-nations .kc-flag-labels-container .kc-col.one-fifth {
    width: calc(100% / 3);
  }
}
@media screen and (min-width: 772px) {
  .kc-masonry-nations .kc-flag-labels-container {
		margin-left: 0;
		margin-right: 0;
	}
  .kc-masonry-nations .kc-flag-labels-container .kc-col.one-fifth {
    width: 20%;
  }
}

.kc-masonry-nations .kc-flag-label {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.kc-masonry-nations a.kc-flag-label {
  text-decoration: none;
}

.kc-masonry-nations .kc-flag-label img {
  width: 2.5rem;
  margin-right: 1rem;

  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: 1;
}
.kc-masonry-nations .kc-flag-label:hover img {
  cursor: pointer;
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -moz-animation-name: bounce;
}
@-webkit-keyframes bounce {
	0%, 100%, 20%, 50%, 80% {
		transform: translateY(0)
	}
	40% {
		transform: translateY(-6px)
	}
	60% {
		transform: translateY(-2px)
	}
}
@keyframes bounce {
	0%, 100%, 20%, 50%, 80% {
		transform: translateY(0)
	}
	40% {
		transform: translateY(-6px)
	}
	60% {
		transform: translateY(-2px)
	}
}

.kc-masonry-nations .kc-flag-label p {
  font-size: .8rem;
	line-height: 1rem;
}
@media screen and (min-width: 992px) {
	.kc-masonry-nations .kc-flag-label p {
		font-size: 1rem;
		line-height: 1.2rem;
	}
}


.kc-masonry-nations .kc-flag-label:hover p {
  color: var(--color-primary);
}




/*** SECTION : HERO BANNER ***/
/*****************************/

section.kc-hero-banner {
	z-index: 100;
	background-color: transparent;
	margin-bottom: calc(0rem - var(--section-margin-bottom));
}
.kc-hero-banner .kc-hero-banner-image {
  height: calc(40vh);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  background-color: rgba(99, 99, 99, 0.35);
  background-blend-mode: soft-light;
}
.kc-hero-banner .kc-hero-banner-image.kc-hero-banner-image--big {
  height: calc(85vh - 10rem);
  /* height: calc(100vh - 10rem); */
  justify-content: center;
	align-items: center;
	background-color: rgba(90,90,90,0.25);
	background-blend-mode: color-burn;
}

.kc-hero-banner .kc-hero-banner-image .kc-hero-banner-image-title p,
.kc-hero-banner .kc-hero-banner-image .kc-hero-banner-image-title h1 {
  text-shadow: 0 0 15px rgba(0,0,0,0.9);
}

.kc-hero-banner .kc-search-container {
  display: none;
}
@media screen and (min-width: 600px) {
	.kc-hero-banner .kc-search-container {
		display: block;
		justify-content: center;
	}
}



.kc-hero-banner-link {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 80%);
  padding-bottom: 1rem;
}
.kc-hero-banner-link p,
.kc-hero-banner-link span {
  color:white;
  display: inline-block;
}

.kc-hero-banner-link span {
  font-weight: 600;
}

.kc-hero-banner-link a {
  color:white;
  margin-left: 0.5rem;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}




/*** SECTION : CUMMERBUND ***/
/************ :) ************/

section.kc-cummerbund {
	padding-top: 72px !important;
}

.kc-cummerbund > .kc-full-width {
	background-color: var(--color-primary);
	padding: 0.5rem 0;
}

.kc-cummerbund p {
  color:white;
	font-size: 0.86rem;
}

.kc-cummerbund img {
  margin-right: 1rem;
  height: 80%;
  max-height: 4.5rem;
  color:white;
}

.kc-cummerbund-container {
	display: flex;
	justify-content: center;
	padding: 0 1rem;
}

.kc-cummerbund-container a.kc-cummerbund-item {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	min-width: 20%;
	text-decoration: none;
}
.kc-cummerbund-container a.kc-cummerbund-item:not(:last-child) {
	margin-right: 1.35rem;
}




/*** SECTION : SCROLLABLE TEXT ***/
/************ :) *****************/

@media screen and (max-width: 991px) {
	.kc-image-scrollable-text .kc-image-scrollable-text-image {
		height: auto;
		background-image: none !important;
	}
}

.kc-image-scrollable-text .kc-scrollable {
  width: 100%;
}

.kc-image-scrollable-text .kc-image-scrollable-text-container {
  background: transparent;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	height: intrinsic;
	width: 100%;
	max-width: 100%;
}

@media screen and (min-width: 992px) {
	.kc-image-scrollable-text .kc-wrapper {
		padding: 7rem 1.5rem;
		height: auto;
		max-height: 100%;
	}

	.kc-image-scrollable-text .kc-image-scrollable-text-container {
		background:white;
		padding: 2.5rem;
		height: auto;
		border-radius: var(--border-radius);
		overflow-y: scroll;
		width: 60%;
		max-width: 800px;
	}

	.kc-image-scrollable-text .kc-image-scrollable-text-image {
		height: 90vh;
		display: flex;
		align-items: center;
		padding: 7rem 2rem;
	}
}
/*
.kc-image-scrollable-text .kc-scrollable .kc-scrollable-text h2 {
  color: var(--color-primary);
	font-family: var(--font-secondary);
	font-size: 1.45rem;
	margin: 2.25rem 0 1.5rem;
}*/

.kc-description-first-part h2, .kc-description-first-part h1, .kc-image-scrollable-text .kc-scrollable .kc-scrollable-text h2, .kc-image-scrollable-text .kc-scrollable .kc-scrollable-text h1 {
  color: var(--color-primary);
	font-family: "Lato", sans-serif;
	font-size: 1.6rem;
	margin: 2.25rem 0 1.5rem;
}

.kc-description-first-part h3, .kc-image-scrollable-text .kc-scrollable .kc-scrollable-text h3 {
  color: var(--color-primary);
	font-family: "Lato", sans-serif;
	font-size: 1.45rem;
	margin: 2.25rem 0 1.5rem;
}

.kc-description-first-part li, .kc-image-scrollable-text .kc-scrollable .kc-scrollable-text li, .kc-description-second-part li {
  margin-left: 1.5rem;
  margin-bottom: 0.5rem;
  list-style-type: disc;
	color: var(--color-text-light);
}

.kc-description-first-part h4, .kc-scrollable-text h4, ol, .kc-scrollable-text{
	color: var(--color-text-light);
}

.faq p{
	padding: 10px 0px 20px !important;
}


/*** SECTION : REVIEW ***/
/********** :) **********/

section.kc-reviews {
  background-position: center;
  background-color: rgba(66, 66, 66, 0.8) !important;
  background-blend-mode: darken;
	padding: 5rem 0;
	z-index: 100;
}

section.kc-reviews .kc-search-container .kc-search-input-container {
  margin: 0 auto;
}




/*** MENU SLICK ***/
/******************/

.kc-menu {
  padding: 0.25rem 5rem 1rem;
}

.kc-menu .slick-slider .slick-list {
  padding: 0 !important;
}

.kc-menu .slick-slide {
  margin-right: 2rem;
}

.kc-menu a {
  color: var(--color-text-light);
  width: -webkit-fit-content;
  width: -moz-fit-content;
	width: fit-content;
	width: intrinsic;
  padding-bottom: 4px;
}

.kc-menu .slick-prev,
.kc-menu .slick-next {
  border: none;
  top: inherit;
  bottom: -3px;
}

.kc-menu .slick-slider .slick-prev {
  left: -3rem;
}
.kc-menu .slick-slider .slick-next {
  right: -3rem;
}





/*** SECTION : ADV LIST ***/
/**************************/

section.kc-adv {
	background:var(--color-background);
	z-index: 100;
	min-height: 200px;
}

.kc-structures-list .slick-slider.kc-premium-slider {}
@media screen and (min-width: 772px) {
	.kc-structures-list .slick-slider.kc-premium-slider {
		margin-left: -.5rem;
		margin-right: -.5rem;
	}
}
@media screen and (min-width: 992px) {
	.kc-structures-list .slick-slider.kc-premium-slider {
		margin-left: auto;
		margin-right: auto;
	}
}

.kc-premium-slider .slick-list .slick-slide {
	margin: 0 .5rem;
}
@media screen and (min-width: 992px) {
	.kc-premium-slider .slick-list .slick-slide {
		margin: 0;
	}
}

.kc-premium-slider .slick-slide .kc-cols.kc-boxed {
	padding: 0;
}




/*** SECTION : STRUCTURES LIST ***/
/*********************************/

section.kc-structures-list-map {
	z-index: 1;
	padding-bottom: 3rem;
}
@media screen and (min-width: 992px) {
	section.kc-structures-list-map {
		min-height: 80vh;
	}
}

/* section.kc-structures-list-map:after {
	content: "";
	background-color: var(--color-background);
	height: var(--section-margin-bottom);
	width: 100%;
	display: block;
	z-index: 10;
	position: absolute;
	bottom: 0;
} */

.kc-structures-list-map > .kc-row {
  flex-wrap: nowrap;
  overflow: scroll;
  height: 100vh;
}

section.kc-structures-list-map.kc-structures-list-empty {
	padding-top: 3rem;
	padding-bottom: 0;
}
section.kc-structures-list-map.kc-structures-list-empty .kc-button {
	margin: 2rem auto;
}


.kc-structures-list-map .kc-structures-list-column {
	padding: 1.5rem var(--section-padding-X) 0;
	z-index: 10;
	background-color: var(--color-background);
	width: 100%;
}

.kc-map-column {
	position: fixed;
  height: 100vh;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	z-index: 100;
	display: none;
}

#map.kc-list-map {
  position: fixed !important;
  top: 90px;
  right: 0px;
	width: 100%;
	bottom: 0px;
  outline: none;
}
.kc-map-column.kc-map-column--full-screen {
	z-index: 100;
	display: block;
}

@media screen and (min-width: 992px) {
	.kc-structures-list-map .kc-structures-list-column {
		width: 100%;
		/* max-width: calc(var(--card-structure-min-width) + var(--section-padding-X)*2); */
		max-width: calc(70vw - var(--section-padding-X));
	}

	.kc-map-column {
		width: 100%;
		/* max-width: calc(100% - var(--card-structure-min-width) - var(--section-padding-X)*2); */
		max-width: 30vw;
		/* margin-left: calc(var(--card-structure-min-width) + var(--section-padding-X)*2); */
		margin-left: 70vw;
		z-index: 2;
		display: block;
		background-color: #d5d5d5;
		/* background-image: url('../koob-portal/public/images/pattern.jpg'); */
		background-image: url('../koob-portal/public/images/empty.png');
		background-size: 50%;
		background-repeat: no-repeat;
		background-position: center;
	}
	.kc-list-map {
		/* max-width: calc(100% - var(--card-structure-min-width) - var(--section-padding-X)*2); */
		max-width: 30vw;
	}
}

.kc-structures-list-map .kc-structures-list-selects {
  margin-top: 0;
}

.kc-structures-list-buttons {
  margin-top: 1rem;
	display: flex;
	flex-direction: row;
	width: 100%;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
}

.kc-structures-list-buttons a {
	width: 100%;
	margin: 0;
}
.kc-structures-list-buttons a + a {
	margin-top: 1rem;
}

@media screen and (min-width: 500px) {
	.kc-structures-list-buttons {
		flex-direction: column;
	}
	.kc-structures-list-buttons a {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		width: intrinsic;
	}
	.kc-structures-list-buttons a + a {
		margin-top: 0;
		margin-left: 1rem;
	}
}

.kc-structures-list-filters {}

.kc-structures-list-filters span + span:before {
	content: "  •  ";
}

#kc-filters-open-text {
	color: var(--color-primary);
	display: inline-block;
	cursor: pointer;
}

#kc-filters-open-inline {
	background-color: var(--color-primary);
	color: white;
	padding: 4px 1rem;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 6px;
	margin-left: .25rem;
}


.kc-structures-no-results {
	border: rgb(171, 49, 49) 2px solid;
	border-radius: 20px;
	background-color: #fabfcc;
	display: flex;
	align-items: center;
	padding: .5rem;
	margin-top: 1rem;
	box-shadow: 0 0 10px rgba(66,66,66,0.65);
}

.kc-structures-no-results p {
	color: #333;
	margin-left: 1rem;
}





.kc-structures-list-map .kc-structures-list-column .kc-section-text-header {
	padding-left: 0;
	padding-right: 0;
}


/* elenco di card */
.kc-structures-list,
.kc-offers-list {
  width: 100%;
  margin-top: 2rem;
}

.kc-structures-list h3,
.kc-offers-list h3 {
  margin: 3rem 0 0;
  font-weight: 300;
	font-size: 1.25rem;
	text-decoration: none;
}

.kc-structures-list a,
.kc-offers-list a {
	text-decoration: none;
	color: var(--color-primary);
}

.kc-structures-list .kc-card,
.kc-offers-list .kc-card {
  margin-bottom: 1rem;
}

.kc-structures-list .slick-slider {
  margin: 0 calc(0px - var(--section-padding-X)) 3rem;
}

@media screen and (min-width: 772px) {
	.kc-structures-list .slick-slider {
		margin: 0 auto 4rem;
	}
}

.kc-structures-list .slick-slide {
  margin: 0 0.5rem;
}

.kc-structures-list .kc-favorites svg {
	width: 1.5rem !important;
	height: 1.5rem;
}

@media screen and (min-width: 600px) {
	.kc-structures-list .kc-card.kc-card--not-customer .kc-card-body {
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
		height: intrinsic;
	}
	.kc-structures-list .kc-card.kc-card--not-customer .kc-card-body .kc-grow  {
		flex-grow: none;
	}
}

/* .kc-structures-list .kc-structures-list-button.kc-button {
  	position: absolute;
	bottom: -0.75rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	width: intrinsic;
} */
.kc-structures-list .kc-structures-list-button.kc-button {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	width: intrinsic;
}

.kc-button-container {
	height: 20px;
	width: 100%;
	display: block;
	position: absolute;
	bottom: 0rem;
}

@media screen and (min-width: 992px) {
	.kc-button-container {
		width: fit-content;
	}
}

/* bottone vedi mappa */
.kc-map-button,
.kc-map-button-goback {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	background-color: var(--color-primary);
	color:white;
	padding: 1rem;
	text-align: center;
	font-size: 1.25rem;
	text-transform: uppercase;
	z-index: 900;
	cursor: pointer;
}

.kc-map-button {
	display: block;

	/* o.o TODO da togliere quando sistemiamo la mappa mobile */
	display: none;
}
.kc-map-button--hidden {
	display: none;
}

.kc-map-button-goback {
	display: block;
}

@media screen and (min-width: 992px) {
	.kc-map-button {
		display: none;
	}
}



/*** PAGINATION ***/
/******************/

.kc-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 1rem;
	height: 40px;
}

.kc-pagination a {
	text-decoration: none;
	color: var(--color-text-light);
}

.kc-pagination .kc-pagination-button {
	border: 1px solid var(--color-text-light);
	color: var(--color-text-light);
	padding: 0.35rem 1rem;
	border-radius: var(--border-radius);
	font-size: 0.8rem;
	background-color: transparent;
	transition: var(--transition);
}
.kc-pagination .kc-pagination-button:not(.kc-pagination--disabled):hover {
	font-size: 0.8rem;
	background-color: var(--color-text-light);
	color: white;
	transition: var(--transition);
}
.kc-pagination .kc-pagination-button.kc-pagination--disabled {
	cursor: default;
	opacity: 0.5;
}

.kc-pagination .kc-pagination-arrow {
	background-color: white;
	box-shadow: 0 0 4px rgba(66,66,66,0.6);
	border-radius: 50px;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 1rem;
	font-size: 1.35rem;
	transition: var(--transition);
}
.kc-pagination .kc-pagination-arrow.kc-pagination--disabled {
	box-shadow: none;
	background-color: transparent;
	border: 1px solid var(--color-text-light);
	cursor: default;
	opacity: 0.5;
}
.kc-pagination .kc-pagination-arrow:not(.kc-pagination--disabled):hover {
	box-shadow: 0 0 8px rgba(66,66,66,0.8);
	transition: var(--transition);
}



/*** SELECT ***/
/**************/

select {
  width: 100%;
}

.kc-select,
.kc-select .select2-container--default {
  width: 100% !important;
}

.kc-select .select2-container--default .select2-selection--multiple {
  padding: 0.5rem;
  border-radius: var(--border-radius);
  display: flex;
  flex-direction: row;
  align-items: center;
}
.kc-select .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--color-primary);
}

.kc-select .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: transparent;
  border: none;
  margin: 0;
}

.kc-select .select2-container--default .select2-selection__choice__remove {
	border-right: none;
	display: none;
}
.kc-select .select2-container--default .select2-selection--single .select2-selection__clear,
.kc-select .select2-container--default .select2-selection--multiple .select2-selection__clear {
	border-right: none;
	margin-right: 0;
}

.kc-select .select2-container--default .select2-selection--multiple .select2-selection__choice__display,
.kc-select .select2-container--default .select2-search--inline .select2-search__field,
.kc-select .select2-container--default .select2-selection__rendered {
	font-size: 0.85rem;
	line-height: 20px !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--color-primary) !important;
}

.kc-select .select2-container .select2-selection--multiple .select2-selection__rendered {
  margin: 0;
  padding: 0;
}

.kc-select .select2-container--default .select2-selection--multiple .select2-selection__clear {
  position: absolute;
  right: 1rem;
  margin: 0;
  padding: 0;
}




/*** IMG CONTAINER ***/
/*********************/

.kc-img-container {
	width: 100%;
	height: 100%;
	overflow: hidden;
	bottom: 0;
	border-radius: var(--border-radius);
	transition: var(--transition);
}
.kc-img-container.kc-main-img {
	width: 100%;
	height: 280px;
	margin-bottom: 2rem;
}
@media screen and (min-width: 782px) {
	.kc-img-container.kc-main-img {
		height: 400px;
	}
}


a:hover .kc-img-container {
	transition: var(--transition);
	box-shadow: 0 1px 8px rgb(90 90 90);
}

.kc-grid a:not(.kc-button),
.kc-slider a:not(.kc-button) {
	text-decoration: none;
	color: var(--color-text);
}

.kc-grid a:hover p,
.kc-slider a:hover p {
	color: var(--color-primary);
	transition: var(--transition);
}






/*** SECTION : ZONE TURISTICHE ***/
/************* :) ****************/

.kc-touristic-zone .kc-card-simple {
	width: calc(100%/3);
}

.kc-card-simple {
	display: flex;
	flex-direction: row;
	align-items: center;
	/* width: calc(50% - 1rem); */
	margin-bottom: 1rem;
	margin-right: 1rem;
	transition: var(--transition);
	height: 70px;
}

.kc-grid ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding-inline-start: 0;
	margin-left: -20px;
}

.kc-grid li {
	margin-left: 20px;
	margin-bottom: 50px;
	min-width: calc(100% / 2 - 20px);
	max-width: calc(100% / 2 - 20px);
}
@media screen and (min-width: 600px) {
	.kc-grid li {
		min-width: calc(100% / 3 - 20px);
		max-width: calc(100% / 3 - 20px);
	}
}
@media screen and (min-width: 772px) {
	.kc-grid li {
		min-width: calc(100% / 4 - 20px);
		max-width: calc(100% / 4 - 20px);
	}
}

.kc-grid li a {
	width: 100%;
	display: flex;
	flex-direction: row;
}
@media screen and (min-width: 882px) {
	.kc-grid li a {
		flex-direction: column;
	}
}


.kc-macrozones .kc-img-container {
	width: 80px;
	min-width: 80px;
	height: 60px;
	margin-right: 1rem;
	border-radius: 10px;
}

.kc-macrozones .kc-card-body-content {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 60px;
}

@media screen and (min-width: 600px) {
	.kc-macrozones .kc-img-container {
		min-width: 60px;
	}
}
@media screen and (min-width: 880px) {
	.kc-macrozones .kc-img-container {
		min-width: 100% !important;
		margin-bottom: 10px;
		height: 180px;
	}

	.kc-macrozones .kc-card-body-content {
		justify-content: center;
		height: fit-content;
	}
}

@media screen and (max-width: 879px) {
	.kc-macrozones .kc-card-body-content p {
		font-size: .8rem;
		line-height: 1rem;
	}
}









/*** SECTION : TOUR RESORT (località turistiche) ***/
/***************************************************/

.kc-list-simple {
	-webkit-column-count: 2;
	-webkit-column-gap: 1rem;
	-moz-column-count: 2;
	-moz-column-gap: 1rem;
	column-count: 2;
	column-gap: 1rem;
}
@media screen and (min-width: 600px) {
	.kc-list-simple {
		-moz-column-count: 3;
		column-count: 3;
	}
}
@media screen and (min-width: 882px) {
	.kc-list-simple {
		-moz-column-count: 4;
		column-count: 4;
	}
}
@media screen and (min-width: 1200px) {
	.kc-list-simple {
		-moz-column-count: 5;
		column-count: 5;
	}
}

.kc-list-simple a {
	margin-bottom: .75rem;
	display: block;
	text-decoration: none;
}
.kc-list-simple a:hover p {
	color: var(--color-primary);
}



/*** SECTION : THEMATIC SEARCH ***/
/*********************************/

.kc-card--vertical {
	flex-direction: row;
}
.kc-card--vertical .kc-img-container {
	width: 50%;
	min-width: 50%;
}
.kc-card--vertical .kc-card-body-content {
	width: 50%;
	min-width: 50%;
	overflow: hidden;
}

a.kc-card--vertical {
	text-decoration: none;
}

a.kc-card--vertical p,
a.kc-card--vertical h4 {
	line-height: 1.35rem;
}

a.kc-card.kc-card--vertical:hover .kc-img-container {
	bottom: 0;
	box-shadow: none;
}



.kc-thematic-searches .kc-card.kc-card--small {
	flex-direction: row;
	height: 8rem;
}

.kc-thematic-searches .kc-card.kc-card--small .kc-img-container {
	width: 40%;
	min-width: 40%;
}
a.kc-card.kc-card--small:hover .kc-img-container {
	box-shadow: none;
}

.kc-thematic-searches .kc-card.kc-card--small .kc-card-body-content {
	width: 60%;
	min-width: 60%;
	overflow: hidden;
	display: flex;
	align-items: center;
}




/*** SECTION : NEWS ***/
/**********************/

.kc-news .kc-img-container {
	width: 100%;
	height: 130px;
	margin-bottom: .5rem;
}

.kc-news.kc-grid a:not(.kc-button),
.kc-news.kc-slider a:not(.kc-button) {
	width: 100%;
}

.kc-news.kc-slider .kc-card-news p.kc-small {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

a.kc-card-news {
	text-decoration: none;
	margin-bottom: 1.5rem;
	width: 100%;
}

.kc-card-news .kc-img-container {
	height: 120px;
	margin-bottom: .5rem;
}

.kc-news .kc-img-cover {
	height: 100%;
}





/*** SECTION : OFFERS ***/
/************************/

.kc-offers.kc-grid .kc-cols.kc-boxed {
	justify-content: center;
}

.kc-offers.kc-grid .kc-cols.kc-boxed .kc-col.one-fourth:nth-child(4) {
  display: flex;
}
@media screen and (min-width: 700px) {
	.kc-offers.kc-grid .kc-cols.kc-boxed .kc-col.one-fourth:nth-child(4) {
		display: none;
	}
}
@media screen and (min-width: 992px) {
	.kc-offers.kc-grid .kc-cols.kc-boxed .kc-col.one-fourth:nth-child(4) {
		display: flex;
	}
}

@media screen and (max-width: 699px) {
	.kc-offers.kc-grid .kc-cols.kc-boxed .kc-col.one-fourth {
		width: 50%;
	}
}
@media screen and (max-width: 499px) {
	.kc-offers.kc-grid .kc-cols.kc-boxed .kc-col.one-fourth {
		width: 100%;
	}
}

.kc-offers.kc-grid .kc-section-text-header.kc-section-text-header--left {
	margin-bottom: 1rem;
}
.kc-offers.kc-grid h3.kc-section-header-title {
	font-size: 1.5rem !important;
}

.kc-offers .kc-card {
	height: auto;
	margin-bottom: 1rem;
}
@media screen and (min-width: 1200px) {
	.kc-offers .kc-card {
		margin-bottom: 0;
	}
}

.kc-offers .kc-card .kc-upper-title {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-light);
	border-bottom: 1px #ddd solid;
	padding-bottom: 0.3rem;
	margin-bottom: 0.2rem;
}

.kc-offers .kc-card .kc-upper-title .kc-date {
	display: flex;
	flex-direction: row;
	align-items: center;
	font-size: 0.75rem;
	color: var(--color-text-light);
}
.kc-offers .kc-card .kc-upper-title .kc-date span+span {
	margin-left: 0;
}
@media screen and (min-width: 500px) {
	.kc-offers .kc-card .kc-upper-title .kc-date {
		flex-direction: column;
	}

	.kc-offers .kc-card .kc-upper-title .kc-date span+span {
		margin-left: 0;
	}
}
@media screen and (min-width: 770px) {
	.kc-offers .kc-card .kc-upper-title .kc-date {
		flex-direction: row;
	}

	.kc-offers .kc-card .kc-upper-title .kc-date span+span {
		margin-left: 2px;
	}
}


.kc-offers .kc-card .kc-card-body-content {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 2rem 1rem;
	text-align: center;
}
.kc-offers .kc-card.kc-card--best-offer .kc-card-body-content {
	padding-bottom: 0.5rem;
}


.kc-offers .kc-card .kc-card-body-content h4 {
	margin-top: .5rem;
	margin-bottom: .25rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	height: calc(3rem - 3px);
	overflow: hidden;
	font-size: 1.25rem;
	line-height: 1.35rem;
	color: var(--color-primary);
}

.kc-offers .kc-card .kc-card-body-content p {
	line-height: 1rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	height: 2rem;
	overflow: hidden;
	font-size: 0.85rem;
}

.kc-offers .kc-card .kc-card-body-content p.kc-label-special {
	color: white;
	background-color: #DEC3E7;
	padding: .15rem .75rem;
	margin: 1.5rem 0 0 -1rem;
	width: calc(100% + 2rem);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.75rem;
}

@media screen and (min-width: 1200px) {
	.kc-offers .kc-card .kc-card-body-content p.kc-label-special {
		display: flex;
    align-items: center;
	}
}
@media screen and (min-width: 1380px) {
	.kc-offers .kc-card.kc-card--special .kc-img-container,
	.kc-offers .kc-card:not(.kc-card--special) .kc-img-container {
		display: flex;
		width: 30%;
		min-width: 30%;
	}
}

.kc-offers .kc-card .kc-img-container img {
	width: 100%;
}

.kc-offers a.kc-card:hover .kc-img-container {
	bottom: 0;
	box-shadow: none;
}


/*** variante offer-special ***/
.kc-offers .kc-card.kc-card--special .kc-img-container {
	width: 35%;
	padding: 0;
}

.kc-offers .kc-card.kc-card--special .kc-card-body-content {
	width: 75%;
}

.kc-offers .kc-card.kc-card--special .kc-card-body-content h4 {
	-webkit-line-clamp: 3;
	height: 3rem;
}

.kc-offers .kc-card.kc-card--special .kc-card-body-content p {
	-webkit-line-clamp: 3;
	height: 3rem;
}




/*** LAYOUT CON SIDEBAR ***/
/**************************/

.kc-layout-sidebar {
	display: flex;
	flex-direction: column;
}

.kc-layout-sidebar .two-third {
	width: 100%;
}

.kc-layout-sidebar .kc-sidebar {
	margin-top: 3rem;
	width: 100%;
	flex-wrap: wrap;
}

.kc-sidebar .kc-card-detail + .kc-card-detail {
	margin-left: 0;
	margin-top: 2rem;
}

@media screen and (min-width: 560px) {
	.kc-layout-sidebar .kc-sidebar.kc-sidebar--full {
		max-width: 100%;
	}

	.kc-layout-sidebar .kc-sidebar {
		flex-wrap: nowrap;
	}

	.kc-layout-sidebar .kc-sidebar .kc-card {
		width: 50%;
	}

	.kc-sidebar .kc-card-detail + .kc-card-detail {
		margin-left: 2rem;
		margin-top: 0;
	}
}

@media screen and (min-width: 992px) {
	.kc-layout-sidebar  {
		flex-direction: row;
	}

	.kc-layout-sidebar .two-third {
		width: calc(100% * 2 / 3);
	}

	.kc-layout-sidebar .kc-sidebar {
		flex-wrap: wrap;
		width: calc(100% / 3);
		margin-top: 0;
		padding-left: 2rem;
	}

	.kc-layout-sidebar .kc-sidebar .kc-card {
		width: 100%;
	}

	.kc-sidebar .kc-card-detail + .kc-card-detail {
		margin-left: 0;
		margin-top: 2rem;
	}
}





/*** SECTION & DETAIL : OFFERS ***/
/*********************************/

.kc-main-image {
	width: 100%;
	height: 300px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	margin-bottom: 2rem;
}

.kc-offer-detail .kc-offer-content .kc-button.kc-button-structure-visit {
	margin: 0;
	width: 100%;
}
@media screen and (min-width: 772px) {
	.kc-offer-detail .kc-offer-content .kc-button.kc-button-structure-visit {
		width: auto;
	}
}

.kc-layout-sidebar .kc-structure-detail-sidebar .kc-button--ghost {
	margin-top: 1rem !important;
}



/*** SECTION & DETAIL : NEWS ***/
/*******************************/

.kc-data {
	margin: 1rem 0;
}

.kc-news-detail .kc-news-list-related .kc-boxed {
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full {
	flex-direction: column;
	padding-left: 0;
	padding-right: 0;
}

.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full .kc-card {
	margin-bottom: 1.5rem;
	width: 100%;
}

@media screen and (min-width: 550px) {
	.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full .kc-card {
		width: calc(100% / 3 - 1rem);
		margin: 0 0.5rem;
	}
	.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full .kc-card:first-child {
		margin-left: 0;
	}
	.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full .kc-card:last-child {
		margin-right: 0;
	}
}

@media screen and (min-width: 992px) {
	.kc-news-detail .kc-news-list-related {
		margin-top: 0;
	}

	.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full {
		width: 100%;
		padding: 1rem 0;
		flex-direction: column;
	}

	.kc-news-detail .kc-news-list-related .kc-boxed > .kc-col.full .kc-card {
		width: 100%;
		margin: 0.5rem 0;
	}

	.kc-news-detail .kc-news-list-related .kc-boxed {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
}

.kc-news-description {
	margin-bottom: 2rem;
}
.kc-news-description p {
	color: var(--color-text);
	margin-bottom: 0.75rem;
}
.kc-news-description a {
	color: var(--color-primary);
}
.kc-news-description ul {
	margin: 0.5rem 0;
}

.kc-news-detail .kc-data p {
	display: flex;
	align-items: center;
}
.kc-news-detail .kc-data img {
	width: 24px;
	height: 24px;
}

/* cambio il comportamento responsive delle colonne */
/* .kc-news-detail .kc-col.two-third,
.kc-news-detail .kc-col.one-third {
	width: 100%;
} */

/* @media screen and (min-width: 1100px) {
  .kc-news-detail .kc-col.one-third     { width: calc(100% / 3); }
	.kc-news-detail .kc-col.two-third     { width: calc(100% * 2 / 3); }
} */




.kc-share {
	display: flex;
}





/*** SECTION : SERVICES LIST ***/
/*******************************/

.kc-services-list {}

.kc-service-single {
	width: 100%;
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--color-text);
}
a.kc-service-single {
	cursor: pointer;
}

.kc-service-single .kc-service-icon:before {
	color: var(--color-primary);
	margin-right: 0.75rem;
	font-size: 1.75rem;
}

.kc-service-single span {
	margin-top: 0.35rem;
}




/*** THEMATIC SEARCH ***/
/***********************/

.kc-thematic-services .kc-col.one-half {
	width: 100% !important;
}

.kc-thematic-services .kc-cols .kc-services-list .kc-col.one-fourth {
	min-width: 160px;
	width: 100% !important;
}

@media screen and (min-width: 580px) {
	.kc-thematic-services .kc-cols .kc-services-list .kc-col.one-fourth {
		width: calc(25% - 0.5rem) !important;
	}

	.kc-thematic-services .kc-services .kc-col.one-fourth:nth-child(odd) {
		margin-right: 1rem;
	}
}
@media screen and (min-width: 890px) {
	.kc-thematic-services .kc-col.one-half {
    width: 50% !important;
	}
}

.kc-thematic-services .ks-thematic-search a.kc-button {
	margin: 1rem 0 2rem;
}




/*** SIMPLE LIST ***/
/*******************/

.kc-simple-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.kc-simple-list strong {
	color: var(--color-primary);
	margin-right: 0.5rem;
}
.kc-simple-list strong:not(:first-child) {
	margin-left: 1rem;
}

.kc-simple-list a {
	margin-right: 0.5rem;
	color: var(--color-text-light);
	text-decoration: none;
	font-size: 1.125rem;
}



/*** LEAFLET ***/
/***************/

.leaflet-popup-content {
	display: flex;
	flex-direction: column;
	width: 240px !important;
}

.leaflet-popup-content strong {
	font-size: 1rem;
}

.leaflet-popup-content .kc-leaflet-popup-image {
	margin-top: 1rem;
	width: 240px;
	height: 100px;
	background-size: cover;
	background-position: center;
}

.leaflet-popup-content .kc-leaflet-popup-link {
	text-decoration: none;
	color: var(--color-primary);
	font-size: 0.75rem;
	text-align: center;
	margin-top: 1rem;
}

.leaflet-popup-content .kc-button {
	margin-top: 0.75rem;
	width: 100%;
}




/*** 404 AND PRE FOOTER ***/
/**************************/

.kc-404 section {
	background-color: transparent;
}

.kc-404 {
	padding-top: 9rem;
	display: flex;
	justify-content: center;
	padding-bottom: 4rem;
	align-items: center;
}

.kc-404 h1 {
	color: var(--color-primary);
	font-family: var(--font-title);
	font-size: 8rem;
	font-weight: 800;
	margin-top: 0;
	text-align: center;
	margin-bottom: 2rem;
}

.kc-404 h2 {
	color: var(--color-text);
	font-family: var(--font-primary);
	font-size: 2.3rem;
	font-weight: 400;
	margin-top: 0;
	text-align: center;
}

.kc-404-page section.kc-spacer {
	height: 0;
}

.kc-pre-footer {
	background-position: bottom;
	height: 250px;
	width: 100%;
	background-repeat: no-repeat;
}



/*** ITEM EXPOSER - SERVICES ***/
/*******************************/

.kc-slider-list .kc-grid .kc-col.one-fourth {
	width: 50%;
}
@media screen and (min-width: 600px) {
	.kc-slider-list .kc-grid .kc-col.one-fourth {
		width: calc(100% / 3);
	}
}
@media screen and (min-width: 992px) {
	.kc-slider-list .kc-grid .kc-col.one-fourth {
		width: 25%;
	}
}



/*** FILTRI ***/
/**************/

#formSearchStructure {
	background: white;
	position: fixed;
	left: 0;
	width: 100%;
	height: calc(100vh - 84px);
	top: 135px;
	z-index: 105;
	overflow-y: scroll;
	padding: 0 2rem 5rem;
	box-shadow: 50px 0 300px rgb(60 60 60 / 70%), 10px 0 100px rgba(60 60 60 / 60%);
}
.kc-filters-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.kc-filters-body {
	width: 100%;
	padding-bottom: 2rem;
}
.kc-filters-footer {
	position: fixed;
	bottom: 0;
	width: calc(100% - 4rem);
	background-color: white;
	padding: 1rem 0;
	border-top: 1px #dddddd solid;
	display: flex;
	justify-content: space-between;
}

.kc-filters-footer input.kc-button.kc-button-disabled {
	background-color: #ddd;
	border-color: #ddd;
	color: #888;
}
.kc-filters-footer input.kc-button.kc-button-disabled:hover,
.kc-filters-footer input.kc-button.kc-button--ghost.kc-button-disabled:hover {
	box-shadow: none;
	background-color: #ddd;
	color: #888;
}

@media screen and (min-width: 500px) {
	#formSearchStructure {
		width: 380px;
	}
	.kc-filters-footer {
		width: calc(380px - 4rem);
	}
}
@media screen and (min-width: 600px) {
	#formSearchStructure {
		width: 300px;
	}
	.kc-filters-footer {
		width: calc(300px - 4rem);
	}
}
@media screen and (min-width: 992px) {
	#formSearchStructure {
		top: 84px;
	}
}



#formSearchStructure h3 {
	margin: 0 0 .5rem;
	color: var(--color-primary);
	font-family: var(--font-title);
}

#formSearchStructure .kc-fake-checkbox + .kc-fake-checkbox {
	margin-top: 0.5rem;
}





.kc-filter-cat + .kc-filter-cat {
	border-top: 1px #dddddd solid;
	padding-top: 1rem;
	margin-top: 1rem;
}

.kc-filters-footer .kc-button {
	border: none;
}

.kc-filters-footer input.kc-button {
	border: 2px var(--color-primary) solid;
	margin: 0;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.kc-filters-footer input.kc-button:not(.kc-button--ghost) {
	text-transform: uppercase;
}
.kc-filters-footer input.kc-button.kc-button--ghost:hover {
	border-color:  transparent;
	background-color: transparent;
	color: var(--color-primary);
	box-shadow: none;
}

#kc-filters-open {
	text-transform: uppercase;
}



/*** MULTISTRUTTURA ***/

.kc-structures-button {
	display: flex;
	flex-direction: row;
	margin-top: 1rem;
	padding: 1rem;
	width: 100%;
	justify-content: flex-start;
	align-items: center;
	border-radius: 8px;
}
@media screen and (min-width: 772px) {
	.kc-structures-button {
		width: calc( 50% - .5rem);
	}
}

.kc-structures-button .kc-button.kc-button--secondary.kc-button-disabled {
	background-color: #bbb;
	border-color: #bbb;
}
.kc-structures-button .kc-button.kc-button--secondary.kc-button-disabled:hover {
	box-shadow: none;
	cursor: default;
}

.kc-structures-button small {
	color: #999999;
}

.kc-structures-button.kc-structures-button--multistructure {
	border: 1px #dddddd solid;
	background-color: white;
}
.kc-structures-button.kc-structures-button--filters {
	border: 1px #dddddd dashed;
}

.kc-structures-button.kc-structures-button--multistructure .kc-button#kc-button-cannot-contact-all {
	cursor: default;
}


.kc-multistructure-icon {
	width: 40px;
	height: 40px;
	margin-bottom: 1rem;
}
#kc-button-contact-all {
	margin: 0 0 1rem;
}
svg.kc-button-multistructure {
	fill: #dddddd;
}
@media screen and (min-width: 600px) {
	.kc-multistructure-icon {
		margin-bottom: 0;
	}
}

.kc-button.kc-event-button-external.test-cardstr-btn-website {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	width: intrinsic;
}



/* i due bottoni */
.kc-structures-button .kc-button#kc-filters-open {
	margin-left: 1rem;
	margin-right: 1rem;
	width: 220px;
}

.kc-text {
	margin: 0 1rem;
	width: calc( 220px + 3rem );
}
@media screen and (min-width: 772px) {
	.kc-text {
		width: 100%;
		max-width: calc( 220px + 3rem );
		margin: 0 auto;
	}
}


/* versione verticale */

.kc-structures-list-buttons.kc-structures-list-buttons--vertical {
	flex-direction: column;
}
.kc-structures-list-buttons.kc-structures-list-buttons--vertical .kc-structures-button {
		flex-direction: column;
		text-align: center;
	}

.kc-structures-list-buttons .kc-button {
	width: 100%;
	margin-bottom: 1rem;
	margin-left: 0;
}

@media screen and (min-width: 600px) {
	.kc-structures-list-buttons.kc-structures-list-buttons--vertical .kc-structures-button {
		flex-direction: row;
		text-align: left;
	}

	.kc-structures-list-buttons .kc-button {
		width: 100%;
		margin-bottom: 0;
		margin-left: 0;
	}
}


@media screen and (min-width: 772px) {
	.kc-structures-list-buttons.kc-structures-list-buttons--vertical {
		flex-direction: row;
	}

	.kc-structures-list-buttons.kc-structures-list-buttons--vertical .kc-structures-button + .kc-structures-button {
		margin-left: 1rem;
	}

	.kc-structures-list-buttons.kc-structures-list-buttons--vertical .kc-structures-button {
		flex-direction: column;
	}

	.kc-structures-list-buttons.kc-structures-list-buttons--vertical .kc-multistructure-icon {
		margin-bottom: 1rem;
	}

	.kc-structures-list-buttons .kc-button {
		width: 100%;
		margin-bottom: 1rem;
		margin-left: 0;
	}

	.kc-structures-list-buttons.kc-structures-list-buttons--vertical small {
		text-align: center;
		display: block;
	}

	.kc-structures-list-filters {
    width: 100%;
	}
}

p.kc-filter-detail {
	font-size: 0.8rem;
	margin-left: 26px;
	margin-bottom: 0.5rem;
}



/*** TOOLTIP ***/
/***************/

:root {
  --tooltip-height: 100px;
  --tooltip-width: 300px;
  --tooltip-bg-color: white;
  --tooltip-dim-arrow: 10px;
  --word-width: 220px;
  --delta: calc( ( var(--tooltip-width) - var(--word-width) ) / 2 );
}

.kc-word {
	position: relative;
	cursor: pointer;
  width: var(--word-width);
	margin: 0 auto;
}
@media screen and (min-width: 600px) {
	.kc-word {
		margin: 0;
	}
}
@media screen and (min-width: 772px) {
	.kc-word {
		margin: 0 auto;
	}
}

.kc-word-tooltip {
	margin: 0;
	padding: 1rem;
	position: absolute;

  display: flex;
  justify-content: center;
  align-items: center;
	flex-direction: column;

  top: calc( -1 * ( var(--tooltip-height) + 2 * var(--tooltip-dim-arrow) ) );
  left: calc( -1 * var(--delta) );

	width: var(--tooltip-width);
	min-height: var(--tooltip-height);

	opacity: 0;
	visibility: hidden;
	background-color: var(--tooltip-bg-color);
  border-radius: 8px;
  box-shadow: 0 0 16px #0004, 0 0 0;

  cursor: text;
	transform: translateY(-5px);
	transition: visibility 0s .7s,
							opacity .7s linear,
							transform 0.5s 0.2s linear;
}

.kc-word-tooltip::after {
	position: absolute;
	top: calc( var(--tooltip-height) + 2rem );
	left: calc( ( var(--tooltip-width) - 2 * (var(--tooltip-dim-arrow)) ) / 2 );
	content: "";
	width: 0;
	height: 0;
	border-top: var(--tooltip-dim-arrow) var(--tooltip-bg-color) solid;
	border-left: var(--tooltip-dim-arrow) transparent solid;
	border-right: var(--tooltip-dim-arrow) transparent solid;
}

.kc-word:hover .kc-word-tooltip {
	visibility: visible;
	opacity: 1;
	transform: translateY(5px);
	transition: opacity .5s linear,
							transform 0.5s 0.2s linear;
}

.kc-word-tooltip .kc-button {
	margin: 1rem auto 0 !important;
	margin-bottom: 0 !important;
}






/*** CITY MASONRY ***/
/********************/

section.kc-structures-list-map.kc-structures-list-empty {
	min-height: auto !important;
}

#city-masonry {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 20px;
}

#city-masonry>div.kc-card {
	width: calc(100%);
	margin-bottom: 20px;
	height: 200px !important;
}

@media screen and (min-width: 900px) {
	#city-masonry>div.kc-card {
		width: calc(100% /2 - 20px);
	}
}

@media screen and (min-width: 1360px) {
	#city-masonry>div.kc-card {
		width: calc(100% /3 - 20px);
	}
}

#city-masonry>div.kc-card .kc-card-footer {
	align-items: flex-end;
}

#city-masonry>div.kc-card .kc-card-footer .kc-col {
	justify-content: flex-end;
}

#city-masonry>div.kc-card .kc-card-footer .kc-col a {
	margin: 0;
}

#city-masonry .kc-card.kc-card-structure.kc-card--premium .kc-card-body .kc-card-body-row:last-child {
	margin-bottom: 2rem;
}

#city-masonry .kc-card .kc-card-label {
	top: 0.5rem;
	bottom: auto;
}

@media screen and (min-width: 600px) {
	.kc-card-banner-content {
		height: 200px !important;
	}
}