@charset "utf-8";
/* CSS Document */

:root {
    --white: rgba(255,255,255,1); /* #fff */
    --black: rgba(44, 67, 76, 1); /* #2c434c */
    /*--black: rgba(48,48,48,1); #303030 */
    --primary: rgba(124,128,129,1); /* #7c8081 */
    /*--secondary: rgba(48,75,89,.9); #304b59 */
    --secondary: rgba(44, 67, 76, 1); /* #2c434c */
	--grey: rgba(247, 248, 249, 1); /* #f7f8f9 */
}

* {box-sizing: border-box;}
*, a, a:hover {transition: all .5s;}

body {font-family: "Montserrat", sans-serif; }
.container {max-width: 1300px;}
i {-webkit-font-smoothing: antialiased;}

/*h1, h2, h3, h4, h5 {font-family: "Archivo Narrow", sans-serif;}*/
h1 {margin: 0; padding: 0; font-size: 45px; line-height: 55px; color: var(--black); font-weight: 800;}
h2 {margin: 0; padding: 0; font-size: 20px; line-height: 20px; color: var(--secondary); font-weight: 500; text-transform: uppercase;}
h3 {margin: 0; padding: 0; font-size: 18px; line-height: 30px; color: var(--black); font-weight: 500;}
h4 {margin: 5px 0 0; padding: 0; font-size: 15px; line-height: 22px; color: var(--primary); font-weight: 300;}
h5 {margin: 0; padding: 0; font-size: 12px; line-height: 18px; color: var(--primary); font-weight: 800; text-transform: uppercase;}
p {margin: 25px 0 0; padding: 0; font-size: 15px; line-height: 24px; color: var(--black); font-weight: 300;}
strong {font-weight: 500;}
ul, ol {margin: 25px 0 0; padding: 0; font-size: 15px; line-height: 24px; color: var(--black); font-weight: 300;}
ul {list-style: none; font-weight: 500;}
ul li {margin-bottom: 20px;}
ul li:last-child {margin-bottom: 0;}
label {font-family: 'Archivo Narrow', sans-serif; }
.form-check label {margin-top: 0;}
input.form-control {font-family: 'Archivo Narrow', sans-serif; border: 1px solid var(--red); border-radius: 3px; background-color: transparent; color: var(--black);}
select.form-select {font-family: 'Archivo Narrow', sans-serif; border: 1px solid var(--red); border-radius: 3px; background-color: transparent; color: var(--black);}
textarea.form-control {font-family: 'Archivo Narrow', sans-serif; border: 1px solid var(--red); border-radius: 3px; background-color: transparent; color: var(--black); resize: none; min-height: 130px; max-height: 130px;}
.form-check-input {border: var(--bs-border-width) solid var(--black);}

.btn.btn-primary, .btn.btn-secondary {border-radius: 0; border: none; padding: 10px 35px; font-weight: 300; font-size: 20px; line-height: 20px; transition: all .5s !important;}

