body {
    font-family: 'Montserrat', sans-serif !important;
}

.language-switch {
    display: flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    padding: 4px;
    background-color: #f5f5f5;
    border-radius: 999px;
}

.language-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 6px 14px;
    line-height: 1.2;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    color: #8a8a8a;
    border-radius: 999px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.language-switch a:hover {
    color: #262626;
    background-color: rgba(255, 255, 255, 0.7);
}

.language-switch a.is-active {
    color: #ffffff;
    background-color: #018790;
    pointer-events: none;
}

:root {
    --section-color: #0ABFBC;
}

.section-color-1 { --section-color: #FCB653; }
.section-color-2 { --section-color: #FF5254; }
.section-color-3 { --section-color: #CEE879; }
.section-color-4 { --section-color: #0ABFBC; }

em {
    font-style: italic;
}

#cd-logo {
    position: relative;
}

#cd-logo img.hover {
    position: absolute;
    top: 50%;
    left: 0;
    opacity: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.lateral-menu-is-open #cd-logo img.hover {
    opacity: 1;
}

.cd-header-buttons {
    display: none;
    margin: 30px 0;
}

.cd-menu-trigger, .wrapper-trigger {
    display: block;
}

.wrapper-trigger {
    margin: 30px 0;
}

@media all and (max-width: 767px) {
    .cd-header-buttons {
        display: block;
    }

    .cd-menu-trigger, .wrapper-trigger {
        display: none;
    }
}

@media all and (min-width: 1170px) {
    .cd-primary-nav {
        display: none;
    }

    .cd-main-header {
        height: auto;
    }
}

.main-intro {
    height: 100vh;
    position: relative;
    background-position: top right;
    background-size: cover;
    background-repeat: no-repeat;
    /* max-height: 900px; */
}

.main-intro .flying-menu {
    position: absolute;
    top: 50vh;
    transform: translateY(-50%);
    margin-bottom: 0;
    list-style: none;
}

.main-intro .flying-menu li a {
    display: flex;
    position: relative;
    align-items: center;
    font-size: 20px;
    color: #FFFFFF;
    letter-spacing: 0.45px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 16px;
    text-decoration: none;
    background-color: rgba(1, 135, 144, .8);
    width: 80px;
    height: 80px;
}

.main-intro .flying-menu li a:before {
    content: "";
    display: block;
    position: absolute;
    height: 50px;
    width: 50px;
    left: 40px;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(45deg) scale(0);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg) scale(0);
    background-color: rgba(255,255,255,.2);
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

.main-intro .flying-menu li a:hover:before {
    transform: translateX(-50%) translateY(-50%) rotateZ(225deg) scale(1);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(225deg) scale(1);
}

.main-intro .flying-menu li a .fake-icon,
.main-intro .flying-menu li a i.icon {
    padding: 25px 25px;
    position: relative;
    height: 80px;
    width: 80px;
}

.main-intro .flying-menu li a i.icon {
    font-size: 1.5em;
    display: inline-block;
    text-align: center;
}

.main-intro .flying-menu li a .fake-icon img {
    max-width: 80px;
}

.main-intro .flying-menu li a .fake-icon::after,
.main-intro .flying-menu li a i.icon::after {
    content: "";
    width: 70%;
    border-top: 1px solid rgba(255, 255, 255, 1);
    position: absolute;
    left: 10px;
    bottom: 0px;
}

.main-intro .flying-menu li:last-child a i.icon::after {
    content: "";
    border: none;
}

.main-intro .flying-menu li:hover a {
    width: auto;
}

.main-intro .flying-menu li span {
    padding: 0 20px;
    font-size: 16px;
    white-space: nowrap;
    background-color: rgba(1, 135, 144, .8);
    padding: 10px 20px;
}

.main-intro .flying-menu li:hover span {
    display: block;
}

.content-with-image {
    margin-top: 70px;
    margin-bottom: 70px;
}

@media all and (max-width: 991px) {
    .content-with-image {
        margin-top: unset;
    }
}

.turtle-box {
    position: relative;
}

.turtle {
    position: absolute;
    width: 140%;
    bottom: -135px;
    left: 50%;
    transform: translate(-50%, 0%);
}

/* DIAMONDS GRID */

.template-homepage .content {
    overflow: hidden;
    background: url(../img/base-acquerello.png) no-repeat center bottom, url(../img/base-acquerello-home-top.jpg) no-repeat center top;
    background-size: 100% auto, 100% auto;
    padding-bottom: 30px;
}

.template-homepage .mobile-home-content .content {
    background-image: unset;
}

.slide-diamonds.slick-dotted.slick-slider {
    margin-bottom: 90px;
}

.slide-diamonds .slick-dots {
    bottom: -35px;
}

.slide-diamonds .slick-dots li {
    margin: unset;
}

.slide-diamonds .slick-dots li button:before {
    opacity: .15;
    font-size: 10px;
}

.slide-diamonds .slick-dots li button:hover:before,
.slide-diamonds .slick-dots li button:focus:before {
    opacity: 1;
    color: #FCB653;
}

.slide-diamonds .slick-dots li.slick-active button:before {
    opacity: .75;
    color: #FCB653;
}

.diamonds {
    position: relative;
    height: 900px;
    margin-top: 60px;
}

.diamond {
    display: block;
    position: absolute;
    transform: rotateZ(45deg);
    -ms-transform: rotate(45deg);
    overflow: hidden;
}

.diamond-image {
    width: 285px;
    background-color: red;
}

.diamond-color {
    width: 210px;
    background-color: blue;
}

.diamond:before {
    content: "";
    padding-bottom: 100%;
    display: block;
}

.diamond-1 {
    top: 50%;
    left: 50%;
    transform: translateY(-174.25%) translateX(-175%) rotateZ(45deg);
    -ms-transform: translateY(-174.25%) translateX(-175%) rotate(45deg);
}

.diamond-2 {
    top: 50%;
    left: 50%;
    transform: translateY(-125%) translateX(43%) rotateZ(45deg);
    -ms-transform: translateY(-125%) translateX(43%) rotate(45deg);
}

.diamond-3 {
    top: 50%;
    left: 50%;
    transform: translateY(-85%) translateX(-67%) rotateZ(45deg);
    -ms-transform: translateY(-85%) translateX(-67%) rotate(45deg);
}

.diamond-4 {
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(152.5%) rotateZ(45deg);
    -ms-transform: translateY(-50%) translateX(152.5%) rotate(45deg);
}

.diamond-5 {
    top: 50%;
    left: 50%;
    transform: translateY(-49.5%) translateX(-181.5%) rotateZ(45deg);
    -ms-transform: translateY(-49.5%) translateX(-181.5%) rotate(45deg);
}

.diamond-6 {
    top: 50%;
    left: 50%;
    transform: translateY(27.7%) translateX(-126.5%) rotateZ(45deg);
    -ms-transform: translateY(27.7%) translateX(-126.5%) rotate(45deg);
}

.diamond-7 {
    top: 50%;
    left: 50%;
    transform: translateY(-10%) translateX(8%) rotateZ(45deg);
    -ms-transform: translateY(-10%) translateX(8%) rotate(45deg);
}

.diamond-color,
.diamond-image {
    background-color: var(--section-color);
}

.desktop-home-content .diamond-image img {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(-45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    height: 141.414%;
    width: 141.414%;
    max-width: none;
}

.diamond .over {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(-45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    opacity: 0.4;
    background-image: linear-gradient(-187deg, #FCB653 0%, #000000 100%);
    height: 141.414%;
    width: 141.414%;
}

.diamond-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(-45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    width: 90%;
}

.diamond-image h3 {
    color: #FFFFFF;
}

.desktop-home-content .diamond-image a {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    text-indent: -10000px;
    border: 2px solid rgba(255, 255, 255, .5);
    display: block;
    width: 110%;
    height: 110%;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

.desktop-home-content .diamond-image a:hover {
    display: block;
    width: 90%;
    height: 90%;
}

.mobile-home-content .diamond-image a {
    display: flex;
    position: relative;
    background-size: cover;
    height: 100%;
    text-decoration: none;
    outline: unset;
    background-position: center center;
}

.mobile-home-content .diamond-image a::before {
    content: "";
    position: absolute; 
    opacity: 0.4;
    background-image: linear-gradient(-187deg, #FCB653 0%, #000000 100%);
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.mobile-home-content .diamond-image a div {
    margin: auto;
    z-index: 1;
}

.template-homepage .slide-diamonds .slick-slide {
    margin-right: 20px;
}

.mobile-home-content .diamond-card {
    display: flex;
    width: 280px;
    height: 280px;
}

.mobile-home-content .diamond-card .text-center {
    padding: 0 16px;
}

.mobile-home-content .diamond-card .wrapper-text {
    display: flex;
    height: 100%;
}

.mobile-home-content .diamond-card .wrapper-text div {
    margin: auto;
}

.diamond-content h3 {
    margin: 0;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
}

.diamond-card span,
.diamond-content span {
    color: #FFFFFF;
    display: inline-block;
    line-height: 36px;
    padding: 0 10px;
    margin-bottom: 15px;
    text-transform: uppercase;
    font-size: 12px;
}

.slide-diamonds .btn-default,
.diamond .btn-default {
    background-image: none;
    background-color: #FFFFFF;
    border: 2px solid #FFFFFF;
    border-radius: 0;
    text-transform: uppercase;
    margin-top: 15px;
}

.diamond-color .btn-default {
    color: var(--section-color);
}

.diamond-color span {
    background-color: var(--section-color);
}

@media all and (min-width: 1700px) {

    .diamonds {
        height: 1300px;
    }

    .diamond-image {
        width: 405px;
    }

    .diamond-color {
        width: 310px;
    }

    .diamond-1 {
        top: 50%;
        left: 50%;
        transform: translateY(-172%) translateX(-170%) rotateZ(45deg);
        -ms-transform: translateY(-172%) translateX(-170%) rotate(45deg);
    }
    
    .diamond-2 {
        top: 50%;
        left: 50%;
        transform: translateY(-125%) translateX(43%) rotateZ(45deg);
        -ms-transform: translateY(-125%) translateX(43%) rotate(45deg);
    }
    
    .diamond-3 {
        top: 50%;
        left: 50%;
        transform: translateY(-85%) translateX(-67%) rotateZ(45deg);
        -ms-transform: translateY(-85%) translateX(-67%) rotate(45deg);
    }
    
    .diamond-4 {
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(147.5%) rotateZ(45deg);
        -ms-transform: translateY(-50%) translateX(147.5%) rotate(45deg);
    }
    
    .diamond-5 {
        top: 50%;
        left: 50%;
        transform: translateY(-49.5%) translateX(-181.5%) rotateZ(45deg);
        -ms-transform: translateY(-49.5%) translateX(-181.5%) rotate(45deg);
    }
    
    .diamond-6 {
        top: 50%;
        left: 50%;
        transform: translateY(27.5%) translateX(-123.5%) rotateZ(45deg);
        -ms-transform: translateY(27.5%) translateX(-123.5%) rotate(45deg);
    }
    
    .diamond-7 {
        top: 50%;
        left: 50%;
        transform: translateY(-10%) translateX(8%) rotateZ(45deg);
        -ms-transform: translateY(-10%) translateX(8%) rotate(45deg);
    }

    .diamond-content h3 {
        font-size: 28px;
    }

    .diamond .btn-default {
        font-size: 16px;
    }

    .diamond-content span {
        font-size: 18px;
    }

}
/* END DIAMONDS GRID */


.template-homepage .home-events {
    margin-top: 100px;
}

.template-homepage .header-events {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
}

.template-homepage .header-events h2 {
    margin: 0;
}

.template-homepage .home-events a.btn.btn-default {
    background-color: #00c0bd;
    background-image: none;
    border: 0;
    text-shadow: none;
    color: #FFFFFF;
    border-radius: 0;
    display: inline-block;
    padding: 10px 25px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.template-homepage .home-events a.btn.btn-default span {
    position: relative;
    z-index: 1;
}

.template-homepage .home-events a.btn.btn-default:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg) scale(0);
    width: 50px;
    height: 50px;
    background-color: #008791;
    z-index: 0;
    transition: all .4s ease;
    filter: blur(5px);
}

.template-homepage .home-events a.btn.btn-default:hover:before {
    transform: translateY(-50%) translateX(-50%) rotate(45deg) scale(8);
}

.event-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-bottom: 30px;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid #eee;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.event-card:hover,
.event-card:focus {
    text-decoration: none;
    color: inherit;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    transform: translateY(-4px);
}

.event-card__image {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #e8f5f5;
}

.event-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.event-card:hover .event-card__image img {
    transform: scale(1.05);
}

.event-card__image--placeholder {
    background: linear-gradient(135deg, #00c0bd 0%, #008791 100%);
}

.event-card__body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.event-card .date {
    font-size: 14px;
    font-weight: 500;
    color: #008791;
    letter-spacing: 0;
    line-height: 1.4;
    margin-bottom: 8px;
}

.event-card h3 {
    color: #262626;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 12px;
}

.event-card p {
    font-size: 15px;
    color: #5A5A5A;
    line-height: 1.45;
    margin: 0;
}

.template-eventslist .events-list {
    margin-top: 20px;
}

.template-eventpage .event-detail__date {
    font-size: 18px;
    font-weight: 500;
    color: #008791;
    margin-bottom: 8px;
}

.template-eventpage .event-detail__meta {
    margin: 0 0 24px;
    padding: 0;
    color: #5A5A5A;
}

.template-eventpage .event-detail__meta li {
    margin-bottom: 6px;
}

.template-eventpage .event-detail__poster {
    display: block;
    margin: 0 0 28px;
}

.template-eventpage .event-detail__poster img {
    width: 100%;
    height: auto;
    display: block;
}

.template-eventpage .event-detail__map {
    width: 100%;
    height: 280px;
    background: #e8f5f5;
}

.template-eventpage .event-detail__back {
    margin-top: 40px;
}

.template-eventpage .event-detail__back .btn {
    background-color: #00c0bd;
    background-image: none;
    border: 0;
    color: #fff;
    border-radius: 0;
    padding: 10px 25px;
    text-transform: uppercase;
    text-decoration: none;
}

.template-eventpage .breadcrumbs {
    padding: 0 !important;
    margin-bottom: 20px;
}

.template-eventpage .breadcrumbs li {
    display: inline;
}

.template-eventpage .breadcrumbs li:not(:last-child)::after {
    content: " / ";
    color: #999;
}

.desktop-home-content .rich-text {
    column-count: 2;
    column-gap: 30px;
}

/* Hide CMS Italy map on desktop; the template .home-italy image is used instead.
   Wagtail no longer wraps |richtext output in .rich-text, so target the column. */
.desktop-home-content .content-with-image img {
    display: none;
}

.mobile-home-content .richtext-image,
.home-italy img {
    margin: 0 auto;
    display: block;
    object-fit: contain;
}

.rich-text a {
    color: #00c0bd;
    font-weight: 400;
    word-wrap: break-word;
}

.rich-text .responsive-object {
    position: relative;
    overflow: hidden;
}

.rich-text .responsive-object iframe {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    border: 0;
}

.richtext-image {
    object-fit: cover;
}

@media all and (max-width: 767px) {
    .rich-text .responsive-object {
        margin: 50px -15px;
    }
}

.home-slider .slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.home-slider .slide:before {
    content: "";
    display: block;
    padding-bottom: 100vh;
}

.home-slider .slick-prev,
.home-slider .slick-next {
    left: 50px;
    background-color: #00c0bd;
    width: 50px;
    height: 50px;
    transform: translateX(0) translateY(-50%) rotate(45deg);
    z-index: 10;
}

.home-slider .slick-next {
    left: auto;
    right: 50px;
    transform: translateX(0) translateY(-50%) rotate(-135deg);
}

.home-slider .slick-next:before, 
.home-slider .slick-prev:before {
    content: '';
    display: block;
    position: absolute;
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 50%;
    left: 50%;
    height: 50%;
    width: 50%;
    background: url(../img/arrow_left.png) 2px center no-repeat;
    background-size: contain;
}

.video video {
    width: 100%;
    margin-bottom: 30px;
}

.intro {
    overflow: hidden;
    min-height: 710px;
}

/* Pagine figlie di sezione: solo titolo, meno spazio vuoto sotto */
.template-basepage .intro {
    min-height: 420px;
}

.template-basepage .intro-content {
    margin-top: 160px;
    padding-bottom: 40px;
}

@media all and (min-width: 1200px) {
    .template-basepage .intro {
        min-height: 380px;
    }
}

.intro .container {
    position: relative;
}

.photo-wrapper {
    width: 100%;
    height: 900px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.photo, .water-color {
    position: absolute;
    overflow: hidden;
    top: -55.55%;
    right: -39.3%;
    width: 1000px;
    transform: rotateZ(-45deg);
    -ms-transform: rotate(-45deg);
}

.water-color {
    overflow: visible;
}

.photo:before, .water-color:before {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.photo img, .water-color img {
    position: absolute;
    top: 50%;
    max-width: none;
    height: 141.414%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotateZ(45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.intro-content {
    margin-top: 200px;
    position: relative;
    z-index: 1;
    font-size: 18px;
}

.intro h1 {
    font-weight: 500;
    font-size: 38px;
    color: #262626;
    letter-spacing: 1.25px;
    margin: 0;
}

.intro hr {
    width: 75px;
    border: 1.5px solid #018790;
    margin: 32px 0;
}

.template-detailspage .intro-content .wrapper-content {
    padding-right: 50px;
    padding-top: 50px;
}


.template-detailspage .intro-content ul a,
.template-detailspage .intro-content ol a,
.template-detailspage .intro-content p a {
    color: var(--section-color);
}

.template-detailspage .intro-content .wrapper-content .slider {
    margin-bottom: 30px;
}

.template-detailspage .intro-content .wrapper-content .slider .slick-prev, 
.template-detailspage .intro-content .wrapper-content .slider .slick-next {
    background-color: #00c0bd;
    width: 50px;
    height: 50px;
    transform: translateX(0) translateY(-50%) rotate(45deg);
    z-index: 1;
}

.template-detailspage .intro-content .wrapper-content .slider .slick-prev {
    left: -25px;
}

.template-detailspage .intro-content .wrapper-content .slider .slick-next {
    right: -25px;
}


.template-detailspage .intro-content .wrapper-content .slider .slick-prev:before, 
.template-detailspage .intro-content .wrapper-content .slider .slick-next:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 50%;
    width: 50%;
    background: url(../img/arrow_left.png) 2px center no-repeat;
    background-size: contain;
}

.template-detailspage .intro-content .wrapper-content .slider .slick-prev:before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.template-detailspage .intro-content .wrapper-content .slider .slick-next:before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.template-detailspage .intro-content .wrapper-content .slider .slick-next {
    transform: translateX(0) translateY(-50%) rotate(-135deg);
}

.template-detailspage .intro-content .sidebar p {
    margin-bottom: 15px;
}

.template-detailspage .intro-content ul {
    list-style-type: disc;
    padding-left: 2em;
}

.template-detailspage .intro-content ol {
    list-style-type: decimal;
    padding-left: 2em; 
}

a.parent,
p.parent {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 1.25px;
    margin-bottom: 15px;
    display: block;
    color: var(--section-color);
}

a.parent:hover {
    text-decoration: none;
}

.intro .wrapper-banner {
    position: absolute;
    top: 315px;
    right: 155px;
    width: 280px;
    transform: rotateZ(-45deg);
    -ms-transform: rotate(-45deg);
    background-color: var(--section-color);
    z-index: 1;
}

.intro .wrapper-banner:before {
    content: "";
    padding-bottom: 100%;
    display: block;
}

.intro .wrapper-banner .banner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translateX(-50%) translateY(-50%) rotateZ(45deg);
    -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    text-align: center;
}

.intro .wrapper-banner .banner p {
    font-size: 28px;
    font-weight: 300;
    color: #FFFFFF;
    letter-spacing: 0.72px;
    text-align: center;
    padding: 0 20px;
}

.intro .wrapper-banner .banner a {
    background-color: #FFF;
    display: inline-block;
    padding: 10px 30px;
    text-transform: uppercase;
    color: var(--section-color);
}

.content {
    padding-top: 50px;
    padding-bottom: 100px;
    background-image: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%), url(../img/base-acquerello.png);
    background-position: top center, bottom center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    min-height: 590px;
}

.content:first-child {
    padding-top: 250px;
}

.template-searchresults .content:first-child {
    padding-top: 150px;
}

.content h2 {
    font-size: 28px;
    font-weight: 500;
    color: #262626;;
    letter-spacing: 0.94px;
    margin: 32px 0 0;
}

.template-homepage .content h2 {
    color: #00c0bd;
    font-size: 34px;
    font-weight: 700;
}

@media all and (max-width: 767px) {
    .template-homepage .content h2 {
        font-size: 24px;
        font-weight: 500;
        margin-bottom: 16px;
    }

    .template-homepage .content .subtitle {
        font-weight: 600;
        font-size: 20px;
    }
}

.content h2.tab-title {
    margin-bottom: 0;
    line-height: 40px;
}

.content {
    line-height: 1.5;
    font-size: 16px;
}

.content .main ul:not(.nav):not(.dropdown-menu):not(.contacts-info):not(.pagination) {
    list-style-type: disc;
    padding-left: 2em;
}

ul.contacts-info {
    padding: 0 !important;
    list-style: none !important;
}

.content .main ol {
    list-style-type: decimal;
    padding-left: 2em; 
}

.content a {
    color: #00c0bd;
}

.content ul.section-menu {
    margin-top: 65px;
    font-size: 16px;
    color: #5A5A5A;
    letter-spacing: 0;
    line-height: 28px;
    text-transform: uppercase;
    font-weight: 400;
    list-style: none;
    padding-left: 0;
}

.content ul.section-menu li {
    margin-bottom: 24px;
}

.content ul.section-menu li a {
    color: #5a5a5a;
    border-bottom: 4px solid transparent;
    text-decoration: none;
}

.content ul.section-menu li.active a,
.content ul.section-menu li a:focus,
.content ul.section-menu li a:hover {
    text-decoration: none;    
}

.content .sidebar ul.section-menu li.active a,
.content .sidebar ul.section-menu li a:hover {
    border-bottom: 4px solid var(--section-color);
}

.intro-content .contacts a,
.intro-content .sidebar a,
.intro-content .contacts a:hover,
.intro-content .sidebar a:hover {
    color: var(--section-color);
}

.intro-content .contacts h2,
.intro-content .sidebar h2,
.content .sidebar h2 {
    margin-top: 75px;
    color: var(--section-color);
}

.intro-content .contacts h2,
.intro-content .sidebar h2 {
    margin-bottom: 20px;
}

.gallery {
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.gallery .image {
    padding: 10px;
}

.footer {
    background-color: #018790;
    color: #FFF;
}

.footer #cd-footer-logo {
    padding: 30px 0;
    display: block;
}

.footer hr {
    margin-top: 0;
    margin-bottom: 30px;
    opacity: .5;
    color: inherit;
}

.footer h2 {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.36px;
    line-height: 1;
    margin: 15px 0 0;
    color: inherit;
}

.footer h2 a {
    text-decoration: none;
    color: inherit;
}

.footer ul {
    margin-bottom: 30px;
}

.footer li a {
    font-size: 12px;
    color: inherit;
    letter-spacing: 0;
    line-height: 24px;
    text-decoration: none;
}

.footer p {
    font-size: 12px;
    color: #FFFFFF;
    letter-spacing: 0;
    font-weight: 300;
    margin-bottom: 30px;
    line-height: 18px;
}

.footer p a {
    color: #FFFFFF;
}

.footer ul.policies {
    text-align: right;
    line-height: 12px;
}

.footer ul.policies li {
    display: inline-block;
    line-height: 18px;
}

.footer ul.policies li a {
    line-height: 18px;
}

.footer ul.policies li:not(:first-child):before {
    content: "|";
    color: white;
    margin-right: 24px;
}

.footer ul.policies li:not(:last-child) {
    margin-right: 24px;
}

.footer a:hover {
    text-decoration: underline;
}

#footer-menu {
    /* column-count: 4; */
    margin-bottom: 20px;
}

.social {
    text-align: right;
}

.footer .directions {
    display: flex;
    align-items: flex-end;
}

@media all and (min-width: 992px) {
    .social {
        margin-bottom: 20px;
    }
}

.social a {
    color: white;
    font-size: 28px;
    display: inline-block;
    text-align: center;
    margin-left: 15px;
}

#language-dropdown, 
#section-dropdown {
    background-color: #ffffff;
    background-image: none;
    box-shadow: none;
    border-radius: 0;
    color: #262626;
    text-shadow: none;
    font-size: 28px;
    border: 0;
    padding: 0;
    outline: none;
}

#section-dropdown .caret {
    border-top: 6px dashed;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}

.template-servicespage .btn-small {
    font-size: 18px !important;
    line-height: 2.35;
}

.content .main ul.dropdown-menu {
    list-style-type: none;
    padding: 0;
}

.dropdown-menu {
    border-radius: 0;
    padding: 0;
}

.dropdown-header {
    display: block;
    padding: 6px 20px;
    font-size: 14px;
    line-height: 1.42857143;
    white-space: nowrap;
    text-transform: uppercase;
    color: #b3b3b3;
}

.dropdown-menu .divider {
    height: 1px;
    margin: 0;
    overflow: hidden;
    background-color: #ebebeb;
}

.dropdown-menu .dropdown-item,
.dropdown-menu > li > a {
    padding: 15px 20px;
    border-bottom: 1px solid #ebebeb;
}

.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > li > a:hover {
    background-color: transparent;
    background-image: none;
    color: var(--section-color);
}

.dropdown-menu > li.disabled > a,
.dropdown-menu > li.disabled>a:focus,
.dropdown-menu > li.disabled > a:hover,
.dropdown-menu .dropdown-item.disabled,
.dropdown-menu .dropdown-item:disabled {
    color: var(--section-color);
}

.subsection-title, .subsection-tabs {
    padding: 10px 15px;
}

.subsection-tabs .nav-tabs {
    border-bottom: 0;
    margin-bottom: 0 !important;
    padding: 0 !important;
    justify-content: flex-end;
    list-style: none;
}

.subsection-search {
    margin-top: 10px;
}

.subsection-search input[type="text"] {
    height: 42px;
    padding: 10px;
    margin: 0;
    border-width: 0 0 1px 0;
    width: 100%;
    background: transparent;
}

.subsection-search input[type="text"]:hover,
.subsection-search input[type="text"]:focus {
    outline: none;
}

.subsection-search button.btn.btn-success {
    position: absolute;
    top: 50%;
    right: 0;
    height: 30px;
    width: 30px;
    border-radius: 0;
    transform: translateY(-50%) rotate(-45deg);
    background: #008891;
    border: 0;
    transition: all .5s ease;
}

.subsection-search button.btn.btn-success .fa {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: all .5s ease;
}

.nav-tabs > li,
.nav-tabs > .nav-item {
    float: none;
}

.nav-tabs .nav-link,
.subsection-tabs .nav-tabs .nav-link.active,
.subsection-tabs .nav-tabs .nav-link.active:focus,
.subsection-tabs .nav-tabs .nav-link.active:hover {
    border: 0;
    color: #0ABFBC;
    margin-right: 0;
    background-color: transparent;
    border-radius: 0;
}

.nav-tabs .nav-link.active {
    padding-bottom: 18px;
    margin-bottom: -11px;
    border-bottom: 3px solid #038590 !important;
    color: #0cbfbc;
    background-color: transparent;
}

.nav .nav-link {
    padding: 10px 30px;
    text-transform: uppercase;
    color: #0ABFBC;
    font-size: 16px;
    letter-spacing: 0.5px;
    text-align: right;
}

.nav .nav-link:focus, .nav .nav-link:hover {
    border-width: 0 0 3px 0;
    background-color: transparent;
    border-color: #038690;
    color: #0ABFBC;
    padding-bottom: 18px;
    margin-bottom: -11px;
}

hr.title-separator {
    margin: 0;
    border-color: #038690;
}

.tab-pane {
    padding: 20px 0;
}

span.icon-list {
    background-image: url(../img/icon_list.svg);
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    padding-left: 32px;
}

span.icon-map {
    background-image: url(../img/icon_marker.svg);
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    padding-left: 32px;
}

#google-map {
    height: 600px;
}

.template-tabbedpage .poi-map {
    margin-top: 50px;
    margin-bottom: 30px;
}

.template-tabbedpage .poi-map__title {
    font-size: 24px;
    font-weight: 500;
    color: #262626;
    margin: 0 0 20px;
}

.template-tabbedpage .poi-map #google-map {
    height: 480px;
    width: 100%;
    background: #e8f5f5;
}

.template-tabbedpage .poi-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.template-tabbedpage .poi-card:hover {
    text-decoration: none;
    color: inherit;
}

.template-tabbedpage .poi figure {
    width: 100%;
    margin: 0 0 30px;
}

.template-tabbedpage .poi figure img {
    width: 100%;
    height: auto;
    display: block;
}

@media all and (max-width: 767px) {
    .template-tabbedpage .poi-map #google-map {
        height: 360px;
    }
}

.sheet {
    margin-top: 70px;
}

.sheet .col-md-6 {
    padding: 0 50px;
}

.sheet img {
    width: 100%;
}

.sheet h3 {
    font-weight: 500;
    font-size: 18px;
    color: #000000;
    letter-spacing: 0.62px;
    line-height: 26px;
    margin-top: 0;
}

.sheet .address {
    font-weight: 300;
    font-size: 14px;
    color: #5A5A5A;
    letter-spacing: 0;
    line-height: 22px;
    margin-bottom: 22px
}

.sheet .description {
    /* Situato alle spalle: */
    font-weight: 100;
    font-size: 16px;
    color: #5A5A5A;
    letter-spacing: 0;
    line-height: 26px;
}

.sheet a.btn-view-more {
    color: #FFF;
    display: inline-block;
    padding: 10px 30px;
    text-transform: uppercase;
    border-radius: 0;
    background-color: var(--section-color);
}


/* JAZZ EFFECT */

.grid figure {
    position: relative;
    float: left;
    overflow: hidden;
    width: 100%;
    height: auto;
    background: #3085a3;
    text-align: center;
    cursor: pointer;
    margin-bottom: 30px;
}

.grid figure img {
    position: relative;
    display: block;
    min-height: 100%;
    max-width: 100%;
    opacity: 0.8;
}

.grid figure figcaption {
    padding: 2em;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.grid figure h2 {
    word-spacing: -0.15em;
    font-weight: 500;
    font-size: 28px;
    color: #FFF;
    width: 100%;
}

.grid figure h2, .grid figure p {
    margin: 0;
}

.grid figure figcaption, .grid figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.grid figure figcaption > a {
    z-index: 10;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
}

.grid figure figcaption, .grid figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

figure.effect-jazz {
    background: -webkit-linear-gradient(-187deg, var(--section-color) 0%, #000000 100%);
    background: linear-gradient(-187deg, var(--section-color) 0%, #000000 100%);
}

figure.effect-jazz img {
    opacity: 0.9;
}

figure.effect-jazz:hover img {
    opacity: 0.7;
    -webkit-transform: scale3d(1.05,1.05,1);
    -ms-transform: scale3d(1.05,1.05,1);
    transform: scale3d(1.05,1.05,1);
}

figure.effect-jazz figcaption::after, figure.effect-jazz img, figure.effect-jazz p {
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    -ms-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
}

figure.effect-jazz p {
    padding: 0.5em 2em;
    text-transform: none;
    font-size: 0.85em;
    opacity: 0;
}

figure.effect-jazz h2, figure.effect-jazz p {
    opacity: 1;
    -webkit-transform: scale3d(0.8,0.8,1);
    -ms-transform: scale3d(0.8,0.8,1);
    transform: scale3d(0.8,0.8,1);
}

figure.effect-jazz h2 {
    -webkit-transition: -webkit-transform 0.35s;
    -ms-transition: -ms-transform 0.35s;
    transition: transform 0.35s;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) scale3d(0.8,0.8,1);
    -ms-transform: translateX(-50%) translateY(-50%) scale3d(0.8,0.8,1);
    transform: translateX(-50%) translateY(-50%) scale3d(0.8,0.8,1);
}

figure.effect-jazz:hover h2, figure.effect-jazz:hover p {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(-50%) scale3d(1,1,1);
    -ms-transform: translateX(-50%) translateY(-50%) scale3d(1,1,1);
    transform: translateX(-50%) translateY(-50%) scale3d(1,1,1);
}

figure.effect-jazz:hover figcaption::after {
    opacity: 1;
    -webkit-transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
    -ms-transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
    transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
}

figure.effect-jazz figcaption::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    content: '';
    opacity: 0;
    -webkit-transform: rotate3d(0,0,1,45deg) scale3d(1,0,1);
    -ms-transform: rotate3d(0,0,1,45deg) scale3d(1,0,1);
    transform: rotate3d(0,0,1,45deg) scale3d(1,0,1);
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

/* DETAILS PAGE */

.template-detailspage .photo-wrapper {
    height: 600px;
}

.template-detailspage .photo, 
.template-detailspage .water-color {
    position: absolute;
    overflow: hidden;
    top: -46%;
    right: -20%;
    width: 700px;
    transform: rotateZ(-45deg);
    -ms-transform: rotate(-45deg);
}

.template-detailspage .photo-wrapper .water-image {
    position: absolute;
}

.template-detailspage .photo-wrapper .water-image-1 {
    top: 0px;
    right: 300px;
    height: 406px;
}

.template-detailspage .photo-wrapper .water-image-2 {
    top: 350px;
    left: -280px;
    width: 406px;
}

.template-detailspage .photo-wrapper .water-image-3 {
    top: 50px;
    right: -450px;
    width: 828px;
}

.intro-content h2 {
    font-size: 26px;
    color: #262626;
    letter-spacing: 0.81px;
    margin: 50px 0 20px 0;
}

.template-detailspage .intro {
    overflow: hidden;
    min-height: 1000px;
    padding-top: 50px;
    padding-bottom: 100px;
    background-image: url(../img/base-acquerello.png);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.template-detailspage .banner img {
    margin-bottom: 25px;
}

.template-detailspage .intro .wrapper-banner {
    position: absolute;
    top: 460px;
    right: 55px;
    width: 240px;
    transform: rotateZ(-45deg);
    -ms-transform: rotate(-45deg);
}

.template-detailspage .intro .wrapper-banner .banner p {
    font-size: 18px;
    font-weight: 300;
    color: #FFFFFF;
    letter-spacing: 0.72px;
    text-align: center;
    padding: 0 20px;
    line-height: 28px;
}

.template-detailspage .sidebar {
    margin-top: 520px;
}

.contact-list,
.template-detailspage .contacts .contact-list,
.template-detailspage .sidebar .contact-list {
    margin: 0;
    padding-left: 0 !important;
}

.contact-list__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.45;
    color: #5A5A5A;
}

.contact-list__item .fa {
    flex-shrink: 0;
    width: 1.1em;
    margin-top: 3px;
    font-size: 18px;
    text-align: center;
    color: var(--section-color);
}

.contact-list__item a {
    color: var(--section-color);
    text-decoration: none;
    word-break: break-word;
}

.contact-list__item a:hover {
    text-decoration: underline;
}

.template-detailspage .contacts ul.links-list,
.template-detailspage .sidebar ul.links-list {
    list-style-type: none;
    padding: 0;
}

.template-detailspage .contacts ul.links-list {
    margin-top: -14px;
}

.template-detailspage .sidebar ul.links-list {
    margin-top: -15px;
}


.template-detailspage .contacts ul.links-list a,
.template-detailspage .sidebar ul.links-list a {
    color: inherit;
}

.template-detailspage .contacts ul.links-list a:hover,
.template-detailspage .sidebar ul.links-list a:hover {
    color: var(--section-color);
}

.template-detailspage .intro-content {
    margin-bottom: 70px;
    margin-top: 100px;
}

.breadcrumbs {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 32px;
    padding: 0 250px 0 0 !important;
}

.breadcrumbs li {
    display: inline;
}

.breadcrumbs li:not(:first-child) {
    margin-left: 15px;
}

.breadcrumbs li:not(:first-child)::before {
    content: "›";
    display: inline-block;
    margin-right: 15px;
}

.breadcrumbs li a {
    color: var(--section-color);
}

.template-detailspage .intro h1 {
    padding-right: 250px;
}

.documents a.document,
.sidebar a.document {
    line-height: 34px;
    display: block;
    position: relative;
    font-size: 18px;
    letter-spacing: 0;
    padding-right: 50px;
    font-weight: 100;
    color: #5A5A5A !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar a:hover {
    color: var(--section-color) !important;
}

.documents a svg,
.sidebar a svg {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
}

.documents a svg g,
.sidebar a svg g {
    fill: var(--section-color);
}

.documents {
    background-color: #F9F9F9;
    padding: 30px 0;
}

.documents h4 {
    color: var(--section-color);
}

/* ROOT EVENTS PAGE */

.template-basepage .events-list {
    margin-top: 50px;
}

.template-basepage .events-list .event {
    margin-bottom: 60px;
}

.template-searchresults .tab-results {
    min-height: 300px;
}

.template-searchresults .search-empty {
    margin: 24px 0 0;
    padding: 0;
    color: #5a5a5a;
    font-size: 16px;
    line-height: 1.5;
}

.template-searchresults .result {
    margin-bottom: 15px;
}

.template-searchresults .result .wrapper {
    border-bottom: 1px dotted #EEE;
    padding-bottom: 15px;
}

.template-searchresults .result h3,
.template-searchresults .result h3 a {
    color: #333;
}

.template-basepage .events-list .event span.date,
.template-searchresults .result span.date {
    font-size: 18px;
    font-weight: 500;
    color: #008791;
}

.template-basepage .events-list .event a.poster,
.template-searchresults .result .poster {
    float: right;
    width: 34%;
    display: block;
    margin: 0 0 30px 30px;
}

.template-searchresults .result .poster {
    margin: 0 30px 0 0;
    float: left;
    width: 20%;
    border: 1px solid #EEE;
    padding: 5px;
}

.template-basepage .events-list .event a.poster img,
.template-searchresults .result .poster img {
    float: right;
    width: 100%;
    display: block;
}

/* 25/01/2021 */
.template-basepage .events-list .event a.poster--mod{
    float: inherit;
    width: 100%;
    margin: 0;
    display: inline;
}
.template-basepage .events-list .event a.poster--mod img {
    float: inherit;
    width: 80%;
    object-fit: cover;
    object-position: center;
}
.template-basepage .events-list .event .on-map {
    margin-top: 16px;
}
.template-basepage .events-list #stickyCalendar {
    margin-bottom: 100px;
}
.template-basepage .events-list #stickyCalendar .fc-daygrid-day-number {
    color: #333;
    text-decoration: none;
}
.template-basepage .events-list #stickyCalendar .fc-button {
    background-color: #008791;
    background-image: none;
}
.template-basepage .events-list #stickyCalendar .fc-col-header-cell-cushion {
    color: #000;
}
.template-basepage .events-list #stickyCalendar .fc-daygrid-day:not(.fc-day-disabled) {
    cursor: pointer;
}
@media screen and (min-width: 992px) {
    .template-basepage .events-list #stickyCalendar{
        position: -webkit-sticky;
        position: sticky;
        top: 5%;
    }
}

