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

:root {
    --white: rgba(255,255,255,1); /* #fff */
    --black: rgba(0,0,0,1); /* #000 */
    --grey: rgba(241,241,241,1); /* #f1f1f1 */
    --lightgrey: rgba(241,241,241,.5); /* #f1f1f1 */
    --darkgrey: rgba(44,44,44,.8); /* #f1f1f1 */
    --red: rgba(197,0,62,1); /* #c5003e */
    --lightred: rgba(153,27,30,.5); /* #991b1e */
    --darkred: rgba(116,4,39,1); /* #740427 */
}

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

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

h1, h2, h3, h4, h5 {font-family: "Playfair Display", serif;}

h1 {margin: 0; padding: 0; font-size: 60px; line-height: 70px; color: var(--black); font-weight: 400;}
h2 {margin: 10px 0 0; padding: 0; font-size: 40px; line-height: 50px; color: var(--red); font-weight: 500;}
h3 {margin: 0; padding: 0; font-size: 26px; line-height: 35px; color: var(--black); font-weight: 400;}
h4 {margin: 0; padding: 0; font-size: 20px; line-height: 25px; color: var(--black); font-weight: 400;}
h5 {margin: 0; padding: 0; font-size: 18px; line-height: 25px; color: var(--black); text-transform: uppercase; font-family: "Playfair Display", serif; position: relative; padding-left: 50px;}
h5:before {position: absolute; content: ""; width: 40px; height: 2px; background: var(--red); top: 50%; left: 0;}
p {margin: 15px 0 0; padding: 0; font-size: 16px; line-height: 22px; color: var(--black); font-weight: 400;}
ul, ol {font-family: "Lato", sans-serif; margin: 0; padding: 0;}
ul {margin: 5px 0 0 25px; padding: 0; font-size: 16px; line-height: 22px; color: var(--black); font-weight: 400;}
ul li {margin: 5px 0 0; padding: 0;}
ol {margin: 3px 0 15px 25px !important; padding: 0; font-size: 16px; line-height: 22px; color: var(--black); font-weight: 400;}
ol li {margin: 3px 0 0; padding: 0;}
label {font-family: "Lato", sans-serif; }
.form-check {padding-left: 0;}
.form-check label {margin-top: 4px;}
input.form-control {border: 1px solid var(--red); border-radius: 3px; background-color: transparent; color: var(--grey);}
select.form-select {border: 1px solid var(--red); border-radius: 3px; background-color: transparent; color: var(--grey);}
textarea.form-control {border: 1px solid var(--red); border-radius: 3px; background-color: transparent; color: var(--grey); resize: none; min-height: 130px; max-height: 130px;}
.form-check-input {border: var(--bs-border-width) solid var(--grey);}
.wpcf7-not-valid-tip {color: var(--white) !important;}
.wpcf7 form.sent .wpcf7-response-output {background: var(--white);}

.btn.btn-primary {background: var(--red); color: var(--white); border: 1px solid var(--red);}
.btn.btn-primary:hover {background: var(--black); color: var(--white); border: 1px solid var(--black);}

.btn.btn-secondary {background: var(--white); color: var(--red); border: 1px solid var(--white);}
.btn.btn-secondary:hover {background: var(--black); color: var(--white); border: 1px solid var(--black);}

.btn.btn-third {background: transparent; color: var(--white); border: 1px solid var(--white);}
.btn.btn-third:hover {background: var(--white); color: var(--black); border: 1px solid var(--white);}

.btn.btn-primary, .btn.btn-secondary, .btn.btn-third {padding: 15px 30px; font-weight: 400; font-size: 15px; line-height: 15px; transition: all .5s !important; text-transform: uppercase; border-radius: 0;}

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

