/* RESET */
dl, ol, ul {
    margin: 0;
}
*:focus {
    outline: none!important;
}
*,*::before,*::after {
    box-sizing: border-box;
}
/* BOOTSTRAP e STRUTTURA */
body {
    font-family:'Geist', Arial, sans-serif;
    font-size:16px;
    font-weight:400;
    background:#fff;
    color:#000;
    line-height:120%;
}
#page-container {
    max-width:1920px;
    background:#fff;
    width:100%;
    margin:0 auto;
    position:relative;
}

.clearfix {
    display:block;
}
.clearfix:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
}
/* Typography */
.font-variant, h1, h2, h3, h4, h5, h6 {
    font-family: 'Geist', Arial, sans-serif;
}
.Geist {
    font-family: "Geist", Arial, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
a, a:hover {
    color:#000000;
    text-decoration:none;
}
.nav-link:focus, .nav-link:hover {
    color: #000000;
}
.underline, p a {
    text-decoration:underline!important;
}
.uppercase {
    text-transform:uppercase!important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight:600;
    margin-bottom:0;
    line-height:110%;
    padding:0;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a {
    color:#000000;
}
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white .h1, .text-white .h2, .text-white .h3, .text-white .h4, .text-white .h5, .text-white .h6, .text-white h1 a, .text-white h2 a, .text-white h3 a, .text-white h4 a, .text-white h5 a, .text-white h6 a, .text-white h1:hover a, .text-white h2:hover a, .text-white h3:hover a, .text-white h4:hover a, .text-white h5:hover a, .text-white h6:hover a, .text-white a, .text-white a:hover {
    color:#fff;
}
.h1, h1 {
    font-size:78px!important;
    font-weight:900;
}
.h2, h2 {
    font-size:52px!important;
    font-weight:900;
}
.h3, h3 {
    font-size:42px!important;
    font-weight:800;
}
.h4, h4 {
    font-size:30px!important;
}
.h5, h5 {
    font-size:26px!important;
}
.h6, h6 {
    font-size:18px!important;
}
@media (max-width: 1199px) {
    .h1, h1 {
        font-size:30px!important;
        /* 30px */
    }
    .h2, h2 {
        font-size:36px!important;
        /* 36px */
    }
    .h3, h3 {
        font-size:26px!important;
        /* 30px */
    }
    .h4, h4 {
        font-size:27px!important;
    }
    .h5, h5 {
        font-size:18px!important;
        /* 21px */
    }
    .h6, h6 {
        font-size:16px!important;
        /* 18px */
    }
}
@media (max-width: 575px) {
    .h1, h1 {
        font-size:30px!important;
        /* 30px */
    }
    .h2, h2 {
        font-size:36px!important;
        /* 36px */
    }
    .h3, h3 {
        font-size:26px!important;
        /* 30px */
    }
    .h4, h4 {
        font-size:27px!important;
    }
    .h5, h5 {
        font-size:18px!important;
        /* 21px */
    }
    .h6, h6 {
        font-size:16px!important;
        /* 18px */
    }
}
.text-xxl {
    font-size:64px!important;
    /* 46px */
    line-height:110%;
}
.text-extralarge, .fs-1 {
    font-size:38px!important;
    /* 38px */
    line-height:105%;
}
.text-large, .fs-2 {
    font-size:30px!important;
    /* 26px */
    line-height:110%;
}
.text-regular {
    font-size:22px!important;
    /* 24px */
    line-height:110%;
}
.text-medium, .fs-3 {
    font-size:18px!important;
    /* 18px */
    line-height:115%;
}
.text-normal, .fs-4 {
    font-size:16px!important;
    /* 16px */
    line-height:120%;
}
.text-small, .fs-5 {
    font-size:14px!important;
    /* 14px */
    line-height:120%;
}
.text-extrasmall, .fs-6 {
    font-size:12px!important;
    /* 12px */
    line-height:120%;
}
.text-xxs {
    font-size:10px!important;
    /* 9px */
    line-height:120%;
}
@media (max-width: 1199px) {
    .text-xxl {
        font-size:30px!important;
        /* 34px */
    }
    .text-extralarge, .fs-1 {
        font-size:28px!important;
        /* 28px */
    }
    .text-large, .fs-2 {
        font-size:24px!important;
        /* 24px */
    }
    .text-medium, .fs-3 {
        font-size:20px!important;
        /* 20px */
    }
    .text-normal, .fs-4 {
        font-size:16px!important;
        /* 17px */
    }
    .text-small, .fs-5 {
        font-size:18px!important;
        /* 15px */
    }
    .text-extrasmall, .fs-6 {
        font-size:18px!important;
        /* 14px */
    }
    .text-xxs {
        font-size:13px!important;
        /* 12px */
    }
}
@media (max-width: 575px) {
    .text-xxl {
        font-size:30px!important;
        /* 30px */
    }
    .text-extralarge, .fs-1 {
        font-size:26px!important;
        /* 26px */
    }
    .text-large, .fs-2 {
        font-size:22px!important;
        /* 22px */
    }
    .text-medium, .fs-3 {
        font-size:19px!important;
        /* 19px */
    }
    .text-normal, .fs-4 {
        font-size:16px!important;
        /* 16px */
    }
}
p {
    margin-bottom: 0;
}
.line-height-large {
    line-height:160%!important;
}
.line-height-medium {
    line-height:140%!important;
}
.line-height-normal {
    line-height:120%!important;
}
.line-height-small {
    line-height:100%!important;
}
.font-weight-light {
    font-weight:200!important;
}
.font-weight-normal {
    font-weight:400!important;
}
.font-weight-medium {
    font-weight:500!important;
}
.font-weight-semibold {
    font-weight:500!important;
}
.strong, strong {
    font-weight:600!important;
}
.font-weight-bold {
    font-weight:700!important;
}
.font-weight-extrabold {
    font-weight:800!important;
}
.font-weight-black {
    font-weight:900!important;
}
.black, .black a, a.black {
    color:#000!important;
}
.text-dark, .text-dark a, .text-dark a:hover, .text-dark-grey, .text-dark-grey a {
    color:#000000!important;
}
.text-light, .text-light a, .text-light a:hover {
    color: #F2F2F2!important;
}
.text-grey, .text-grey a, .text-grey a:hover, .text-body, .text-body a, .text-body a:hover {
    color:#707070!important;
}
.text-light-grey, .text-light-grey a, .text-light-grey a:hover, .text-muted, .text-muted a, .text-muted a:hover {
    color:#F2F2F2!important;
}
.text-primary, .text-primary a, .text-primary a:hover {
    color:#961047!important;
}
.text-secondary, .text-secondary a, .text-secondary a:hover {
    color:#000!important;
}
.text-success {
    color:#006645!important;
}
.text-danger {
    color:#CC2921!important;
}
.text-warning, .text-alert {
    color:#D9970F!important;
}
.text-info {
    color:#3E91BB!important;
}
.link-white, .link-white a, a.link-white {
    color:#fff!important;
}
.bg-white {
    background-color:#fff!important;
}
.bg-black {
    background-color:#000!important;
}
.bg-dark {
    background-color:#272727!important;
}
.bg-grey {
    background-color:#D9D9D9!important;
}
.bg-light {
    background-color:#F2F2F2!important;
}
.bg-light-grey {
    background-color:#F2F2F2!important;
}
.bg-primary {
    background-color:#961047!important;
}
.bg-secondary {
    background-color:#000!important;
}
.bg-success {
    background:#006645!important;
}
.bg-danger {
    background:#CC2921!important;
}
.bg-warning, .bg-alert {
    background:#D9970F!important;
}
.bg-info {
    background:#3E91BB!important;
}
.fill-primary, .fill-primary svg {
    fill:#961047!important;
}
.fill-secondary, .fill-secondary svg {
    fill:#000!important;
}
.fill-dark, .fill-dark svg {
    fill:#000000!important;
}
.fill-light, .fill-light svg, .fill-white, .fill-white svg {
    fill:#fff!important;
}
.fill-success, .fill-success svg {
    fill:#006645!important;
}
.fill-danger, .fill-danger svg {
    fill:#CC2921!important;
}
.fill-warning, .fill-warning svg, .fill-alert, .fill-alert svg {
    fill:#D9970F!important;
}
.fill-info, .fill-info svg {
    fill:#3E91BB!important;
}
/* MENU / HEADER / FOOTER */
.nav-link, .nav-link:hover {
    color:#000000;
}
.nav-link.disabled, .nav-link:disabled {
    color:#F2F2F2;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    background:#961047!important;
}
code {
    color:#961047;
}
.dropdown-menu {
    background-color: #F2F2F2;
    border-radius: 0;
    top:-3px!important;
    min-width: fit-content;
    white-space: nowrap;
    border-top:1px solid rgba(255, 255, 255, 0.2);
}
.dropdown-item {
    font-size: 10px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    font-weight: 600;
    line-height: 140%;
}
.dropdown-item:hover {
    background-color: #F2F2F2;
}
.header .dropdown-menu {
    background-color: #000000;
    border-radius: 0;
    top:150%!important;
    min-width: fit-content;
    white-space: nowrap;
}
.header .dropdown-item {
    font-size: 10px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    font-weight: 600;
    line-height: 140%;
}
.header .dropdown-item:hover {
    background-color: #000000;
}
.header .dropdown-toggle::after {
    margin-left: 1em;
    vertical-align: .1em;
    border-top: .5em solid;
    border-right: .5em solid transparent;
    border-left: .5em solid transparent;
}
.list-group .list-group-item {
    border-radius: 0!important;
    border: none;
    background-color: transparent;
    color: #000;
}
.list-group .list-group-item:hover {
    background-color: #000;
    color: #fff;
}
.list-group .list-group-item.active {
    background-color: #000;
    color: #fff;
    border: none;
}
#footer .textarea-content p {
    margin: 0px 0 30px 0;
    font-size: 14px;
    line-height: normal;
    font-weight: 200;
}
#header .nav-link, #header-mobile .nav-link, #footer .nav-link {
    line-height:100%;
    margin:0;
    padding: 0;
}
#header  .navbar .megamenu {
    padding:0;
}
@media all and (min-width: 992px) {
    #header .navbar .has-megamenu {
        position:static!important;
    }
    #header .navbar .megamenu {
        left:0;
        right:0;
        width:100%;
        margin-top:0;
    }
}
@media(max-width: 991px) {
    #header .navbar.fixed-top .navbar-collapse, #header .navbar.sticky-top .navbar-collapse {
        overflow-y: auto;
        max-height: 90vh;
        margin-top:10px;
    }
    #footer .textarea-content p {
        margin: 0px 0 30px 0;
        font-size: 18px;
        line-height: normal;
        font-weight: 200;
    }
}
#footer {
    padding:0;
}