@media all and (max-width: 991px) {
    .nav-tabs > li,
    .nav-tabs > .nav-item {
        width: 33.3333%;
    }

    .nav .nav-link {
        padding: 10px;
        text-align: center;
    }
}

@media all and (max-width: 767px) {
    .template-searchresults .result .poster {
        display: none;
    }

    .template-searchresults .subsection-search button.btn.btn-success {
        transform: translateY(-50%);
        right: 15px;
    }

    .subsection-search button.btn.btn-success .fa {
        transform: translate(-50%, -50%);
    }

    .nav-tabs > li,
    .nav-tabs > .nav-item {
        width: 33.3333%;
    }   
}

@media all and (max-width: 575px) {
    .template-searchresults .nav-tabs span {
        float: right;
    }

    .template-searchresults .nav-tabs .nav-link,
    .template-searchresults .subsection-tabs .nav-tabs .nav-link.active,
    .template-searchresults .subsection-tabs .nav-tabs .nav-link.active:focus,
    .template-searchresults .subsection-tabs .nav-tabs .nav-link.active:hover {
        text-align: left;
    }

    .template-searchresults .nav-tabs .nav-link.active span,
    .template-searchresults .nav-tabs .nav-link.active span:before,
    .template-searchresults .nav-tabs .nav-link.active span:after {
        background-color: #FFF;
        color: #038690;
    }
}