/** NAVBAR **/
nav.navbar {padding: 10px 0; background: var(--white);}
nav.navbar a.navbar-brand {padding-top: 0; padding-bottom: 0; font-size: 15px; color: var(--red); font-weight: 700; display: flex; align-items: center; line-height: 18px;}
nav a.navbar-brand img {max-width: 100px; margin-right: 15px;}
nav.bg-light a.navbar-brand img {max-width: 70px;}
.navbar-nav {margin: 0; position: relative;}
.navbar-nav li {margin: 0 5px;}
.navbar-nav li.active .nav-link.active, .navbar-light .navbar-nav .nav-link {font-family: "Lato", serif; font-size: 15px; font-weight: 600; line-height: 24px; color: var(--red); padding: 5px 15px; text-shadow: none; border-radius: 0; transition: all .5s; position: relative; border-bottom: 3px solid transparent; text-transform: uppercase;}
.navbar.bg-light {background: var(--white) !important; border-radius: 0;}
.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(--red);}
.navbar-nav li:last-child {margin: 0;}
.navbar-nav li:nth-child(6) {margin-right: 0;}
.navbar-nav li:nth-child(6) a.nav-link {background: var(--red); color: var(--white);}
.navbar-nav li:nth-child(6) a.nav-link {background: var(--red); color: var(--white);}

.navbar-nav li:nth-child(6) a.nav-link i {color: var(--white); animation: rotation 1.5s infinite alternate ease-in-out;}
@keyframes rotation {0% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); }}

.navbar-nav li:last-child a.nav-link:hover {background: var(--darkred); color: var(--white);}
.navbar-expand-lg.fixed-top .navbar-nav .dropdown-menu {font-family: "Lato", serif; border-top: none; border: 1px solid var(--red); background: var(--grey); border-radius: 0; padding: 0; font-size: 15px;}
.navbar-expand-lg.fixed-top .navbar-nav .dropdown-menu li {margin: 0;}
.navbar-expand-lg.fixed-top .navbar-nav .dropdown-menu.show {top: 100px;}
.navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item {color: var(--black); padding: 10px 15px;}
.navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item:hover, .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item.active {color: var(--white); background: var(--red);}

button.navbar-toggler span {display: block; width: 20px; height: 1px; background-color: var(--red);}
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(--red);}
button.navbar-toggler.collapsed span:nth-child(2) {display: block;}
button.navbar-toggler span:nth-child(2) {display: none;}

a.nav-link img {
    width: 18px !important;
    height: 13px !important;
}

/** SLIDE **/
.cnt-slide .carousel {background: #f1f1f1; position: relative;}
.cnt-slide .carousel .carousel-item {position: relative; overflow: hidden; height: 100vh;}
.cnt-slide .carousel .carousel-item:after {position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,0); content: "";}
.cnt-slide .carousel .carousel-caption {left: auto; top: 0; right: auto; position: relative; text-align: left; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; z-index: 1;}
.cnt-slide .carousel-video {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;}
.cnt-slide .carousel .carousel-caption p, .cnt-slide .carousel .carousel-caption h1, .cnt-slide .carousel .carousel-caption h3, .cnt-slide .carousel .carousel-caption a {position: relative; z-index: 999;}
.cnt-slide .carousel .carousel-caption p {color: var(--white); text-transform: uppercase; font-family: "Playfair Display", serif; position: relative; padding-left: 60px;}
.cnt-slide .carousel .carousel-caption p:after {position: absolute; content: ""; width: 50px; height: 2px; background: var(--red); top: 50%; left: 0;}
.cnt-slide .carousel .carousel-caption h1 {color: var(--white); padding: 5px 10px; font-size: 60px; line-height: 70px;}
.cnt-slide .carousel .carousel-caption h3 {padding: 5px 10px; margin-top: 25px; font-size: 20px; line-height: 30px; color: var(--white); background: rgba(153,27,30,.8); display: inline-block;}
.cnt-slide .carousel .carousel-caption a.btn.btn-primary {margin-right: 15px;}

/** BOX-CTA **/
.box-cta {padding: 3% 0; background: var(--darkred); margin-top: 50px;}
.box-cta h2 {font-size: 35px; line-height: 45px; color: var(--white); margin: 0; text-transform: uppercase; font-weight: 300;}
.box-cta h5 {color: var(--white);}

/** BOX INTRO **/
section.box-intro {padding: 5% 0 0;}
section.box-intro img {border-top-left-radius: 15px; border-bottom-right-radius: 15px;}

/** SERVIZI HOME **/
.home-services {padding: 5% 0 0;}
.home-services i, .home-services img {/*font-size: 40px;*/ width: 90px; height: 90px; border-radius: 50%; border: 5px solid var(--red); line-height: 100px; text-align: center; display: block; margin: 25px auto 0; padding: 10px;}
.home-services h3 {margin: 15px auto 0; font-size: 18px; line-height: 23px; font-weight: 600; /*max-width: 75%;*/}
.home-services p {margin-top: 5px;}
.home-services a {text-decoration: none; color: var(--black);}
.home-services a:hover {text-decoration: none; color: var(--red);}
.home-services a:hover img, .home-services a:hover i {transform: rotate(360deg);}