.btn.btn-primary {background: var(--secondary); color: var(--white);}
.btn.btn-primary:hover {background: #9e968d; color: var(--black);}

::placeholder {color: var(--black); opacity: 1;}
:-ms-input-placeholder {color: var(--black);}
::-ms-input-placeholder {color: var(--black);}

/** NAVBAR **/
nav.navbar {padding: 35px 0; background: var(--white);}
nav.navbar.home {background: transparent;}
nav.navbar a.navbar-brand {padding-top: 0; padding-bottom: 0; margin-right: 0;}
nav.navbar.home a.navbar-brand img {filter: brightness(0) invert(1);}
nav.navbar.home.bg-light a.navbar-brand img {filter: none;}
nav.fixed-top a.navbar-brand img {max-width: 345px;}
.navbar-nav {margin: 0;}
.navbar-nav li.nav-item {margin-bottom: 0;}
.navbar-nav li.active .nav-link.active, .navbar-light .navbar-nav .nav-link {font-size: 15px; font-weight: 400; line-height: 22px; color: var(--black); padding: 2px 15px; margin: 0; text-shadow: none; border-radius: 0; transition: all .5s; border: 3px solid transparent;}
.navbar-nav.home li.active .nav-link.active, .navbar-light.home .navbar-nav .nav-link {color: var(--white);}
.navbar.bg-light {background: rgba(255,255,255,.85) !important; padding: 20px 0;}
.navbar.bg-light a.navbar-brand img {max-width: 280px;}
/*.navbar-nav.bg-light.home li.active .nav-link.active, .navbar-light.bg-light.home .navbar-nav .nav-link {color: var(--white);}*/
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav li.active .nav-link.active {color: var(--white); background: var(--secondary);}

.navbar-nav.home.bg-light li.active .nav-link.active, .navbar-light.home.bg-light .navbar-nav .nav-link {color: var(--primary);}
.navbar-light.home.bg-light .navbar-nav .nav-link:hover, .navbar-light.home.bg-light .navbar-nav .nav-link.active, .navbar-light.home.bg-light .navbar-nav li.active .nav-link.active {color: var(--white); background: var(--secondary);}

.dropdown-menu[data-bs-popper] {margin-top: 0;}
.dropdown-menu {padding: 0; border-radius: 0; border: none; background: var(--secondary);}
.dropdown-menu li {margin-bottom: 0;}
.dropdown-item {color: var(--white); padding: 5px 15px; font-size: 15px;}
.dropdown-item.active, .dropdown-item:active {background: var(--white); color: var(--primary);}

button.navbar-toggler span {display: block; width: 20px; height: 1px; background-color: var(--primary);}
button.navbar-toggler.collapsed span {transform: rotate(0); position: relative; margin: 5px 0;}
button.navbar-toggler.collapsed span:first-child {transform: rotate(0);}
button.navbar-toggler span:first-child {transform: rotate(45deg);}

button.navbar-toggler.collapsed span:last-child {transform: rotate(0); margin-top: 0;}
button.navbar-toggler span:last-child {transform: rotate(130deg); margin-top: -1px;}
button.navbar-toggler.collapsed span:nth-child(2) {background-color: var(--primary);}
button.navbar-toggler.collapsed span:nth-child(2) {display: block;}
button.navbar-toggler span:nth-child(2) {display: none;}

/** SEARCH **/
.search-overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: 0.3s; z-index: 9999;}
.search-overlay.active {opacity: 1; visibility: visible;}
.search-box h3 {color: var(--white); text-align: center; margin-bottom: 15px; text-transform: uppercase;}
.search-box input[type="text"] {min-width: 500px; max-width: 500px; padding: 10px; font-size: 18px; height: 42px; border: none;}
.search-box input[type="submit"] {border-radius: 0; border: none; background: var(--primary); padding: 10px 35px; font-weight: 300; font-size: 20px; line-height: 22px; transition: all .5s !important; color: var(--white);}
.search-close {position: absolute; top: 20px; right: 30px; font-size: 30px; background: none; border: none; color: white;}
button.search-toggle {background: transparent; color: var(--black); border: none; padding: 0;}
.home button.search-toggle {color: var(--white) !important;}
.home.bg-light button.search-toggle {color: var(--black) !important;}

/*** Slide ***/
.cnt-slide .carousel {background: #f1f1f1; position: relative;}
.cnt-slide .carousel .overlay {position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,.6);}
.cnt-slide .carousel .carousel-item {background-size: cover !important; background-repeat: no-repeat !important; height: 85vh; background-position: center !important;}
.cnt-slide .carousel .carousel-caption {left: auto; top: 100px; right: auto; position: relative; text-align: left; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 85vh; z-index: 5; position: relative;}
.cnt-slide .carousel .carousel-caption:after {position: absolute; width: 100%; height: 100%; top: 0; left: 0; content: ""; background: url(../img/forma.png) no-repeat center left; background-size: 35%;}
.cnt-slide .carousel .carousel-caption .text {border-left: 3px solid var(--white); padding-left: 15px; position: relative; z-index: 99;}
.cnt-slide .carousel .carousel-caption h2 {font-size: 30px; line-height: 40px; color: var(--white); margin-top: 80px; font-weight: 600;}
.cnt-slide .carousel .carousel-caption h3 {font-size: 21px; line-height: 30px; color: var(--white); margin-top: 25px; font-weight: 300; max-width: 65%; padding-top: 50px;}
.cnt-slide .carousel .carousel-caption p {font-size: 21px; line-height: 20px; color: var(--white); margin-top: 35px; font-weight: 300; font-style: italic; text-align: center;}
.cnt-slide .carousel .carousel-control-next, .cnt-slide .carousel .carousel-control-prev {top: 50%; margin-top: -35px; border-radius: 50%; height: 70px; width: 70px; background: none;}
.cnt-slide .carousel .carousel-control-next {margin-right: 35px;}
.cnt-slide .carousel .carousel-control-prev {margin-left: 35px;}
.cnt-slide .carousel-control-next-icon, .cnt-slide .carousel-control-prev-icon {width: 15rem; height: 15rem;}