.template-basepage .events-list .event a.btn.btn-default,
.template-basepage .service-list .service a.btn.btn-default,
.template-searchresults .result a.btn.btn-default {
    border: 1px solid #00c0bd;
    border-radius: 0;
    background-image: none;
    background-color: transparent;
    color: #00c0bd;
    text-transform: uppercase;
    padding: 10px 30px;
    box-shadow: none;
    font-weight: 300;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

.template-basepage .events-list .event a.btn.btn-default:hover,
.template-basepage .service-list .service a.btn.btn-default:hover,
.template-searchresults .result a.btn.btn-default:hover {
    background-color: #00c1be;
    color: #FFFFFF;
    text-shadow: none;
}

.template-basepage .events-list .event h3,
.template-searchresults .result h3 {
    margin-top: 10px;
}

.template-basepage .events-list .event .meta-info,
.template-searchresults .result .meta-info {
    margin-bottom: 0;
    font-style: italic;
    font-size: 14px;
    line-height: 26px;
}

/* SEARCH PAGE */

.template-searchresults .nav-tabs span {
    display: inline-block;
    width: 30px;
    text-align: center;
    height: 17px;
    background: #008891;
    line-height: 20px;
    position: relative;
    z-index: 1;
    color: #FFF;
    font-size: 12px;
    vertical-align: text-top;
}

.template-searchresults .nav-tabs span:before, .template-searchresults .nav-tabs span:after {
    content: "";
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;
    background: #008891;
    top: 50%;
    left: 50%;
    z-index: -1;
}

.template-searchresults .nav-tabs span:before {
    transform: translate(-50%, -50%) rotate(-60deg);
}

.template-searchresults .nav-tabs span:after {
    transform: translate(-50%, -50%) rotate(60deg);
}

.expand-button {
    margin: 20px 0;
}

/* MAP PAGE */

#google-map h3 {
    margin-top: 0;
}