/** CONTENT **/
.content {padding: 5% 0 0;}
.content h3 {margin-top: 15px;}
.content ul {list-style: none; margin: 15px 0 0 0;}
.content ul li {position: relative; padding-left: 45px; margin-bottom: 15px;}
.content ol li {padding-left: 0; margin-bottom: 0;}
.content ul li:before {content: '\f105'; position: absolute; left: 0; top: 0; font-family: "Font Awesome 7 Pro"; font-size: 30px; color: var(--red); font-weight: 300; transition: all .5s;}
.content ul li:hover:before {left: 10px;}
.content ol li:before {display: none;}

/** LISTA NEWS **/
.list-news {padding: 5% 0;}
.list-news h6 {margin: 0; font-size: 18px; line-height: 25px; color: var(--black); text-transform: uppercase; font-family: "Playfair Display", serif; position: relative;}
.list-news h6::before, .list-news h6::after {content: ""; display: inline-block; vertical-align: middle; width: 40px; height: 2px; background: var(--red);}
.list-news h6::before {margin-right: 20px;}
.list-news h6::after {margin-left: 20px;}
.list-news img {margin-top: 25px; border-top-left-radius: 15px; border-bottom-right-radius: 15px;}
.list-news h3 {margin-top: 20px; font-size: 22px; line-height: 30px; color: var(--red); font-weight: 500;}
.list-news a {color: var(--red); text-decoration: none; font-weight: 600; font-size: 18px; line-height: 22px; display: inline-block; margin-top: 10px;}
.list-news a:hover {color: var(--darkgrey);}
.list-news a:hover i {transform: rotateX(360deg);}

/** FOOTER **/
footer {background: var(--black); padding: 2% 0;}
footer h4 {color: var(--white); margin: 0; font-size: 16px; line-height: 20px; font-weight: 500; text-transform: uppercase; margin-bottom: 10px;}
footer h5 {color: var(--red); margin: 0; font-size: 15px; line-height: 18px; font-weight: 400; text-transform: uppercase; margin-bottom: 10px;}
footer p {color: var(--white); margin: 0 0 5px 0; font-size: 15px; line-height: 22px; font-weight: 400;}
footer p a {color: var(--white); text-decoration: none;}
footer p a:hover {color: var(--white); text-decoration: underline;}
footer ul {color: var(--white); list-style: none; margin: 0; padding: 0; font-size: 15px; line-height: 22px; font-weight: 400;}
footer ul li {margin: 0; padding: 0;}
footer ul li a {color: var(--white); text-decoration: none;}
footer ul li a:hover {color: var(--red); text-decoration: none;}
footer ul.social {list-style: none; display: flex; justify-content: flex-start; margin: 15px 0; text-align: center;}
footer ul.social li {margin: 0 10px 0 0;}
footer ul.social li a {border-radius: 50%; border: 1px solid var(--red); color: var(--white); background: var(--red); display: flex; justify-content: center; width: 40px; height: 40px; line-height: 40px;}
footer ul.social li a:hover {transform: rotateY(360deg); border: 1px solid var(--white);}
footer ul li i.fa.fa-angle-right {margin-right: 10px;}
footer ul.social li i {font-size: 18px; margin-right: 0; display: block; line-height: 38px;}
footer p i {margin-right: 10px;}

/** COPY **/
.copy {background: var(--red); padding: 15px 0;}
.copy p {margin: 0; color: var(--white); font-size: 14px; line-height: 20px; text-align: center;}
.copy p a {color: var(--white); text-decoration: none;}

/*** Back to top ***/
#btn-back-to-top {position: fixed; bottom: 25px; right: 20px; display: none; z-index: 9999; transition: all .5s; border-radius: 50%; color: var(--red); background: var(--white); border: 1px solid var(--red);}
#btn-back-to-top:hover {transition: all .5s; bottom: 35px; box-shadow: 0 0 15px 1px #000; background: var(--red); color: var(--white);}

