/* @font-face {
    font-family: 'Ayar-Kasone';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/Ayar-Kasone.ttf.woff');
} */
@font-face {
    font-family: 'Sofia Sans';
    font-style: normal;
    font-display: swap; /* Safari compatibility */
    src: url('../fonts/SofiaSansExtraCondensed.ttf');
}
@font-face {
    font-family: 'Segoe UI';
    font-style: normal;
    font-weight: normal;
    font-display: swap; /* Safari compatibility */
    src: url('../fonts/SegoeUI/SegoeUI.ttf');
}
@font-face {
    font-family: 'Segoe UI';
    font-style: italic;
    font-weight: normal;
    font-display: swap; /* Safari compatibility */
    src: url('../fonts/SegoeUI/SegoeUIItalic.ttf');
}
@font-face {
    font-family: 'Segoe UI';
    font-style: normal;
    font-weight: bold;
    font-display: swap; /* Safari compatibility */
    src: url('../fonts/SegoeUI/SegoeUIBold.ttf');
}
@font-face {
    font-family: 'Segoe UI';
    font-style: italic;
    font-weight: bold;
    font-display: swap; /* Safari compatibility */
    src: url('../fonts/SegoeUI/SegoeUIBoldItalic.ttf');
}

body {
    font-family: 'Segoe UI';
}

a {
    color: #87a119;
    font-weight: bold;
}
a:hover {
    color: #667929;
}

.container-header {
    background-image: none;
    background-color: #87a119;
    box-shadow: none;
}

.header .navbar-brand {
    padding: 48px;
    padding-bottom: 0;
}
.header .navbar-brand img {
    max-width: min(16vw, 240px);
    min-width: 150px;
}

.header .btn-primary {
    background-color: #fff;
    border: 0;
    border-radius: 100px;
    width: 100px;
    height: 100px;
    align-self: center;
    margin: 48px;
    margin-bottom: 0;
    color: #87a119;
    font-size: 32pt;
}

button:focus:not(:focus-visible) {
    box-shadow: 0 0;
}

.header .page-head-title {
    padding: 0 6px;
    margin: auto;
}

.header .page-head-title h1, 
.header .page-head-title h2,
.header .page-head-title p {
    text-align: center;
}

.header .page-head-title h1, 
.container-header h2 {
    font-family: 'Sofia Sans';
    font-weight: 800;
    color: #fff;
}

.header .page-head-title h1 {
    font-size: clamp(18pt, 4.8vw, 42pt);
}

.header .page-head-title p {
    padding: 26px 0;
    font-size: clamp(12pt,2vw,16pt);
}

.card {
    border: 0;
}

.container-component > * + * {
    margin-top: 0;
}

.chronoforms ul li
{
	font-weight: bold;
}

.chronoforms ul
{
	margin-top: 20px;
}

/* Offcanvas */
.offcanvas {
    padding: 48px;
}
.offcanvas-body {
    display: flex;
    flex-direction: column;
    align-items: end;
}
.offcanvas-end {
    border-left: 0;
}
.offcanvas.show {
    visibility: inherit;
}
.offcanvas.hide {
    visibility: inherit;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}
.offcanvas .btn-close {
    background: transparent;
    font-size: 48pt;
    opacity: 1;
}
.offcanvas .btn-close span {
    color: #87a119;
    margin-right: -30px;
}

.offcanvas-body ul li {
    text-align: right;
    margin-top: 18px;
}
.offcanvas-body ul li a {
    font-size: 16pt;
    font-weight: 300;
    color: #87a119;
}

div.mod-languages ul {
    display: flex;
    justify-content: center;
    padding-bottom: 12px;
}
div.mod-languages ul.lang-inline li {
    display: inline-block;
}
div.mod-languages ul li.lang-active a {
    background-color: #ffffff;
}
.mod-languages__list.lang-inline li a img {
    width: 32px;
    height: 32px;
    border-radius: 32px;
}
.mod-languages__list.lang-inline li.lang-active a img {
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #87a119;
}

/* Site width settings */
.site-grid {
    display: block;
}
.grid-child {
    max-width: 100%;
}
.site-grid > [class*=" container-"], .site-grid > [class^="container-"] {
    flex-direction: column;
}
.top-a.card {
    padding: 0;
    margin: 0;
    border: 0;
}
.card-body {
    padding: 0;
}

/* HOME - PERFORMANCE */
.performances-container-header {
    padding: 10px;
}
.container-header h2 {
    text-align: center;
}

.performance-head {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin: auto;
}
.performance-head #filter {
    word-wrap: normal;
    background: #fff;
    border-radius: 28px;
    border: 0;
    padding: 6px 20px;
    height: fit-content;
    box-shadow: 0 0;
    color: #181818;
    font-weight: 600;
}