#google-map p {
    margin-bottom: 0;
}

/* MEDIUM DEVICES */

@media all and (max-width: 1199px) {

    .intro {
        min-height: 490px;
    }

    .wrapper-trigger {
        right: 25px;
    }

    .photo, .water-color {
        top: -37.5%;
        right: -29.7%;
        width: 675px;
    }

    .template-detailspage .photo {
        width: 600px;
    }

    .intro .wrapper-banner {
        top: 182px;
        right: 100px;
        width: 250px;
    }

    .template-detailspage .intro .wrapper-banner {
        top: 360px;
    }

    .template-detailspage .photo-wrapper .water-image-1 {
        top: -50px;
        right: 200px;
        height: 406px;
    }

    .template-detailspage .photo-wrapper .water-image-3 {
        top: -50px;
        right: -475px;
        width: 828px;
    }

    .template-detailspage .sidebar {
        margin-top: 578px;
    }

    .intro .wrapper-banner .banner p {
        font-size: 24px;
    }

    .intro h1 {
        padding-right: 65px;
    }

    .template-detailspage .breadcrumbs {
        padding: 0 200px 0 0 !important;
    }

    .template-detailspage .intro h1 {
        padding-right: 100px;
    }

    .intro .rich-text {
        padding-right: 65px;
    }

    .intro a.parent {
        font-size: 18px;
    }

    p.parent {
        margin-bottom: 10px;
    }

    .content p {
        font-size: 16px;
        line-height: 28px;
        margin-bottom: 32px;
    }

    .content ul.section-menu {
        font-size: 16px;
    }

    .template-detailspage .intro-content .wrapper-content {
        padding-right: 0px;
        padding-top: 50px;
    }
}