/** HEADER INTERNAL **/
.hd-internal {position: relative; min-height: 30vh; margin-top: 115px; background-position: 50% 42% !important; background-repeat: no-repeat !important; background-size: cover !important;}
.hd-internal:after {position: absolute; content: ""; width: 100%; height: 100%; background: rgba(255,255,255,.5); top: 0; left: 0;}
.hd-internal .col {display: flex; justify-content: center; flex-direction: column; min-height: 30vh; position: relative; z-index: 999;}

/** PAGINA SERVIZI **/
.page-servizi {padding: 5% 0;}
.page-servizi h6 {margin: 0; font-size: 18px; line-height: 25px; color: var(--black); text-transform: uppercase; font-family: "Playfair Display", serif; position: relative; display: inline-block; padding: 0 20px;}
.page-servizi h6::before, .page-servizi h6::after {content: ""; display: inline-block; vertical-align: middle; width: 40px; height: 2px; background: var(--red);}
.page-servizi h6::before {margin-right: 20px; left: auto;}
.page-servizi h6::after {margin-left: 20px;}
.page-servizi ul {display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0;}
.page-servizi ul li {margin: 50px 15px 0; max-width: 30%;}
.page-servizi .box {box-shadow: 0 2px 20px rgb(0 0 0 / .2); padding-bottom: 30px;}
.page-servizi .box h3, .page-servizi .box p, .page-servizi .box a.btn {margin: 0 20px;}
.page-servizi .box h3 {color: var(--red); margin-top: 20px; min-height: 70px; font-size: 22px; line-height: 30px;}
.page-servizi .box h3 a {color: var(--red); text-decoration: none;}
.page-servizi .box p {margin-top: 5px;}

/** CONTATTI **/
.cnt-contatti {padding: 5% 0;}
.cnt-contatti .box-contatti {background: var(--white); padding: 10% 55px 0 0;}
.cnt-contatti .box-contatti i {font-size: 40px; color: var(--red); animation: rotateIcon 1.5s infinite alternate ease-in-out;}
.cnt-contatti .box-contatti p i {font-size: 30px; margin: 10px 10px 0 0; animation: none;}
@keyframes rotateIcon {0% { transform: rotate(-15deg); } 100% { transform: rotate(15deg); }}
.cnt-contatti .box-contatti h4 {font-weight: 500;}
.cnt-contatti .box-contatti ul {list-style: none; display: flex; justify-content: flex-start; margin: 10px 0 0; max-width: 30%;}
.cnt-contatti .box-contatti ul li {margin: 0 15px 0 0;}
.cnt-contatti .box-contatti ul li i {font-size: 25px; color: var(--black);}
.cnt-contatti .box-form {background: var(--darkgrey); padding: 10% 55px 10px;}
.cnt-contatti .box-form h3 {font-weight: 600;}
.cnt-contatti .box-form h3, .cnt-contatti .box-form p {color: var(--white);}
.cnt-contatti form .form-control {background: var(--white); color: var(--dark); border: none; padding: 15px 20px; margin: 0 0 15px 0; border-radius: 2px;}
.cnt-contatti form textarea.form-control {resize: none; max-height: 160px;}
.cnt-contatti form .form-check-input[type=checkbox], .cnt-contatti form .form-check-label.privacy {border-radius: 5px; background: var(--white); cursor: pointer; margin-right: 5px; width: 20px !important; height: 20px; margin-left: 0 !important;}
.cnt-contatti form .form-check-input:checked {background: var(--red)!important; border: none;}
.cnt-contatti form .form-check-label, .cta form .wpcf7-list-item-label, .wpcf7-list-item-label {font-size: 13px; line-height: 16px; color: var(--white); float: left; width: 97%; margin-left: 2%; margin-top: 10px;}
.cnt-contatti form .wpcf7-list-item {margin-left: 0;}
.cnt-contatti form .wpcf7-list-item label {display: flex;}
.cnt-contatti form .wpcf7-list-item label span.wpcf7-list-item-label {width: 100%; margin-left: 0;}
.wpcf7 form .wpcf7-response-output {margin: 0;}