.btn{
    text-transform: uppercase!important;
}

/* Form */
label, .form-label {
    font-size:16px;
    color:#000;
    margin-bottom:5px;
    font-weight:600;
    text-transform:uppercase;
    line-height:100%;
}
.form-check-label {
    text-transform:none;
    font-weight:400;
    font-size:16px;
    line-height:18px;
    padding-top:4px;
    margin:0;
}
select {
    appearance: none;
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    cursor: inherit;
    line-height: inherit;
    outline: none;
}
.form-control, select.form-control, .custom-select {
    padding:20px;
    font-size: 19px;
    color:#000!important;
    background:#fff;
    border:2px solid #A8A8A8;
    border-radius: 0;
    line-height: 110%;
    border-radius: 4px;
    margin-bottom: 20px;
}
.custom-select {
    background:#fff!important;
    display:block;
    width:100%;
    vertical-align: middle;
    position:relative;
}
.form-check-input {
    width: 18px;
    height: 18px;
    background-color: #fff;
    border:2px solid rgba(0,0,0,0.2);
    margin-top: 3px;
    cursor: pointer;
    -webkit-appearance: none;
    vertical-align: text-bottom;
    position: relative;
    border-radius: 0!important;
}
.form-check-input:checked {
    border-color:#000;
    background-size: auto;
    background-size: 12px;
}
textarea.form-control {
    height:118px!important;
    line-height:110%;
    padding-top:10px;
}
::-webkit-input-placeholder {
    color: #000!important;
}
::-moz-placeholder {
    color: #000!important;
}
:-ms-input-placeholder {
    color: #000!important;
}
:-moz-placeholder {
    color: #000!important;
}
.form-control:focus-visible, .form-control:focus {
    outline: none!important;
    box-shadow:none;
    border-color:#000;
}
.form-control-sm {
    height:38px;
    font-size: 16px;
}
.form-control-lg {
    height:58px;
}
.form-control:disabled, select.form-control:disabled, .custom-select:disabled, .form-check-input:disabled, .form-check:disabled, .form-control[disabled], select.form-control[disabled], .custom-select[disabled], .form-check-input[disabled], .form-check[disabled] {
    background-color: rgba(255, 255, 255, 0.5)!important;
    opacity: 1;
}
/* BORDER - MARGIN - PADDING */
hr {
    margin-top: 1px;
    margin-bottom: 1px;
    border-top: 2px solid rgba(0,0,0,0.4);
}
.template-spacer hr {
    border-top: 1px solid rgba(255,255,255,0);
}
.border {
    border: 1px solid #F2F2F2!important;
}
.border-t {
    border-top: 1px solid #F2F2F2!important;
}
.border-b {
    border-bottom: 1px solid #F2F2F2!important;
}
.border-l {
    border-left: 1px solid #F2F2F2!important;
}
.border-r {
    border-right: 1px solid #F2F2F2!important;
}
.border-primary {
    border-color:#961047!important;
}
.border-white {
    border-color: rgba(255, 255, 255, 0.5)!important;
}
.border-small {
    border-width: 1px!important;
}
.no-border {
    border: none!important;
}
/* UTILITY */
.template {
    position:relative;
}
.img {
    max-width:100%;
    width:100%;
}
.textarea-content {
    line-height:140%;
    font-weight: 300;
}
.textarea-content p {
    margin:0 0 16px 0;
    padding:0;
}
.textarea-content a {
    text-decoration:underline!important;
}
.textarea-content a.btn {
    text-decoration:none!important;
}
.textarea-content h2, .textarea-content h3, .textarea-content h4, .textarea-content h5, .textarea-content h6 {
    margin:0 0 12px 0;
    padding:0;
}
.textarea-content ul li {
    padding:0 0 6px 0;
    margin:0;
}
.textarea-content img {
    max-width:100%;
}
.btn i.bi {
    font-size: 1.5rem;
    line-height: 1;
}
.textarea-content.no-marginp p {
    margin-bottom: 0px;
}
;
.icon, .icon svg {
    min-height:5px;
    fill:#000000;
}
.box-shadow {
    -webkit-box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 6px 2px rgba(0,0,0,0.1);
}
.border-radius {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.bg-gradient {
    background-image: linear-gradient(180deg, #000000 0%, #961047 50%, #961047 100%)!important;
}
.bg-gradient-dark {
    background-image: linear-gradient(180deg, #961047 0%, #000000 100%)!important;
}
.background-img {
    background:url("../img/icon-arrow-dx-small.svg") rgba(255,255,255,0) no-repeat right 15px center;
}
.translate-center {
    left: 50%;
    top: 50%;
    position:absolute;
    z-index:300;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%, -50%);
    margin:auto;
    height:auto;
    transition: all 0.5s ease-in-out 0s;
    -webkit-transition:all 0.5s ease-in-out 0s;
}
/* bread */
.breadcrumb {
    padding: 0;
    margin: 0px;
    text-align: left;
    display: block;
    background:none;
    line-height:100%;
}
.breadcrumb-item {
    font-size:11px;
    display: inline-block;
    line-height:100%;
}
.breadcrumb-item, .breadcrumb-item a {
    color: rgba(0,0,0,0.5);
    padding:0;
}
.breadcrumb-item.active, .breadcrumb-item.active a {
    color: #000000;
    padding:0;
}
.breadcrumb-item+.breadcrumb-item {
    padding-left: 10px;
}
.breadcrumb-item+.breadcrumb-item::before {
    color: rgba(0,0,0,0.5);
    content: "|";
    padding-right:10px;
}
.bredcrumb-img .breadcrumb-item, .bredcrumb-img .breadcrumb-item a {
    color: white;
    opacity: 50%;
}
.bredcrumb-img .breadcrumb-item.active, .bredcrumb-img .breadcrumb-item.active a {
    color: white;
    opacity: 100%;
}
.bredcrumb-img .breadcrumb-item+.breadcrumb-item::before {
    color: white;
    opacity: 50%;
    content: "|";
    padding-right:10px;
}
/* Paginazione */
.page-link, .page-link:hover {
    color: #000000;
}
.active>.page-link, .page-link.active {
    color: #fff;
    background-color: #961047;
    border-color: #961047;
}
/*TAB*/
.nav-tabs .nav-item .nav-link {
    color: rgba(0,0,0,0.5);
    font-size:16px;
    font-weight:600;
    padding:20px;
    text-transform:uppercase;
    background-color: rgba(0,0,0,0.05);
    border-radius: 0!important;
    border: none;
}
.nav-tabs .nav-item .nav-link:hover {
    color: #000000;
    background-color: #F2F2F2;
}
.nav-tabs, .nav-tabs .nav-item .nav-link, .nav-tabs .nav-item .nav-link:hover {
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-item .nav-link.active, .nav-tabs .nav-item .nav-link.active:hover {
    color: #000000;
    background:#F2F2F2;
}

/* carousel - slider - banner full 
.card-overlay {position: absolute; padding: 0; top: auto; right: 0; bottom: auto; left: 0; }
.template-slider .card-overlay {width:100%; height:auto!important; margin:auto; padding:0;}
.template-slider .card-overlay {width:50%; margin:0; top: 50%; transform: translateY(-50%); left: 0; right:0; margin:0 auto; z-index:10; transition: all 0.5s ease-in-out 0s; -webkit-transition:all 0.5s ease-in-out 0s;}	
.template-slider .card-img {height:auto; min-height:100px;}*/
/* RESPONSIVE */
@media (min-width: 1400px) {
    .hidden-xxl-up {
        display:none!important;
    }
}
@media (max-width: 1399px) {
    .hidden-xxl-down {
        display:none!important;
    }
}
@media (min-width: 1200px) {
    .hidden-xl-up {
        display:none!important;
    }
}
@media (max-width: 1199px) {
    .hidden-xl-down {
        display:none!important;
    }
}
@media (min-width: 992px) {
    .hidden-lg-up {
        display:none!important;
    }
}
@media (max-width: 991px) {
    .hidden-lg-down {
        display:none!important;
    }
}
@media (min-width: 768px) {
    .hidden-md-up {
        display:none!important;
    }
}
@media (max-width: 767px) {
    .hidden-md-down {
        display:none!important;
    }
}
@media (min-width: 576px) {
    .hidden-sm-up {
        display:none!important;
    }
}
@media (max-width: 575px) {
    .hidden-sm-down {
        display:none!important;
    }
}
/* ==========================================================
   CSC - CLASSI EXTRA DEL PROGETTO
   ========================================================== */
:root {
    --shell:1676px;
    --gutter:32px;
    --primary:#961047;
    --magenta:#961047;
    --black:#000;
    --gray:#f2f2f2;
}
.utility-bar {
    height:50px;
    background:#000;
    color:#fff;
    font-size:12px
}
.utility-inner {
    height:100%;
    display:flex;
    align-items:center
}
.utility-brand {
    font-weight:500
}
.utility-nav {
    margin-left:auto;
    height:100%;
    display:flex;
    align-items:center
}
.utility-nav a {
    height:100%;
    padding:0 16px;
    display:flex;
    align-items:center
}
.utility-lang {
    text-decoration:underline
}
.utility-contact {
    background:#fff;
    color:#000;
    font-weight:600
}
.main-nav {
    height:150px;
    padding:0;
    background:#fff
}
.main-nav-inner {
    height:100%;
    display:flex;
    align-items:center
}
.csc-logo img {
    width:190px
}
.navbar-collapse {
    height:100%;
    align-items:center
}
.main-menu-list {
    gap:38px;
    margin-right:48px
}
.nav-link {
    font-size:16px;
    font-weight:500!important;
    color:#000!important;
    padding:0!important
}
.dropdown-mark:after {
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    border-right:1.5px solid;
    border-bottom:1.5px solid;
    transform:rotate(45deg);
    margin:0 0 4px 12px
}
.nav-icons {
    display:flex;
    gap:18px
}
.nav-icons button {
    border:0;
    background:transparent;
    font-size:29px;
    width:36px;
    height:40px;
    padding:0
}

.hero-mark {
    position:absolute;
    right:0;
    top: 0;

}
.hero-inner {
    height:100%;
    position:relative
}
.hero-copy {
    bottom: 10%;
    left: 6%;
}
.hero-home.hero-sezione .hero-copy{
    bottom: auto;
    top: 10%;
    max-width: 355px;
}
.hero-copy p {
    font-size:34px;
    line-height:1;
    margin:0 0 22px
}
.hero-copy h1 {
    margin:0 0 30px
}
.hero-cta {
    display:inline-flex!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 24px;
    align-items:center;
    background:#b00054;
    color:#fff;
    font-size:14px;
    font-weight:600
}
.hero-cards {
    position:absolute;
    right:0;
    bottom:-150px;
    display:flex;
    gap:21px;
    z-index:4
}
.hero-cards a {
    width:294px;
    height:260px;
    background:#fff;
    color:#111;
    box-shadow:0 7px 15px #0002;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-end;
    text-align:right;
    padding: 30px;
}
.hero-cards i {
    width:78px;
    height:7px;
    background:#b00054;
    margin-top:26px
}
.interest-strip {
    height:231px;
    background:var(--gray)
}
.interest-inner {
    padding-top:28px
}
.interest-inner label {
    display:block;
    font-size:17px;
    font-weight:700;
    margin-bottom:16px
}
.interest-select-wrap {
    width:650px;
    position:relative
}
.interest-select-wrap select {
    width:100%;
    height:60px;
    border:0;
    background:#fff;
    padding:0 55px 0 22px;
    appearance:none;
    font:15px Geist
}
.interest-select-wrap:after {
    content:"";
    position:absolute;
    right:20px;
    top:23px;
    width:11px;
    height:11px;
    border-right:2px solid;
    border-bottom:2px solid;
    transform:rotate(45deg)
}
.highlights-section {
    padding:92px 0 98px;
    background:#fff
}
.highlights-section h2,.updates-heading h2 {
    font-size:52px!important;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
    margin:0 0 42px
}
.highlights-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px
}
.highlight-media {
    height:600px;
    position:relative;
    overflow:hidden
}
.highlight-media img {
    width:100%;
    height:100%;
    object-fit:cover
}
.highlight-card:first-child .highlight-media img {
    filter:saturate(.82)
}
.banner-placeholder {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#fff
}

.highlight-card:nth-child(2) h3 {
    text-align:left
}
.text-link {
    display:inline-flex;
    gap:20px;
    align-items:center;
    font-size:16px;
    text-decoration:underline
}
.text-link b {
    font-size:24px;
    font-weight:400;
    text-decoration:none
}
.updates-section {
    height:1164px;
    background:linear-gradient(to bottom,var(--gray) 0,var(--gray) 808px,#fff 808px,#fff 100%);
    padding-top:78px;
    overflow:hidden
}
.updates-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end
}
.updates-heading h2 {
    margin:0
}

.updates-filters {
    display:flex;
    gap:20px;
    margin-top:46px;
    margin-bottom:39px
}
/* .updates-filters button {
    height:42px;
    border:0;
    background:#fff;
    padding:0 22px;
    font-size:12px
} */
.updates-filters .btn.active {
    background:#000;
    color:#fff
}
.news-viewport {
    width:calc(100vw - max(0px,(100vw - 1676px)/2));
}
.news-track {
    display:flex;
    gap:34px;
    width:max-content
}
.news-card {
    width:469px;
    min-height:737px;
    background:#fff;
    box-shadow:0 7px 10px rgba(0,0,0,.12);
    flex:none
}
.news-img{position: relative;}
.news-img img{
    width:100%;
    height:358px;
    object-fit:cover
}
.news-body {
    padding:26px 37px 25px;
    display:flex;
    flex-direction:column
}
.news-meta {
    display:flex;
    justify-content:end;
    font-family:"Roboto Mono",monospace;
    font-size:17px;
    font-weight: 300;
    text-transform:uppercase
}
.tag {
    position: absolute;
    right:5%;
    bottom: 10%;
    background:#000;
    color:#fff;
    font:500 11px Geist;
    padding:7px 9px
}

.news-body h3 {
    font-size:27px!important;
    line-height:1.07;
    font-weight:800;
    text-decoration:underline;
    margin:11px 0 25px
}
.news-body p {
    font-size:16px;
    line-height:1.55;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden
}
.news-body .text-link {
    margin-top:auto;
    font-size:15px
}
.slider-dots {
    display:flex;
    justify-content:center;
    gap:10px;
    margin-top:68px
}
.slider-dots i {
    width:13px;
    height:13px;
    border:1px solid #000;
    border-radius:50%
}
.slider-dots .active {
    background:#000
}
.bandi-section {
    position:relative;
    padding-top:0;
    background:#fff
}
.bandi-top {
    height:437px;
    display:grid;
    grid-template-columns:1247px 389px;
    gap:40px;
    position:relative;
    z-index:2
}
.bandi-copy {
    height:349px;
    background:var(--gray);
    margin-top:0;
    padding:80px 63px;
    position:relative
}
.bandi-copy small {
    font-size:14px;
    font-weight:500
}
.bandi-date {
    position:absolute;
    right:98px;
    top:97px;
    font:17px "Roboto Mono"
}
.bandi-copy h2 {
    font-size:42px!important;
    font-weight:800;
    margin:20px 0 7px
}
.bandi-copy p {
    font-size:22px;
    line-height:1.45;
    width:520px;
    margin:0
}
.bandi-links {
    position:absolute;
    left:63px;
    right:68px;
    bottom:37px;
    display:flex;
    justify-content:space-between
}
.bandi-links a {
    font-size:16px;
    font-weight:600;
    color:var(--magenta);
    text-decoration:underline
}
.bandi-links a:nth-child(2) {
    color:#000
}
.bookshop-box {
    height:349px;
    background:#000;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:40px
}
.bookshop-box h2 {
    font-size:42px!important;
    font-weight:900;
    margin:0 0 42px
}
.bookshop-box a {
    font-size:16px;
    font-weight:600;
    text-decoration:underline
}
.bandi-panorama {
    height:524px;
    overflow:hidden
}
.bandi-panorama img {
    width:100%;
    height:100%;
    object-fit:cover
}
.quick-grid {
    display:grid;
    grid-template-columns:repeat(4,389px);
    gap:41px;
    position:relative;
    z-index:3;
    margin-top:-260px;
}
.quick-card {
    min-height:526px;
    background:#fff;
    box-shadow:0 4px 9px #0002
}
.quick-card>img {
    width:100%;
    height:260px;
    object-fit:cover
}
.quick-card a>div {
    padding:51px 45px 28px
}
.quick-card small {
    font-size:14px;
    font-weight:500
}
.quick-card h3 {
    font-size:28px!important;
    font-weight:800;
    margin:27px 0 8px
}
.quick-card p {
    font-size:16px;
    line-height:1.55;
    margin:0
}
.play-wrap {
    padding: 80px 65px;
}
.play-box {
    height:311px;
    background:#000;
    color:#fff;
    display:grid;
    grid-template-columns:420px 1fr;
    align-items:center;
    padding:0 65px
}
.play-box>img {
    width:420px;
    height:auto
}
.play-text {
    padding-left:0
}

.contacts-section {
    background:var(--gray);
    display:grid;
    grid-template-columns:43.6% 56.4%;
    align-items:stretch
}

.contact-content {
    padding:80px 100px;
}
.contact-content h2 {
    font-size:52px!important;
    font-weight:900;
    margin:0 0 70px
}
.contact-lead {
    font-size:32px;
    line-height:1.2;
    font-weight:600;
    margin-bottom:80px
}
.contact-lead a {
    text-decoration:underline
}
.contact-accordions {
    --bs-accordion-border-width: 0;
    --bs-accordion-btn-focus-box-shadow: none
}
.contact-accordions .accordion-item {
    background:none;
    border:none
}
.contact-accordions .accordion-button {
    background:none;
    box-shadow:none;
    font-size:32px;
    font-weight:600;
    line-height:1.15;
    padding:12px 0
}
.contact-accordions .accordion-button::after {
    display:none
}
.contact-accordions .accordion-button::before {
    content:"+";
    display:inline-block;
    width:60px;
    font-size:52px;
    font-weight:400;
    order:-1
}
.contact-accordions .accordion-button:not(.collapsed)::before {
    content:"–"
}
.contact-accordions .accordion-body {
    padding:0 0 12px 60px;
    font-size:18px
}
.contact-actions {
    display:flex;
    flex-wrap:wrap;
    gap:29px;
    margin-top:38px
}

.site-footer {
    height:926px;
    background:#000;
    color:#fff;
    padding-top:130px
}
.footer-grid {
    display:grid;
    grid-template-columns:540px 500px 1fr;
    gap:80px;
    font-size:16px;
    line-height:1.55
}
.footer-main-links,.footer-service-links {
    display:flex;
    flex-direction:column;
    gap:24px;
    font-size:20px
}
.footer-main-links a,.footer-service-links a {
    text-decoration:underline
}
.footer-bottom {
    margin-top:150px;
    padding-top:35px;
    border-top:1px solid #fff4;
    font-size:13px;
    line-height:1.5
}
@media(max-width:1199.98px) {
    .utility-nav a:not(.utility-lang):not(.utility-contact) {
        display:none
    }
    .main-nav {
        height:auto;
        min-height:105px
    }
    .main-nav-inner {
        min-height:105px
    }
    .navbar-collapse {
        height:auto;
        padding:18px 0
    }
    .main-menu-list {
        gap:0
    }
    .nav-link {
        padding:10px 0!important
    }
    .highlights-grid {
        grid-template-columns:1fr
    }
    .highlight-media {
        height:500px
    }
    .updates-section {
        height:auto;
        padding-bottom:80px;
        background:var(--gray)
    }
    .news-viewport {
        width:100%
    }
    .bandi-top {
        height:auto;
        grid-template-columns:1fr
    }
    .bandi-copy,.bookshop-box {
        height:auto;
        min-height:300px
    }
    .bandi-panorama {
        position:relative;
        top:auto;
        margin-top:30px
    }
    .quick-grid {
        grid-template-columns:repeat(2,1fr);
        margin-top:-150px;
        gap:25px
    }
    .play-box {
        grid-template-columns:1fr;
        height:auto;
        padding:55px
    }
    .play-box>img {
        margin-bottom:35px
    }
    .contacts-section {
        grid-template-columns:1fr
    }
    .contact-image {
        height:500px;
        min-height:0
    }
    .contact-content {
        min-height:0
    }
    .footer-grid {
        grid-template-columns:1fr 1fr
    }
    .site-footer {
        height:auto;
        padding-bottom:80px
    }
}
@media(max-width:767.98px) {
    .utility-nav {
        display:none
    }
    .main-nav {
        min-height:90px
    }
    .main-nav-inner {
        min-height:90px
    }
    .csc-logo img {
        width:145px
    }
    .hero-home {
        height:620px
    }
    .hero-copy {
        padding-top:220px
    }
    .hero-copy p {
        font-size:22px
    }
    .hero-copy h1 {
        font-size:54px
    }
    .hero-mark {
        width:300px!important;
        right:0;
    }
    .hero-cards {
        display:none
    }
    .interest-strip {
        height:170px
    }
    .interest-select-wrap {
        width:100%
    }
    .highlights-section {
        padding:65px 0
    }
    .highlights-section h2,.updates-heading h2 {
        font-size:40px
    }
    .highlight-media {
        height:320px
    }
    .banner-placeholder {
        font-size:38px
    }
    .highlight-card h3 {
        font-size:23px
    }
    .updates-heading {
        display:block
    }
    .updates-heading>a {
        display:inline-block!important;
        margin-top:22px
    }
    .updates-filters {
        overflow:auto
    }
    /* .updates-filters button {
        white-space:nowrap
    } */
    .news-card {
        width:86vw
    }
    .bandi-top {
        display:block
    }
    .bandi-copy {
        padding:45px 28px
    }
    .bandi-date {
        position:static;
        margin-top:15px
    }
    .bandi-copy p {
        width:auto;
        font-size:18px
    }
    .bandi-links {
        position:static;
        margin-top:30px;
        gap:25px
    }
    .bookshop-box {
        margin-top:20px
    }
    .bandi-panorama {
        height:350px
    }
    .quick-grid {
        grid-template-columns:1fr;
        margin-top:-80px
    }
    .quick-card {
        height:auto
    }
    .play-box {
        padding:40px 28px
    }
    .play-box>img {
        width:100%
    }
    .play-text p {
        font-size:22px
    }
    .contact-content {
        padding:60px 24px
    }
    .contact-content h2 {
        font-size:42px
    }
    .contact-lead,.contact-accordions a {
        font-size:22px
    }
    .contact-actions {
        flex-direction:column
    }
    .footer-grid {
        grid-template-columns:1fr
    }
    .footer-bottom {
        margin-top:70px
    }
}

.template-bandi .box-left{padding: 80px 60px;}
.template-bandi .box{max-width: 50%; padding: 0px 80px;}
.template-bandi .box:first-child{padding-left: 0px;}
.template-bandi .box:last-child{padding-right: 0px;}
.template-bandi .box-bookshop{padding: 53px 35px;}

.contacts-section .accordion-button{color: #fff;}
.contacts-section .accordion-body{color: #fff;}

.contacts-section .titolo-contatti{padding:20px 60px; width: 80%; right: 0; top: 106px;}

.template-slider-corsi .img-corso{border-radius: 4px;}
.template-slider-corsi .corso-body{font-size: 28px; line-height: 110%;}
.template-slider-corsi .slider-text{max-width: 90%;}

.card{border-radius: 4px;background: #fff;box-shadow: 2px 8px 16px rgba(0, 0, 0, 0.16); border: none; padding: 24px;}

.template{padding: 90px 0px;}
.template-banner-card .card-body{padding: 50px; line-height: 110%;}
.template-banner-card .card-line{height: 8px; max-width: 80px; background-color: #961047;}
.template-banner-card .card-tit{font-size: 36px; font-weight: 800;}
.template-banner-card .card-text{font-size: 20px; color: #4C4C4C;}

.card-allegato .card-body{padding: 0;}

.scheda-docente{max-width: 310px;}
input[type=submit]{
    font-size: 18px;
    text-transform: uppercase;
    font-weight: bold;
    padding: 20px 90px;
    margin-top: 20px;
}

.docente-modal .modal-dialog{max-width: 1676px;}
.modal-content{border-radius:0; border: none;}
.modal-header {border: none; padding: 43px 59px 0px 0px;}
.modal-header .btn-close{font-size: 40px; color: #000; opacity: 1;}
.modal-body{padding: 22px 80px 80px 80px;}
.modal-text{max-width: 1069px;}
.modal-img{height: fit-content;}

.template-page-content{background-color: rgba(242, 242, 242, 45%);}
.template-page-content .list-group-item a,
.template-page-content .list-group-item a:hover {color: inherit;}
@media (min-width: 992px) {
    .template-page-content .sidebar {
        position: sticky;
        top: 24px;
        max-height: calc(100vh - 48px);
        overflow-y: auto;
    }
}
.template-banner-card .card-img{border-radius: 0;}
.template-banner-card-sm .card{padding: 54px 40px; margin-bottom: -200px; z-index: 9;}

.template-book .book-img{box-shadow: 2px 8px 16px rgba(0, 0, 0, 0.16); max-width: 244px; margin-bottom: 50px;}
.template-ricerca .form-cerca{width: 70%;}
.template-ricerca .form-sm{max-width: 250px;}
.template-ricerca .btn-ra{padding: 20px;}

.book-info .info-element{margin-bottom: 20px;}
.book-info {padding-bottom: 20px; padding-bottom: 70px;}  
.book-add{padding-bottom: 45px; margin-bottom: 45px;}
.nts-line{width: 80px; height: 8px; background-color: #961047;}

.template-sedi .card {margin-bottom: 40px;}
.template-news-content .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-plus' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3E%3C/svg%3E");
}
.template-news-content .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23fff' class='bi bi-dash' viewBox='0 0 16 16'%3E%3Cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
}

.template-news-content .accordion-item{background: transparent; margin-bottom: 10px;}
.template-news-content .accordion-button{border-radius: 4px!important; background-color: #F2F2F2; font-size: 18px; line-height: 100%; text-transform: uppercase; font-weight: bold;}
.template-news-content .accordion-button:not(.collapsed){background-color: #000; color: #fff;}
.template-news-content .accordion-body{padding: 30px; font-size: 18px; line-height: 120%;}

.vertical-separator{width: 1px; background-color: #A8A8A8;}
.border-dark{border-color: #A8A8A8!important;}
.template-testo a{color: #961047;}
.acf-block-form-modal{max-width: 90%!important;}/* CSC Header - aggiungere alla fine di css/custom-csc.css */
.csc-site-header .utility-bar { height:50px; }
.csc-site-header .utility-inner { height:100%; display:flex; align-items:stretch; justify-content:space-between; }
.csc-site-header .utility-brand,
.csc-site-header .utility-brand:hover,
.csc-site-header .utility-brand:focus {
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}
.csc-site-header .utility-nav { display:flex; align-items:stretch; height:100%; margin-left:auto; }
.csc-site-header .csc-top-list { list-style:none; display:flex; align-items:stretch; height:100%; padding:0; margin:0; }
.csc-site-header .csc-top-list > li { display:flex; align-items:stretch; }
.csc-site-header .csc-top-list > li > a { display:flex; align-items:center; padding:0 16px; height:100%; color:#fff; font-size:12px; text-decoration:none; white-space:nowrap; }
.csc-site-header .csc-top-list > li:first-child > a { text-decoration:underline; border-right:1px solid #444; padding-right:25px; margin-right:5px; }
.csc-site-header .csc-top-list > li:last-child > a { background:#fff; color:#000; font-weight:600; }
.csc-site-header .main-nav { height:150px; padding:0; background:#fff; }
.csc-site-header .main-nav-inner { display:flex; align-items:center; justify-content:space-between; height:100%; gap:30px; }
.csc-site-header .csc-logo { display:flex; align-items:center; flex-shrink:0; max-width:230px; }
.csc-site-header .csc-logo img { display:block; width:190px; height:auto; max-height:110px; object-fit:contain; }
.csc-site-header .csc-nav-right { display:flex; height:100%; min-width:0; flex-direction:column; align-items:flex-end; justify-content:center; }
.csc-site-header .nav-icons { display:flex; align-items:center; justify-content:flex-end; gap:22px; height:50%; width:auto; }
.csc-site-header .nav-icons a { width:24px; height:28px; display:flex; align-items:center; justify-content:center; }
.csc-site-header .nav-icons img { width:24px; height:24px; object-fit:contain; display:block; }
.csc-site-header #mainMenu { flex-grow:0; height:50%; align-items:center; }
.csc-site-header .main-menu-list { display:flex; flex-direction:row; align-items:center; gap:36px; padding:0; margin:0; list-style:none; }
.csc-site-header .main-menu-list > li { position:relative; list-style:none; }
.csc-site-header .main-menu-list .nav-link { padding:0!important; color:#000; font-weight:500; white-space:nowrap; }
.csc-site-header .main-menu-list > .menu-item-has-children > a:after { content:""; display:inline-block; width:7px; height:7px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin:0 0 3px 12px; }
.csc-site-header .main-menu-list .sub-menu { display:none; position:absolute; top:100%; left:0; background:#fff; min-width:240px; list-style:none; margin:0; padding:10px 0; box-shadow:0 8px 24px #0002; z-index:100; }
.csc-site-header .main-menu-list li:hover > .sub-menu, .csc-site-header .main-menu-list li:focus-within > .sub-menu { display:block; }
.csc-site-header .main-menu-list .sub-menu a { display:block; padding:12px 16px; color:#000; }
.csc-site-header .main-menu-list .sub-menu a:hover { background:#f2f2f2; }
.csc-site-header .csc-menu-toggle { display:none; }
@media (max-width:1199.98px) {
    .csc-site-header .main-nav { height:auto; min-height:110px; }
    .csc-site-header .main-nav-inner { min-height:110px; }
    .csc-site-header .csc-nav-right { justify-content:center; }
    .csc-site-header .nav-icons { height:auto; margin-bottom:15px; }
    .csc-site-header .csc-menu-toggle { display:block; align-self:flex-end; }
    .csc-site-header #mainMenu { height:auto; width:100%; position:absolute; left:0; right:0; top:100%; padding:0 24px; background:#fff; z-index:200; box-shadow:0 12px 20px #0002; }
    .csc-site-header .main-nav { position:relative; }
    .csc-site-header .main-menu-list { flex-direction:column; align-items:stretch; gap:0; padding:15px 0; }
    .csc-site-header .main-menu-list > li > a { display:block; padding:12px 0!important; }
    .csc-site-header .main-menu-list .sub-menu { display:block; position:static; box-shadow:none; padding-left:18px; }
    .csc-site-header .utility-nav .csc-top-list > li:not(:first-child):not(:last-child) { display:none; }
}
@media (max-width:767.98px) {
    .csc-site-header .utility-brand { font-size:10px; }
    .csc-site-header .utility-nav { display:none; }
    .csc-site-header .csc-logo img { width:145px; }
    .csc-site-header .nav-icons { gap:12px; }
    .csc-site-header .nav-icons a, .csc-site-header .nav-icons img { width:20px; height:20px; }
}


/* ==========================================
   CSC - TOP HEADER
========================================== */

/* Contenitore destro: lingua + menu */
.csc-site-header .utility-right {
    display: flex;
    align-items: stretch;
    margin-left: auto;
    height: 100%;
}

/* Lingua fissa */
.csc-site-header .utility-lang {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 25px;
    color: #fff;
    font-size: 12px;
    text-decoration: underline;
    border-right: 1px solid #444;
}

/* Menu WordPress */
.csc-site-header .utility-nav {
    margin-left: 0;
}

/* Tutte le voci hanno lo stesso aspetto */
.csc-site-header .csc-top-list > li > a,
.csc-site-header .csc-top-list > li:first-child > a,
.csc-site-header .csc-top-list > li:last-child > a {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0 16px;
    background: transparent;
    color: #fff;
    border: 0;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

/* Hover e focus, per tutte le voci */
.csc-site-header .csc-top-list > li > a:hover,
.csc-site-header .csc-top-list > li > a:focus-visible {
    background: #fff;
    color: #000;
}

/* Rimuove eventuali evidenziazioni permanenti */
.csc-site-header .csc-top-list > li.current-menu-item:not(:hover) > a,
.csc-site-header .csc-top-list > li.current-menu-ancestor:not(:hover) > a {
    background: transparent;
    color: #fff;
}

/* Responsive */
@media (max-width: 1199.98px) {
    .csc-site-header .utility-nav .csc-top-list > li {
        display: flex;
    }

    .csc-site-header .utility-nav {
        overflow-x: auto;
    }
}

@media (max-width: 767.98px) {
    .csc-site-header .utility-lang {
        padding: 0 12px;
    }

    .csc-site-header .utility-nav {
        display: none;
    }
}

.btn-primary{
    background-color: #961047;
    border-color: #961047;
    color: #fff;
    border-width: 2px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    border-radius: 4px;
    padding: 12px 24px;
}

.btn-primary:hover{    
    background-color: #fff !important;
    border-color: #961047 !important;
    color: #961047 !important;
    filter: none !important;
}


/* ==========================================
   NTS BANNER CONTATTI - RESPONSIVE FIX
========================================== */

@media (max-width: 1199.98px) {

    .contacts-section {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .contacts-section .contact-image,
    .contacts-section .contact-content {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Immagine utilizzata come spacer */
    .contacts-section .contact-image > img {
        display: block;
        max-width: 100%;
        height: auto;
    }

    /* Impedisce ai testi lunghi di allargare la colonna */
    .contacts-section .contact-content,
    .contacts-section .accordion-body {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 767.98px) {

    .contacts-section .contact-image {
        height: 280px;
        min-height: 0;
        overflow: hidden;
    }

    .contacts-section .titolo-contatti {
        width: 80%;
        max-width: 100%;
        top: 40px;
        right: 0;
        padding: 15px 20px;
    }

    .contacts-section .contact-content {
        padding: 35px 20px;
    }

    .contacts-section .contact-accordions .accordion-button {
        font-size: 16px;
        padding: 12px 0;
    }

    .contacts-section .contact-accordions .accordion-button::before {
        width: 28px;
        flex-shrink: 0;
        font-size: 24px;
    }

    .contacts-section .contact-accordions .accordion-body {
        padding: 0 0 16px 28px;
        font-size: 14px;
    }

    .contacts-section .contact-actions {
        gap: 12px;
    }

    .contacts-section .contact-actions .btn {
        width: 100%;
    }
}
@media (max-width: 767.98px) {

    .hero-home .hero-bg > img:first-child {
        display: block;
        width: 100%;
        height: 620px;
        object-fit: cover;
    }

}

@media (max-width: 767.98px) {

    .container{
        max-width: none;
    }

}

.btn-white{
    background-color: #fff;
    border-color: #fff;
    color: #000;
}


/* ==========================================
   NTS BANNER BANDI - RESPONSIVE
========================================== */

/* Impostazioni generali */
.template-bandi .row > [class*="col-"] {
    min-width: 0;
}

.template-bandi .box-left {
    width: 100%;
    min-width: 0;
}

.template-bandi .box-left > .box {
    min-width: 0;
    flex: 1 1 0;
}

.template-bandi .box-bookshop {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Desktop e tablet grandi */
@media (min-width: 992px) and (max-width: 1399.98px) {

    .template-bandi .box-left {
        padding: clamp(25px, 3vw, 60px);
    }

    .template-bandi .box {
        padding-left: clamp(15px, 2vw, 50px);
        padding-right: clamp(15px, 2vw, 50px);
    }

    .template-bandi .box-bookshop {
        padding: clamp(20px, 2.5vw, 45px);
    }
}

/* Tablet e mobile */
@media (max-width: 991.98px) {

    .template-bandi .row {
        row-gap: 20px;
    }

    .template-bandi .box-left {
        display: flex;
        flex-direction: column !important;
        padding: clamp(20px, 4vw, 40px);
        border-radius: 4px;
    }

    .template-bandi .box-left > .box {
        flex: none;
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    /* Primo blocco testuale */
    .template-bandi .box-left > .box:first-child {
        border-right: 0 !important;
        border-bottom: 1px solid #D5D5D5;
        padding-bottom: 22px;
        margin-bottom: 22px;
    }

    /* Blocco notizia in evidenza */
    .template-bandi .box-left > .box:last-child {
        padding: 0;
    }

    .template-bandi .box-left > .box:last-child
    .text-end {
        margin-bottom: 12px;
        padding-bottom: 0 !important;
    }

    /* Bookshop */
    .template-bandi .box-bookshop {
        height: auto !important;
        padding: clamp(20px, 4vw, 40px);
        border-radius: 4px;
    }

    .template-bandi .box-bookshop .img img {
        width: auto;
        max-width: 100%;
        height: auto;
    }
}

/* Smartphone */
@media (max-width: 575.98px) {

    .template-bandi .box-left {
        padding: 20px 15px;
    }

    .template-bandi .box-bookshop {
        padding: 20px 15px;
    }

    .template-bandi .box-left .h3,
    .template-bandi .box-bookshop .h3 {
        font-size: clamp(20px, 5vw, 26px);
        line-height: 1.2;
    }

    .template-bandi .box-left .h5 {
        font-size: clamp(16px, 4vw, 20px);
        line-height: 1.3;
    }

    .template-bandi .textarea-content,
    .template-bandi .textarea-contet {
        overflow-wrap: anywhere;
    }
}