/* SMALL DEVICES */

@media all and (max-width: 991px) {

    .intro,
    .template-basepage .intro {
        min-height: auto;
    }

    .intro-content,
    .template-basepage .intro-content {
        margin-top: 150px;
        padding-bottom: 0;
    }

    .template-detailspage .photo-wrapper .water-image-1,
    .template-detailspage .photo-wrapper .water-image-2,
    .template-detailspage .photo-wrapper .water-image-3 {
        display: none;
    }

    .photo, .water-color {
        display: none;
    }

    .intro .wrapper-banner {
        display: none;
    }

    .intro h1 {
        padding-right: 0;
        font-size: 5vw;
        line-height: 1.1;
    }

    .template-detailspage .intro h1 {
        padding-right: 0px;
    }

    .intro .rich-text {
        padding-right: 0;
    }

    #cd-logo {
        float: none;
    }

    .wrapper-trigger {
        background-color: #0abfbc;
        border-radius: 50px;
    }

    #cd-menu-trigger .cd-menu-icon {
        background-color: #FFFFFF;
    }

    .lateral-menu-is-open .wrapper-trigger {
        background-color: #FFFFFF;
    }

    .section-menu {
        display: none;
    }

    .gallery img {
        width: 100%;
    }

    .sheet .col-md-6 {
        padding: 0 15px;
    }

    .footer ul.policies {
        margin: 20px 0;
        text-align: left;
    }

    .footer hr {
        margin-bottom: 20px;
    }

    .footer p {
        margin-bottom: 20px;
    }

    .footer .social {
        margin-bottom: 20px;
    }

    .template-detailspage .intro {
        background-image: none;
        padding-bottom: 0;
    }

    .breadcrumbs {
        display: none;
    }

    p.location {
        margin-top: 15px;
        margin-bottom: 20px !important;
    }

    p.location svg {
        vertical-align: text-bottom;
        margin-right: 7px;
    }

    p.location {
        color: var(--section-color);
    }

    p.location svg g {
        fill: var(--section-color);
    }

    .main-intro .wrapper-sections a {
        font-size: 13px;
    }

    .diamonds {
        position: relative;
        height: 1400px;
        margin-top: 0;
    }

    .diamond-1 {
        top: 50%;
        left: 50%;
        transform: translateY(-199.5%) translateX(-150%) rotateZ(45deg);
        -ms-transform: translateY(-199.5%) translateX(-150%) rotate(45deg);
    }

    .diamond-2 {
        top: 50%;
        left: 50%;
        transform: translateY(-198.5%) translateX(-30%) rotateZ(45deg);
        -ms-transform: translateY(-198.5%) translateX(-30%) rotate(45deg);
    }

    .diamond-3 {
        top: 50%;
        left: 50%;
        transform: translateY(-85%) translateX(-67%) rotateZ(45deg);
        -ms-transform: translateY(-85%) translateX(-67%) rotate(45deg);
    }

    .diamond-4 {
        top: 50%;
        left: 50%;
        transform: translateY(-149.5%) translateX(53.5%) rotateZ(45deg);
        -ms-transform: translateY(-149.5%) translateX(53.5%) rotate(45deg);
    }

    .diamond-5 {
        top: 50%;
        left: 50%;
        transform: translateY(28.5%) translateX(-103.5%) rotateZ(45deg);
        -ms-transform: translateY(28.5%) translateX(-103.5%) rotate(45deg);
    }

    .diamond-6 {
        top: 50%;
        left: 50%;
        transform: translateY(133.7%) translateX(-20.5%) rotateZ(45deg);
        -ms-transform: translateY(133.7%) translateX(-20.5%) rotate(45deg);
    }

    .diamond-7 {
        top: 50%;
        left: 50%;
        transform: translateY(-10%) translateX(8%) rotateZ(45deg);
        -ms-transform: translateY(-10%) translateX(8%) rotate(45deg);
    }

}