/** HEADER INTERNAL **/
.hd-internal {/*margin-top: 100px;*/ min-height: 480px; max-height: 480px; background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important;}
.hd-internal .col, .hd-internal .col-lg-5, .hd-internal .col-lg-8 {display: flex; flex-direction: column; min-height: 400px; justify-content: flex-end;}
.hd-internal .col h1, .hd-internal .col-lg-5 h1 {color: var(--white); font-size: 35px; line-height: 45px; font-weight: 400;}
.hd-internal .text {border-left: 5px solid var(--white); padding: 10px 0 10px 15px;}
.hd-internal .text h2 {font-size: 34px; line-height: 44px; color: var(--white); font-weight: 600; text-transform: none; margin-bottom: 15px;}
.hd-internal .text h3 {font-size: 26px; line-height: 36px; color: var(--white); text-align: right;}
.hd-internal .text p {font-size: 18px; line-height: 28px; text-align: right; margin-top: 15px; color: var(--white); text-align: right; font-style: italic;}

/** CONTENT **/
.content {padding: 6% 0 0;}
.content p a {color: var(--primary); text-decoration: underline;}
.content.faq, .content.news {background: #f1f1f1; margin: 5% 0 0; padding: 3% 0;}
.content.faq h3, .content.news h3 {text-transform: uppercase; margin-top: 15px;}
.content.faq p, .content.news p {margin-top: 15px;}
.content.amministrazione {padding: 10% 0 5%; background: var(--secondary);}
.content.amministrazione h2, .content.amministrazione h3, .content.amministrazione p {color: var(--white);}

.content.contatti {padding: 6% 0 0;}
.content.contatti p a {color: var(--black); text-decoration: underline;}
.content.contatti p strong {font-weight: 700; color: var(--secondary);}
.content.contatti ul {display: flex; flex-wrap: wrap; font-weight: 300; margin: 0;}
.content.contatti ul li {width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 5px 0;}
.content.contatti ul li a {color: var(--black);}

.content.documenti {padding: 6% 0;}
.content.documenti .box-date, .content.documenti .box-text {background: #f1f1f1; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); height: 100%; min-height: 165px;}
.content.documenti .box-date {display: flex; flex-direction: column; justify-content: flex-start;}
.content.documenti .box-date .giorno {display: block; text-align: center; font-size: 48px; line-height: 58px; font-weight: 700; margin-top: 15px;}
.content.documenti .box-date .mese {display: block; text-align: center; font-size: 18px; line-height: 28px; font-weight: 300;}
.content.documenti .box-date .anno {display: block; text-align: center; font-size: 23px; line-height: 33px; font-weight: 500;}
.content.documenti .box-text {padding: 20px;}
.content.documenti .box-text h3 {margin: 0; font-size: 16px; line-height: 20px;}
.content.documenti .box-text p {margin: 10px 0 0;}
.content.documenti .box-text ul {margin: 5px 0 0 20px; list-style: disc; font-weight: 300;}
.content.documenti .box-text ul li {margin: 0;}
.content.documenti .box-text a {font-size: 15px; line-height: 25px; font-weight: 500; color: var(--black); text-decoration: underline;}
.content.documenti .box-text a:hover {color: var(--primary); text-decoration: underline;}

.content.news .list-news {background: var(--white); margin-bottom: 45px;}
.content.news .list-news .date {border-top: 6px solid var(--secondary); border-bottom: 6px solid var(--secondary); min-height: 210px; display: flex; align-items: center; justify-content: center;}
.content.news .list-news .date p {text-align: center; font-size: 24px; line-height: 28px; margin-top: 0; color: var(--black);}
.content.news .list-news .date p span {display: block; font-size: 50px; line-height: 50px; font-weight: 700;}
.content.news .list-news .date p strong {display: block;}
.content.news .list-news img {margin: 34px 0 0;}
.content.news .list-news h3 {margin-top: 30px; font-size: 16px; line-height: 22px; color: var(--primary); font-weight: 400; text-transform: uppercase;}
.content.news .list-news h2 {font-size: 20px; line-height: 30px; color: var(--black); font-weight: 700; margin-top: 25px;}
.content.news .list-news h2 a {color: var(--black); text-decoration: none;}
.content.news .list-news h2 a:hover {color: var(--primary); text-decoration: none;}
.content.news .list-news i.fa-chevron-right {font-size: 75px; width: 50px;}
.content.news .list-news a.link {color: var(--primary); text-decoration: none;}
.content.news .list-news a.link:hover {color: var(--black); text-decoration: none;}
.content.news .list-news a.link {font-size: 15px; line-height: 25px; font-weight: 500; color: var(--black); text-decoration: underline;}
.content.news .list-news a.link:hover {color: var(--primary); text-decoration: underline;}

.content-staff {padding: 3% 0; text-align: right; background: #f7f8f9;}
.content-staff.grey {background: var(--secondary);}
.content-staff h2 {color: var(--secondary);}
.content-staff.grey h2, .content-staff.grey p {text-align: left; color: var(--white);}

/** BOX GIORGIO **/
.box-giorgio {padding: 4% 0; margin: 2% 0; background: var(--secondary);}
.box-giorgio h2, .box-giorgio p {color: var(--white);}

/** SPECIAL TITLE **/
.special-title {padding: 6% 0 0;}
.special-title p {font-size: 30px; line-height: 40px; font-weight: 400; color: var(--black);}

/** BOX NEWSLETTER **/
.box-newsletter {padding: 5% 0;}
.box-newsletter .text {border-left: 5px solid var(--secondary); padding: 10px 0 10px 25px;}
.box-newsletter .text h2, .box-citazione .text p {color: var(--secondary); font-style: italic; margin: 0;}
.box-newsletter .text h2 {font-size: 25px; line-height: 35px; text-transform: none;}
.box-newsletter .text h2 a {color: var(--secondary); text-decoration: none;}
.box-newsletter .text p {font-size: 16px; line-height: 26px; text-align: left; margin-top: 15px;}
/*.box-newsletter {background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; padding: 8% 0;}
.box-newsletter h2 {font-size: 22px; line-height: 25px; color: var(--white); text-align: center;}
.box-newsletter h2 a {color: var(--white); text-decoration: underline;}
.box-newsletter h2 a:hover {color: var(--primary); text-decoration: underline;}*/

/** BOX AREA RISERVATA **/
.box-reserved {background-image: linear-gradient(284deg, rgb(48, 75, 89) 0%, rgb(150, 160, 160) 100%);}
.box-reserved p {font-size: 18px; line-height: 26px; color: var(--white); margin: 0;}

/** FOOTER **/
footer {margin-top: 20px; padding: 20px 0; background: var(--secondary);}
footer p {font-size: 13px; line-height: 20px; margin: 0; color: var(--white);}
footer p i {font-size: 18px;}
footer p a {color: var(--white); text-decoration: underline;}
footer p a:hover {color: var(--white);}

/** COPY **/
.copy {padding: 2% 0 20px;}
.copy p {font-size: 14px; line-height: 18px; margin: 0; color: var(--primary);}
.copy p a {color: var(--primary); text-decoration: underline;}
.copy p a:hover {color: var(--black);}

/** BACK TO **/
.back-to {padding: 30px 0;}
.back-to p {font-size: 18px; line-height: 22px; color: var(--primary); text-transform: uppercase; font-weight: 300;}
.back-to p a {color: var(--primary); text-decoration: underline;}
.back-to p a:hover {color: var(--black); text-decoration: underline;}
.back-to hr {background: var(--black); opacity: 1;}

/** DETTAGLIO NEWS **/
.detail-news {padding-bottom: 5%;}
.detail-news .date {display: flex; align-items: center; justify-content: center;}
.detail-news .date p {text-align: center; font-size: 24px; line-height: 28px; margin-top: 0; color: var(--black);}
.detail-news .date p span {display: block; font-size: 50px; line-height: 50px; font-weight: 700;}
.detail-news .date p strong {display: block;}
.detail-news h1 {font-size: 26px; line-height: 36px; font-weight: 400; text-transform: uppercase;}
.detail-news h4 {font-size: 24px; line-height: 34px; color: var(--black);}
.detail-news .box-audio {margin-top: 50px;}
.detail-news .box-audio p {margin-bottom: 10px;}
.detail-news .box-audio audio {width: 100%; margin-top: 15px; border-radius: 0;}

/** NEWS HOME **/
.box-news {padding: 3% 0;}
.box-news h3 {font-size: 45px; line-height: 55px; font-weight: 300;}
.box-news .carousel-control-prev-icon {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");}
.box-news .carousel-control-next-icon {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}
.box-news .carousel .slide-news {padding: 0 50px;}
.box-news .carousel .slide-news a {font-size: 16px; line-height: 26px; color: var(--black); font-weight: 700; text-decoration: none; margin-top: 10px; display: inline-block; float: right;}
.box-news .carousel .slide-news a:hover {color: var(--primary); text-decoration: none;}
.box-news .carousel .slide-news p {margin-top: 0; font-size: 20px; line-height: 30px; color: var(--black);}
.box-news .carousel-control-next, .box-news .carousel-control-prev {opacity: 1; width: auto;}
.box-news .carousel-control-next-icon, .box-news .carousel-control-prev-icon {width: 3rem; height: 3rem;}

/** BOX CITAZIONE **/
.box-citazione {padding: 5% 0;}
.box-citazione .text {border-left: 5px solid var(--secondary); padding: 10px 0 10px 25px;}
.box-citazione .text h3, .box-citazione .text p {color: var(--secondary); font-style: italic; margin: 0;}
.box-citazione .text h3 {font-size: 25px; line-height: 35px;}
.box-citazione .text p {font-size: 16px; line-height: 26px; text-align: right; margin-top: 15px;}