.p-relative { position: relative!important; }
.p-absolute { position: absolute!important; }
.d-flex { display: flex!important; }
.flex-row { flex-direction: row!important; }
.flex-column { flex-direction: column!important; }
.justify-content-start { justify-content: flex-start!important; }
.justify-content-center { justify-content: center!important; }
.justify-content-end { justify-content: flex-end!important; }
.align-items-start { align-items: flex-start!important; }
.align-items-center { align-items: center!important; }
.align-items-end { align-items: flex-end!important; }
.float-left { float: left!important; }
.float-right { float: right!important; }
.gap-5 { gap: 5px!important; }
.gap-10 { gap: 10px!important; }
.gap-15 { gap: 15px!important; }
.gap-20 { gap: 20px!important; }
.gap-25 { gap: 25px!important; }
.gap-30 { gap: 30px!important; }
.gap-35 { gap: 35px!important; }
.nowrap { flex-wrap: nowrap!important;}
.mb-0 { margin-bottom: 0px!important; }
.mb-1 { margin-bottom: 5px!important; }
.mb-2 { margin-bottom: 15px!important; }
.mb-3 { margin-bottom: 35px!important; }
.mt-1 { margin-top: 5px!important; }
.mt-2 { margin-top: 15px!important; }
.mt-3 { margin-top: 35px!important; }
.ml-1 { margin-left: 5px!important; }
.ml-2 { margin-left: 15px!important; }
.ml-3 { margin-left: 35px!important; }
.mr-1 { margin-right: 5px!important; }
.mr-2 { margin-right: 15px!important; }
.mr-3 { margin-right: 35px!important; }
.p1 { padding: 5px!important; }
.p2 { padding: 15px!important; }
.p3 { padding: 35px!important; }
.pb-0 { padding-bottom: 0!important; }
.pb-1 { padding-bottom: 5px!important; }
.pb-2 { padding-bottom: 15px!important; }
.pb-3 { padding-bottom: 35px!important; }
.pt-0 { padding-top: 0!important; }
.pt-1 { padding-top: 5px!important; }
.pt-2 { padding-top: 15px!important; }
.pt-3 { padding-top: 35px!important; }
.pl-1 { padding-left: 5px!important; }
.pl-2 { padding-left: 15px!important; }
.pl-3 { padding-left: 35px!important; }
.pr-1 { padding-right: 5px!important; }
.pr-2 { padding-right: 15px!important; }
.pr-3 { padding-right: 35px!important; }
.no-margin { margin: 0!important; }
.no-padding { padding: 0!important; }
.fw-bold { font-weight: 600!important; }
.fw-bolder { font-weight: 800!important; }
.fs-italic { font-style: italic !important; }
.text-centered { text-align: center !important; }
.ab-centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.text-muted {
	color: #666 !important;
	font-weight: normal !important;
	font-size: 14px !important;
}

h1.page_title {
    font-size: 58px;
    font-weight: 600;
    line-height: 1.2em;
}
h2.page_subtitle {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.4em;
}
h3.page_smalltitle {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4em;
}
h5.page_overtitle {
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}
p.page_text {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4em;
}
p.page_smalltext {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2em;
}
a.underlined_link {
	font-size: 18px;
	line-height: 1.4em;
	font-weight: 500;
	text-decoration: underline;
}
a.button_link {
    display: inline-block;
    font-size: 18px;
    line-height: 1.4em;
    padding: 10px 25px;
    border: 1px solid;
    text-decoration: none !important;
}
a.button_link.color_white:hover {
    background-color: #ffffff25;
    cursor: pointer;
}
div.area_riservata_wrapper,
.home_page_header_controls_next,
.home_page_header_controls_prev {
  transition: all .2s linear!important;
}
a.dark_hover:hover,
div.area_riservata_wrapper:hover,
.home_page_header_controls_next:hover,
.home_page_header_controls_prev:hover {
  background-color: #159c5b!important;
  border: 1px solid #159c5b!important;
  color: #fff!important;
  cursor:pointer;
}
.ctm-stampa {
    padding: 20px 0px!important;
}
.d-flex.gap-15.ctm-stampa button {
    font-size: 14px!important;
    padding: 10px 20px!important;
}
.bg-green { background-color: #159C5B; }
.color_white { color: #fff !important; }
.color_lightwhite { color: #ffffffb5 !important; }
.color_black { color: #000 !important; }
.color_lightblack { color: #000000b5 !important; }
.color_green { color: #159C5B !important; }
div.no_padding_vc_col div.vc_column-inner { padding: 0 !important; }
div.full_dim_img, 
div.full_dim_img * {
    width: 100%;
    height: 100%;
}
div.full_dim_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.ctm-prezzo {
    display: flex;
    gap: 15px;
    align-items: center;
}
@media screen and (max-width: 1240px) {
    h1.page_title { font-size: 46px; }
    h2.page_subtitle { font-size: 28px; }
    h3.page_smalltitle { font-size: 20px; }
    p.page_text, a.button_link { font-size: 16px; }   
}
@media screen and (max-width: 640px) {
    h1.page_title { font-size: 36px; }
    h2.page_subtitle { font-size: 24px; }
    h3.page_smalltitle { font-size: 18px; }
    p.page_text, a.button_link { font-size: 14px; }
    a.button_link, a.underlined_link { font-size: 16px; }    
}
/*checkbox style*/
.toggler-wrapper {
    display: block;
    width: 45px;
    height: 25px;
    cursor: pointer;
    position: relative;
  }
  
  .toggler-wrapper input[type="checkbox"] {
    display: none;
  }
  
  .toggler-wrapper input[type="checkbox"]:checked+.toggler-slider {
    background-color: #159C5B;
  }
  
  .toggler-wrapper .toggler-slider {
    background-color: #ccc;
    position: absolute;
    border-radius: 100px;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  
  .toggler-wrapper .toggler-knob {
    position: absolute;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  /*Style 27*/
  
  .toggler-wrapper.style-27 {
    width: 54px;
    height: 30px;
  }
  
  .toggler-wrapper.style-27 input[type="checkbox"]:checked+.toggler-slider .toggler-knob:before {
    left: -100%;
  }
  
  .toggler-wrapper.style-27 input[type="checkbox"]:checked+.toggler-slider .toggler-knob:after {
    right: 3px;
  }
  
  .toggler-wrapper.style-27 .toggler-knob {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  
  .toggler-wrapper.style-27 .toggler-knob:before {
    content: 'NO';
    position: absolute;
    width: calc(30px - 6px);
    height: calc(30px - 6px);
    border-radius: 50%;
    left: 3px;
    top: 3px;
    background-color: #fff;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 75%;
    font-weight: 500;
  }
  
  .toggler-wrapper.style-27 .toggler-knob:after {
    content: 'SI';
    position: absolute;
    width: calc(30px - 6px);
    height: calc(30px - 6px);
    border-radius: 50%;
    right: -100%;
    top: 3px;
    background-color: #fff;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 75%;
    font-weight: 500;
  }
.justify-content-between {
  justify-content: space-between!important;
}
.align-content-center {
  align-items: center!important;
}
.pb-5 {
  padding-bottom: 1.5rem!important;
}