/* EXTRA SMALL DEVICES */

@media all and (max-width: 767px) {

    #cd-logo {
        display: block;
        margin: 0;
    }

    #cd-logo img {
        height: 48px;
        margin: 30px 0;
    }

    #cd-logo img.hover {
        margin: 0;
    }

    .search-is-visible #cd-logo img.hover,
    .nav-is-visible #cd-logo img.hover {
        opacity: 1;
    }

    a.cd-search-trigger, a.cd-nav-trigger {
        text-indent: -10000px;
        background-color: #0abfbc;
        border-radius: 44px;
    }

    .cd-header-buttons {
        right: 15px;
    }

    .cd-search {
        top: 105px;
    }

    .cd-nav-trigger span, .cd-nav-trigger span::before, .cd-nav-trigger span::after {
        background-color: #FFFFFF;
        -webkit-transition: none;
        -moz-transition: none;
        transition: none;
    }
    
    .search-is-visible .cd-nav-trigger span,
    .search-is-visible .cd-nav-trigger span::before, .search-is-visible .cd-nav-trigger span::after,
    .nav-is-visible .cd-nav-trigger span::before, .nav-is-visible .cd-nav-trigger span::after {
        background-color: #0abfbc;
    }

    .search-is-visible .cd-search-trigger span::before, .search-is-visible .cd-search-trigger span::after {
        background-color: #0abfbc;        
    }

    .cd-search-trigger span::before, .cd-search-trigger span::after {
        background-color: #FFFFFF;
    }

    .cd-search-trigger::before {
        border-color: #FFFFFF;
    }

    .cd-search-trigger::after {
        background-color: #FFFFFF;
    }
    
    .search-is-visible .cd-nav-trigger, .search-is-visible .cd-search-trigger,
    .nav-is-visible .cd-nav-trigger, .nav-is-visible .cd-search-trigger {
        background-color: #FFFFFF;
        -webkit-transition: none;
        -moz-transition: none;
        transition: none;
    }

    .cd-nav-trigger.nav-is-visible span {
        background: rgba(46, 50, 51, 0);
    }

    .nav-is-visible .cd-search-trigger::after {
        background-color: #0ABFBC;
    }

    .cd-search-trigger.search-is-visible::before, .nav-is-visible .cd-search-trigger::before {
        border-color: #0ABFBC;
    }

    .go-home a {
        height: auto;
        padding: 20px;
    }

    .go-home img {
        height: 40px;
    }

    .cd-primary-nav .go-back a {
        padding-left: 40px;
        background-color: #F9F9F9;
    }

    .cd-primary-nav .go-parent {
        background-color: #0ABFBC;
    }

    .cd-primary-nav .go-parent a {
        height: 91px;
        line-height: 91px;
        color: #FFFFFF !important;
        text-decoration: none;
    } 

    .cd-primary-nav a:focus, .cd-primary-nav a:hover {
        color: #1ac3c0;
        text-decoration: none;
    }

    .cd-header-buttons li:first-child {
        margin-right: 15px;
    }

    #detail {
        margin: 0 auto;
        max-width: 320px;
    }

    #detail h3 {
        margin-top: 30px;
    }

    .slider {
        padding: 0;
    }

    .template-detailspage .intro-content .wrapper-content .slider {
        margin-left: -15px;
        margin-right: -15px;
    }

    .template-detailspage .intro-content .wrapper-content .slider .slick-prev {
        left: 25px;
        z-index: 1;
    }
    
    .template-detailspage .intro-content .wrapper-content .slider .slick-next {
        right: 25px;
        z-index: 1;
    }

    .slider img {
        width: 100%;
    }

    .template-detailspage .photo-wrapper {
        display: none;
    }

    .template-detailspage .contacts h2 {
        margin-top: 32px;
        font-weight: 700;
    }

    .template-detailspage .contact-list__item {
        margin-bottom: 16px;
        line-height: 1.4;
    }

    .template-homepage .cd-main-header {
        background-image: none;
    }

    .template-homepage .mobile-home-content {
        background-image: url(../img/macchie.png);
        background-position: top center;
        background-size: auto 75%;
    }

    .template-homepage .home-events {
        margin-top: 40px;
        margin-bottom: 60px;
    }

}