.performances {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background: #87a119;
}
.performance {
    height: 250px;
    display: flex;
    flex-direction: column;
    padding: 15px;
    justify-content: space-between;
}
.performance .top-flex {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.performances a {
    text-decoration: none;
    color: #181818;
    font-weight: normal;
}
.performance .label {
    height: 0;
    padding: 8px 8px;
    border-radius: 18px;
    box-shadow: 0px 3px 7px #0002;
    border: 2px solid #fff;
    
    display: none;
}
.everyone .performance .label {
    background: linear-gradient(-45deg, #181818 50%, #ffffff 50%);
}
.company .performance .label {
    background: #181818;
}
.private .performance .label {
    background: #ffffff;
}

a.hide {
    display: none;
}

/* PERFORMANCE - animazione */
.performance .icon {
    max-width: 110px;
    transition: all .5s ease;
}
.performance:hover .icon {
    transform: scale(1.1);
}

/* HOME - SEZIONI */
.section {
    display: flex;
    align-items: stretch;
}

.section .cell {
    padding: 24px;
    width: 100%;
    min-height: 200px;
    display: grid;
    align-content: center;
}

.section .s-head {
    display: flex;
    align-items: center;
    gap: 24px;
}
.section .icon {
    width: 130px;
}
.section a {
    font-family: 'Sofia Sans';
    font-weight: 800;
    color: #fff;
    text-decoration: none;
}
.section p {
    font-size: clamp(12pt, 1.6vw, 18pt);
    font-weight: 500;
}

.section.multiple .cell .container {
    width: calc(1272px/2);
}
.section.multiple > .cell:first-child .container {
    margin-right: auto;
    margin-right: 0;
}
.section.multiple > .cell:last-child .container {
    margin-left: auto;
    margin-left: 0;
}

.section .title.center {
    /* width is calculated as: 100% - 2 * (icon_width + flex_gap) */
    width: calc(100% - (130px + 24px) * 2);
    text-align: center;
}


/* FOOTER */
.footer .grid-child {
    align-items: baseline;
    justify-content: space-between;
    padding: 2.5rem .5em;
    flex-direction: column;
    gap: 32px;
}

.footer {
    background: #fff;
    color: #181818;
    margin-top: 0;
    padding: 48px;
}
.footer a {
    font-weight: normal;
}

.parti-sociali {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.partner {
    width: 300px;
}
.partner .logo {
    height: 80px;
    display: grid;
    align-content: center;
}
.partner .description {
    font-size: 10pt;
}


/* ARTICLES */
.view-article .container-component > * + * {
    margin-top: 0;
}
.view-article .container-header .container {
    display: flex;
    align-items: center;
    padding: 50px 0 80px 0;
}
.view-article .container-header .container img {
    width: 130px;
}
.view-article .performances-container-header .container {
    padding-bottom: 20px;
}
.view-article .container-header h1 {
    color: white;
    font-family: 'Sofia Sans';
    font-weight: 800;
    margin-left: 12px;
}

.com-content-article {
    padding: 80px 0;
}

.com-content-article h1, 
.com-content-article h2 {
    font-family: 'Sofia Sans';
    font-weight: 800;
}

@media screen and (max-width: 1400px) {

    .section.multiple .cell .container {
        max-width: calc(1098px/2);
    }    

    @media screen and (max-width: 1200px) {

        .section.multiple .cell .container {
            max-width: calc(912px/2);
        }

        .header .btn-primary {
            margin: 24px;
            width: 82px;
            height: 82px;
            font-size: 22pt;
            margin-top: 48px;
            margin-bottom: 0;
        }
           
        @media screen and (max-width: 992px) {

            .performances {
                grid-template-columns: repeat(3, 1fr);
            }

            .section.multiple .cell .container {
                max-width: calc(672px/2);
            }

            @media screen and (max-width: 768px) {

                .header .container {
                    padding: 24px 0;
                }

                .header .navbar-brand {
                    padding: 24px;
                }

                .header .btn-primary {
                    margin: 24px;
                    width: 64px;
                    height: 64px;
                    font-size: 18pt;
                }

                .header .page-head-title p {
                    padding-bottom: 0;
                    margin-bottom: 0;
                }

                .section {
                    flex-direction: column;
                }

                .section.multiple > .cell:first-child .container, 
                .section.multiple > .cell:last-child .container {
                    margin-left: auto;
                    margin-right: auto;
                    max-width: 540px;
                }

                .section .title.center {
                    text-align: left;
                    width: 100%;
                }

                .footer {
                    padding: 24px;
                }

                @media screen and (max-width: 576px) {

                    .container {
                        padding: 24px;
                    }

                    .performances {
                        grid-template-columns: repeat(2, 1fr);
                    }

                    .section .cell {
                        padding: 0;
                    }

                    .section.multiple > .cell:first-child .container, 
                    .section.multiple > .cell:last-child .container {
                        width: 100%;
                    }

                    .view-article .container-header .container {
                        padding: 24px !important;
                    }

                }

            }

        }

    }

}

@media screen and (max-height: 500px) {
    .offcanvas {
        padding: 24px;
    }
}