/** PAGE NEWS **/
.content-news {padding: 5% 0;}
.content-news h6 {margin: 0; font-size: 18px; line-height: 25px; color: var(--black); text-transform: uppercase; font-family: "Playfair Display", serif; position: relative; display: inline-block; padding: 0 20px;}
.content-news h6::before, .content-news h6::after {content: ""; display: inline-block; vertical-align: middle; width: 40px; height: 2px; background: var(--red);}
.content-news h6::before {margin-right: 20px; left: auto;}
.content-news h6::after {margin-left: 20px;}
.content-news .box {margin: 35px 0 0; padding: 15px;}
.content-news .box small {color: var(--darkgrey);}
.content-news .box i {margin-right: 10px; display: inline-block;}
.content-news .box img {border-top-left-radius: 15px; border-bottom-right-radius: 15px;}
.content-news .box iframe, .content-news .box video {max-width: 100%; height: 100%; min-height: 235px;}
.content-news .box h3 {color: var(--red);}
.content-news .box p {font-size: 15px; line-height: 20px;}
.content-news .box a:hover i {transform: rotateX(360deg);}

/** DETTAGLIO NEWS **/
.detail-news {padding: 5% 0;}
.detail-news h1 {color: var(--blue); margin-top: 25px; font-size: 38px; line-height: 48px; font-weight: 600;}
.detail-news h2 {font-size: 32px; line-height: 38px; font-weight: 500;}
.detail-news h3 {margin-top: 15px;}
.detail-news img {border-top-left-radius: 25px; border-bottom-right-radius: 25px;}
.detail-news .nav {margin-top: 35px; display: flex; justify-content: space-between;}
.detail-news .nav a.btn.btn-light {font-size: 13px; font-weight: 300; color: var(--black); background: var(--grey); padding: 5px 15px; transition: all .5s;}
.detail-news .nav a.btn.btn-light:hover {background: var(--grey); color: var(--light); padding: 5px 20px;}
.detail-news .nav a.btn.btn-light:hover i {transform: rotate(360deg);}
.detail-news .nav a.btn.btn-light .fa-angle-left {margin-right: 10px; font-size: 15px;}
.detail-news .nav a.btn.btn-light .fa-angle-right {margin-left: 10px; font-size: 15px;}
.detail-news .nav .left, .detail-news .nav .right {line-height: 40px; width: 50%; display: flex; flex-direction: column;}
.detail-news .nav .left {display: flex; align-items: start;}
.detail-news .nav .right {display: flex; align-items: end;}

.detail-news .widget h4 {font-size: 20px; line-height: 22px;}
.detail-news .widget ul {list-style: none; margin: 10px 0 0; padding: 0; font-size: 15px;}
.detail-news .widget ul li {margin: 10px 0 0;}
.detail-news .widget ul li a {color: var(--black); text-decoration: none;}
.detail-news .widget ul li span {font-size: 13px;}
.detail-news .widget .tag a {margin-bottom: 10px;}
.detail-news .tag {margin-top: 10px;}
.detail-news .tag a {display: inline-block; background: rgba(244,244,244,1); padding: 5px 25px; font-size: 15px !important; line-height: 20px; font-weight: 700; color: var(--black); text-decoration: none; margin: 0 10px 0 0; border-radius: 5px;}
.detail-news .tag a:hover {background: var(--black); color: var(--white);}
.detail-news .widget .tagcloud a {margin-bottom: 10px; font-size: 15px !important;}
.detail-news .tagcloud {margin-top: 30px;}
.detail-news .tagcloud a {display: inline-block; background: rgba(244,244,244,1); padding: 5px 25px; font-size: 15px !important; line-height: 20px; font-weight: 700; color: var(--black); text-decoration: none; margin: 0 10px 0 0; border-radius: 5px;}
.detail-news .tagcloud a:hover {background: var(--black); color: var(--white);}

.detail-news .search form input.form-control {border: none; border-radius: 25px; background: rgba(245,245,245,1); height: 50px; padding: 0 20px; color: var(--dark); width: 90%; position: relative; font-size: 14px;}
.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3), .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {border-top-right-radius: 25px; border-bottom-right-radius: 25px;}
.detail-news form input.btn.btn-md {position: absolute; border-radius: 25px; background: var(--black); width: 50px; height: 50px; right: 0; z-index: 999;}
.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {border-top-left-radius: 25px; border-bottom-left-radius: 25px;}

.menu-item i._before, .rtl .menu-item i._after {margin-right: 0;}
.menu-item i._mi {margin: 0;}