/* DOUBLE EXTRA SMALL */

@media all and (max-width: 575px) {

    .col-xxs-12 {
        width: 100% !important;
    }

    .intro h1 {
        padding-right: 0;
        font-size: 8.5vw;
        line-height: 1.1;
    }

    .title-separator {
        display: none;
    }

    .subsection-tabs {
        padding-bottom: 0;
    }

    .subsection-tabs .nav-tabs {
        border-bottom: 2px solid #048490;
        padding-left: 0 !important;
        justify-content: stretch;
    }

    .nav-tabs > li,
    .nav-tabs > .nav-item {
        width: 50%;
        text-align: center;
        margin-bottom: 0;
    }

    .nav-tabs .nav-link,
    .subsection-tabs .nav-tabs .nav-link.active,
    .subsection-tabs .nav-tabs .nav-link.active:focus,
    .subsection-tabs .nav-tabs .nav-link.active:hover {
        text-align: center;
    }

    .nav-tabs .nav-link {
        background-color: #FFF;
        padding: 10px 10px 8px 10px;
    }

    .subsection-tabs .nav-tabs .nav-link.active,
    .subsection-tabs .nav-tabs .nav-link.active:focus,
    .subsection-tabs .nav-tabs .nav-link.active:hover {
        border: 0;
        color: #FFF;
        margin-right: 0;
        background-color: #058390;
        border-radius: 0;
    }

    .nav-tabs .nav-link.active,
    .nav .nav-link:focus,
    .nav .nav-link:hover {
        padding-bottom: 8px;
        margin-bottom: 0;
        border-bottom: 0 !important;
    }

    .nav-tabs .nav-link.active {
        background-color: #038690;
    }

    .nav .nav-link:focus,
    .nav .nav-link:hover {
        background-color: #FFF;
    }

    .nav-link.active span.icon-list {
        background-image: url(../img/icon_list_white.svg)
    }

    .nav-link.active span.icon-map {
        background-image: url(../img/icon_marker_white.svg)
    }

    .social a {
        margin-left: 0;
        margin-right: 20px;
    }

    .footer ul.policies li:not(:last-child) {
        margin-right: 8px;
    }

    .footer ul.policies li:not(:first-child):before {
        margin-right: 8px;
    }

    .footer .directions p {
        font-size: 11px;
    }

    .footer .directions strong {
        font-size: 14px;
    }

    .cd-header-buttons li:first-child {
        margin-right: 0;
    }

}

/* CAROUSEL PAGE */

.template-carouselpage #google-map,
.template-mappage #google-map {
    margin-top: 20px;
    margin-bottom: 20px;
}

.template-carouselpage .carousel {
    margin-top: 50px;
}

@media all and (max-width: 991px) {
    .template-carouselpage .content-with-image {
        margin-top: 20px;
    }
}

.template-carouselpage .poi {
    padding: 30px 15px;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

.template-carouselpage .poi a {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 0 0 0 rgba(0, 135, 145, .67);
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

.template-carouselpage .poi a img {
    width: 100%;
}

.template-carouselpage .poi h2 {
    position: absolute;
    width: 100%;
    bottom: 0;
    padding: 15px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #FFF;
    margin: 0;
    text-transform: uppercase;
    height: 90px;
    background-color: rgba(0,0,0,0.2);
    font-size: 28px;
    letter-spacing: 1px;
    line-height: 26px;
    font-weight: 500;
}

.template-carouselpage .poi h2 span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.template-carouselpage .slick-center .poi {
    transform: scale(1.08);
}

.template-carouselpage .slick-center .poi a {
    box-shadow: 0 0 8px 0 rgba(0, 135, 145, .67);
}

.template-carouselpage .slick-prev, 
.template-carouselpage .slick-next {
    background-color: #00c0bd;
    width: 50px;
    height: 50px;
    transform: translateX(0) translateY(-50%) rotate(45deg);
}

.template-carouselpage .slick-next {
    right: -75px;
    transform: translateX(0) translateY(-50%) rotate(-135deg);
}

.template-carouselpage .slick-prev {
    left: -75px;
}

.template-carouselpage .slick-next:before, 
.template-carouselpage .slick-prev:before {
    content: '';
    display: block;
    position: absolute;
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 50%;
    left: 50%;
    height: 50%;
    width: 50%;
    background: url(../img/arrow_left.png) 2px center no-repeat;
    background-size: contain;
}

@media all and (max-width: 991px) {

    .template-carouselpage .slick-prev, .template-carouselpage .slick-next {
        background-color: #00c0bd;
        width: 40px;
        height: 40px;
    }

    .template-carouselpage .slick-next {
        right: 10px;
    }
    
    .template-carouselpage .slick-prev {
        left: 10px;
        z-index: 1000;
    }

    .template-carouselpage .poi h2 {
        font-size: 20px;
        line-height: 1.2;
    }

}

@media all and (max-width: 767px) {

    .template-carouselpage .poi h2 {
        font-size: 2.8vw;
        line-height: 1.2;
    }

    .template-carouselpage .carousel {
        margin-left: -15px;
        margin-right: -15px;
    }

    .small-sm-margin-top {
        margin-top: 20px !important;
    }

}

@media all and (max-width: 575px) {

    .template-carouselpage .slick-center .poi {
        transform: scale(1);
    }

    .template-carouselpage .poi h2 {
        font-size: 5.5vw;
        line-height: 1.2;
    }

}

/* CATEGORY PAGE */

.template-categorypage .poi {
    margin-bottom: 30px;
}

.template-categorypage .poi img {
    display: block;
    background: #FFF;
    border: 1px solid #eee;
    padding: 5px;
    width: 25%;
    float: left;
    margin: 20px 20px 20px 0;
}

@media all and (max-width: 991px) {

    .template-categorypage h1 {
        margin-bottom: 30px;
    }

}

@media all and (max-width: 575px) {

    .template-categorypage .poi img {
        float: none;
        margin: 20px auto;
        width: 50%;
    }

    .template-categorypage .poi p,
    .template-categorypage .poi h3 {
        text-align: center;
    }

}

/* MARKER PAGE */

.info-window {
    width: 300px;
    margin: 0;
}

.info-window > div {
    padding: 0;
}

.info-window table {
    border-bottom: 1px solid #dadada;
    border-right: 1px solid transparent;
    width: 100%;
    table-layout: fixed;
}

.info-window table td {
    border-top: 1px solid #dadada;
    border-left: 1px solid transparent;
    padding: 5px;
    word-break: break-word;
    line-height: 1.42;
}

.info-window table td:last-child {
    font-style: italic;
}

.info-window .fa {
    font-size: 14px;
    margin: 0 5px;
    color: #018790;
}

.info-window table td strong {
    font-size: 16px;
}

.info-window img {
    width: 75%;
    margin: 0 auto;
    display: block;
}
.info-window table td p, 
.info-window table td li {
    word-break: break-word;
    line-height: 1.42;
    font-size: 13px;
    margin-bottom: 7px !important;
}

/* SERVICE PAGES */

.service-list .service {
    margin-bottom: 24px;
    padding: 24px 28px;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.service-list .service h4 {
    margin-top: 0;
}

.service-list .service a.on-map {
    color: #00c0bd;
    text-decoration: none;
    font-weight: 400;
}

.service-list .service a.on-map:hover {
    text-decoration: underline;
}

/* PAGINATION */

nav.pagination-wrapper {
    text-align: center;
}

ul.pagination {
    display: inline-block;
    padding: 0 !important;
}

ul.pagination > li > a, 
ul.pagination > li > span {
    color: #008791;
}

.pagination > .active > a, 
.pagination > .active > a:focus, 
.pagination > .active > a:hover, 
.pagination > .active > span, 
.pagination > .active > span:focus, 
.pagination > .active > span:hover {
    background-color: #008791;
    border-color: #008791;
}

.pagination > li > a:focus, 
.pagination > li > a:hover, 
.pagination > li > span:focus, 
.pagination > li > span:hover {
    color: #008791;
}

/* WAGTAIL USER BAR */

.wagtail-userbar {
    z-index: 5 !important;
}

.events-container .day-selected-container .title-separator {
    display: block;
    margin-bottom: 20px;
}

.events-container .day-selected{
    display: flex;
    justify-content: space-between;
    font-size: 24.5px;
    margin-bottom: 10px;
}

.events-container .day-selected a {
    color: #008791;
}