:root {
    --color-primary: #314292;
    --color-lightgrey: #ECEFF1;
    --color-grey: #7E8085;
    --color-red: #FF4227;
    --color-lightpurple: #A2AFEF;
    --color-border: #737FBA;
    --special-font: "PT Serif Caption", serif;
    --letter-03: 0.05em;
}

/* @import url('https://fonts.googleapis.com/css2?family=PT+Serif+Caption:ital@0;1&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap'); */

/* @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=PT+Serif&family=PT+Serif+Caption:ital@0;1&display=swap'); */

* {
	white-space: normal;
    word-wrap: break-word;
    vertical-align: baseline;
    font-weight: inherit;
    font-family: inherit;
    font-style: inherit;
    font-size: 100%;
    border: 0 none;
    outline: 0;
    padding: 0;
    margin: 0;
}

body, html {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    position: relative;
    color: var(--color-primary);
}

/* body.menu-open {
    overflow: hidden;
  } */

/* .special-font {font-family: 'Bebas Neue';} */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, .header, hgroup, menu, nav, section, summary, time, mark, audio, video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
article,aside,details,figcaption,figure, footer,.header,hgroup,menu,nav,section{display:block;}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
    font-family: "Poppins", sans-serif;
    font-weight: 300;
}

input, button, textarea, select, optgroup, option {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	outline-style: none;
    box-shadow: none;
    font-family: "Poppins", sans-serif;
}

/*@purpose To enable resizing for IE */
/*@branch For IE6-Win, IE7-Win */
input, button, textarea, select {
	*font-size: 100%;
}

strong{font-weight:700;}

button:focus {
    outline: none !important;
}

img { max-width: 100%; }

a {
    color: inherit;
}

a:hover {
	color: inherit;
    text-decoration: none;
}

.special-font {
    font-family: var(--special-font);
}

/* ----------------------------------------------------------------------------- */
/* ------------------             CLASSI COSTANTI             ------------------ */
/* ----------------------------------------------------------------------------- */


.nowrap-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.uppercase { text-transform: uppercase; }

a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
    color: var(--color-primary);
    text-decoration: none;
}

.relative {
	position: relative;
}

.background-black { background-color: #000 !important; }
.background-white { background-color: #fff !important; }
.background-lightgrey { background-color: var(--color-lightgrey); }
.background-primary {background-color: var(--color-primary) !important;}

.color-white, .color-white > * { color: #fff !important; }
.color-black { color: #000 !important; }
.color-primary {color: var(--color-primary) !important;}
.color-light {color: var(--color-border) !important;}

.underline { text-decoration: underline !important; }

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

.background-cover-top {
	background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

.background-cover-right {
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}

.background-image--square {
    display: inline-block;
    background-size: cover;
    width: 100%;
    background-position: center;
    position: relative;
    padding-top: 100%;
}

.image-square {
	width: 100%;
	position: relative;
	overflow: hidden;
    height: 0;
    padding-bottom: 84%;
}

/* .image-square:after {
	content: "";
  	display: block;
  	padding-bottom: 100%;
} */

.image-square > img {
	position: absolute;
	top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.ratio_box {
	padding-top: 56.25%;
    position: relative;
}

.swiper {
    width: 100%;
    height: 100%;
}

/* .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
} */

.gallery-top {
    height: 80%;
    width: 100%;
}

.gallery-thumbs {
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0;
}

.gallery-thumbs .swiper-slide {
    width: 20%;
    height: 100%;
    opacity: 0.7;
}

.gallery-thumbs .swiper-slide-active {
    opacity: 1;
}

.bold {
    font-weight: 800 !important;
}

.light {
	font-weight: 300;
}

.medium {
	font-weight: 500;
}

.semibold {
    font-weight: 600;
}

.italic, em {
	font-style: italic;
}

.overflow {
    overflow: hidden;
}

.wrapperVideo {
    display: inline-block;
    padding: 0;
    margin: 0;
    width: 100%;
    padding-top: 56.25%;
    height: 0px;
    position: relative;
    margin-bottom: -6px;
}

.wrapperVideo > iframe, .wrapperVideo > video {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
}

/* .head-home .wrapperVideo > video {
    top: -100px;
} */

.thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.fancybox-overlay {
    background-color: rgba(0,0,0,0.7);
}

.fancybox-skin {
    background: transparent !important;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    padding: 0px !important;
}

/* clear fix */

.grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ui group */

.ui-group {
  display: inline-block;
}

/* ----------------------------------------------------------------------------- */
/* ------------------                 MODAL POPUP             ------------------ */
/* ----------------------------------------------------------------------------- */

/*top*/

.modal.top {
    padding-right: 0 !important;
}

.modal-top {
    max-width: 100%;
    margin: 0px auto;
    border: 0px;
    border-radius: 0px;
    padding: 0;
    width: 100%;
}

.top .modal-content {
    border-radius: 0px;
}

.modal.left .modal-dialog,
.modal.right .modal-dialog {
	position: fixed;
	margin: auto;
	width: 320px;
	height: 100%;
	-webkit-transform: translate3d(0%, 0, 0);
	-ms-transform: translate3d(0%, 0, 0);
	-o-transform: translate3d(0%, 0, 0);
	transform: translate3d(0%, 0, 0);
}

.modal.left .modal-content,
.modal.right .modal-content {
	height: 100%;
	overflow-y: auto;
}
	
.modal.left .modal-body,
.modal.right .modal-body {
	padding: 15px 15px 80px;
}

/*Left*/

.modal.left.fade .modal-dialog{
	left: -320px;
	-webkit-transition: opacity 0.3s linear, left 0.3s ease-out;
	   -moz-transition: opacity 0.3s linear, left 0.3s ease-out;
	     -o-transition: opacity 0.3s linear, left 0.3s ease-out;
	        transition: opacity 0.3s linear, left 0.3s ease-out;
}

.modal.left.fade.show .modal-dialog{
	left: 0;
}
        
/*Right*/

.modal.right.fade .modal-dialog {
	right: -320px;
	-webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
	   -moz-transition: opacity 0.3s linear, right 0.3s ease-out;
	     -o-transition: opacity 0.3s linear, right 0.3s ease-out;
	        transition: opacity 0.3s linear, right 0.3s ease-out;
}

.modal.right.fade.show .modal-dialog {
	right: 0;
}

/* ----------------------------------------------------------------------------- */
/* ------------------        CLASSI BOOTSTRAP MODIFICATE      ------------------ */
/* ----------------------------------------------------------------------------- */

/*
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px
*/

.btn,
.dropdown-menu, 
.no__border-radius {
    border-radius: 0px !important;
    -webkit-appearance: none;
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {   
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 0px 0px rgba(0, 0, 0, 0) inset, 0 0 8px rgba(255, 255, 255, 0.1);
  outline: 0 none;
}

.btn.focus, .btn:focus {
    outline: 0;
    box-shadow: 0 0 0 0 rgba(255,255,255,0) !important;
}

button {
    background-color: transparent;
}

.btn-scroll, .pointer {
	cursor: pointer;
}

a:not([href]) {
    /*color: inherit !important;*/
    text-decoration: none;
}

/* ----------------------------------------------------------------------------- */
/* ------------------                CLASSI FORM              ------------------ */
/* ----------------------------------------------------------------------------- */

.wpcf7-form {
    -ms-flex-wrap: wrap!important;
    flex-wrap: wrap!important;
    display: -ms-flexbox!important;
    display: flex!important;
}

.form label {
    width: 100%;
    margin-bottom: 5px;
    margin-top: 5px;
}

.form input {
    width: 100%;
    background-color: #fff;
    border:1px solid var(--color-lightpurple);
    padding: 10px 15px;
    border-radius: 10px !important;
    -webkit-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
    -ms-border-radius: 10px !important;
    -o-border-radius: 10px !important;
    /* color: #fff; */
    font-size: 16px;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 5px;
}

.form textarea {
    margin: 5px 0px;
    border:1px solid var(--color-lightpurple);
    padding: 10px 15px;
    border-radius: 10px !important;
    resize: none;
    margin-bottom: 15px;
    font-size: 16px;
    color: #000;
    width: 100%;
}

.form .check, .form .check a {
    font-size: 14px;
    /* margin-top: 10px; */
}

.form .radio {
    display:flex;
    align-items: center;
    font-size: 14px;
}

.form input[type="checkbox"],
.form input[type="radio"] {
    width: 15px;
    height: 15px;
    margin-right: 10px;
}

.form .wpcf7-list-item-label {
	margin-right: 10px;
}

.form input[type="submit"] {
    background-color: var(--color-primary);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: var(--letter-03);
    border: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    width: auto;
    padding: 10px 50px;
    font-weight: 500;
    /* float: right; */
    margin-left: auto;
    margin-right: 0;
    display: flex;
}

.btn_form {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    color: #fff;
    padding: 8px 40px;
    text-transform: uppercase;
    display: inline-block;
    background-color: var(--color-primary);
    font-weight: 600;
    letter-spacing: var(--letter-03);
    position: relative;
}

.form select {
    width: 100%;
    background-color: #fff;
    border:1px solid var(--color-lightpurple);
    padding: 10px 15px;
    border-radius: 10px !important;
    -webkit-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
    -ms-border-radius: 10px !important;
    -o-border-radius: 10px !important;
    /* color: #fff; */
    font-size: 16px;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 10px;

}

/* .wpcf7-form textarea {
    padding: 10px;
    margin: 5px 0px;
    border-radius: 0 !important;
    resize: none;
    margin-bottom: 15px;
    font-size: 16px;
    color: #000;
}

.wpcf7-form select {
    width: 100%;
    background-color: transparent;
    border: 2px solid #000;
    height: 40px;
    padding: 0px 10px;
    -webkit-appearance:none;
    font-size: 16px;
    color: #000;

}

.wpcf7-form .col-check {
    margin-top: 30px;
}

.wpcf7-form .col-check .wpcf7-list-item label {
    margin-top: 0px;
    margin-bottom: 0px;
}
*/

::-webkit-input-placeholder { /* Edge */
    color: var(--color-primary);
    font-weight: 500;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: var(--color-primary);
    font-weight: 500;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: var(--color-primary);
    font-weight: 500;
    opacity: 1;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: var(--color-primary);
    font-weight: 500;
    opacity: 1;
}

/* .wpcf7-form .check {
    margin: 10px 0px;
    text-align: left;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0px !important;
}

.wpcf7-form .check label {
    margin-top: 5px;
    margin-bottom: 5px;
} 

.wpcf7-form input[type="submit"] {
    text-align: center;
    padding: 0px 0px;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    display: block;
    z-index: 10;
    transition: all 100ms linear;
    border:0px !important;
    border-radius: 0px !important;
    color: var(--color-primary);
    background-color: #fff;
    margin: 40px auto 0px;
    height: auto;
    text-decoration: underline;
    text-transform: uppercase;
}

.wpcf7-form input[type="submit"]:hover {
    color: #fff;
    background-color: #a0bcc0;
    text-decoration: none;
}

.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 12px;
    display: grid;
    position: absolute;
    width: 100%;
    right: 0;
    text-align: right;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0px 0px 35px;
    padding: 0.2em 1em;
    border: 0;
    text-align: center;
    width: 100%;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #237ae4;
    font-weight: 500;
}

.wpcf7-form .btn-group-submit {
    border: 1px solid #222222;
        width: 200px;
    margin: auto;
}
*/

#success_nl {
    font-size: 20px;
    text-align: center;
}

.wpcf7-spinner {
    position: absolute;
    top: 0;
}

.wpcf7 form .wpcf7-response-output {
    border: 0px;
    text-align: center;
    width: 100%;
    text-transform: uppercase;
    font-weight: 500;
    margin: 0;
    padding: 0;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: #dc3232;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0px;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
}

@media(max-width: 567px){
    .wpcf7-form label {
        font-size: 13px;
    }

    .form input {
        font-size: 14px;
    }

    .form input[type="submit"] {
        margin-left: 0px;
        margin-right: 0px;
        width: 100%;
    }
}


/* ----------------------------------------------------------------------------- */
/* ------------------             CLASSI VARIABILI            ------------------ */
/* ----------------------------------------------------------------------------- */

body > * {
	
}

.font-text--primary, p, a, li {
	font-size: 16px;	
}

.fz24 {
    font-size: 24px;
}

.fz18, .fz18 > p, .fz18 > a {
    font-size: 18px;
}

.h2 {
	font-size: 50px;
}

.fz40 {
	font-size: 40px;
}

.fz14, .fz14 a, .fz14 p {
    font-size: 14px !important;
}

button, .whatsapp_btn {
	cursor: pointer;
}

@media(max-width: 567px){
	.fz18, .fz18 > p {
    	font-size: 16px;
	}
	
	/* .font-text--primary, p, a, li {
    	font-size: 14px;
	} */

	.fz40 {
    	font-size: 26px;
	}
}

@media(max-width: 420px){
    .fz40 {
        font-size: 24px;
    }
}

.overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0,0,0,.5);
}

.overlay-before:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0,0,0,.5);
    z-index: 10;
}

.zIndex10 {
    position: relative;
    z-index: 100;
}

@media(max-width: 767px){
	.fz24 {
    	font-size: 20px;
	}
}

@media(max-width: 567px){
	.fz24 {
    	font-size: 18px;
	}
}

/* */
.container-custom,
.container-nav {
    width: 94%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media(max-width:991px){
    .container,
    ..container-custom,
    .container-nav {
        width: 88%;
        max-width: 88%;
    }
}

@media(max-width:767px){
    .container-custom, .container,
    ..container-custom,
    .container-nav {
        width: 100%;
        max-width: 100%;
    }
}

/* general */
h2 {
    font-size: 50px;
}

h3 {
    font-size: 26px;
}

.fz20, .fz20 p, .fz20 li {
    font-size: 20px;
}

.btn_rounded {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    color: #fff;
    padding: 10px 20px;
    display: inline-block;
    background-color: var(--color-primary);
    font-weight: 600;
    letter-spacing: var(--letter-03);
    position: relative;
}

.btn_rounded:hover {
    color: #fff !important;
    opacity: 0.8;
}

.btn_rounded.red {
    background-color: var(--color-red);
}

.btn_rounded.grey {
    background-color: var(--color-grey);
}

/* .btn_rounded.arrow, 
.tab_tipologia .btn_rounded {
    padding-right: 30px;
} */

.btn_rounded.arrow:after, 
.tab_tipologia .btn_rounded:after,
.tab_central .btn_rounded:after {
    content: "";
    background-image: url('../images/arrow_wh.svg');
    background-position: center;
    background-size: contain;
    width: 25px;
    height: 25px;
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
}

.btn_arrow,
.btn_border {
    font-weight: 600;
    letter-spacing: var(--letter-03);
    position: relative;
    text-transform: uppercase;
    padding: 10px 30px 10px 0px;
}

.btn_arrow.reverse {
    padding: 10px 0px 10px 30px;
}

.btn_border {
    border: 2px solid var(--color-primary);
    padding: 8px 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.btn_border.carta_servizi {
    margin-right: 10px;
    padding: 5px 30px;
}

footer .btn_border {
    padding: 15px 25px;
    font-size: 14px;
}

.btn_border.carta_servizi:hover img {
    filter: grayscale(2);
    -webkit-filter: grayscale(2);
}

.btn_arrow:after {
    content: "";
    background-image: url('../images/arrow.svg');
    background-position: center;
    background-size: contain;
    width: 15px;
    height: 15px;
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 3px;
    transition: all 200ms ease-in-out;
}


.btn_arrow.reverse:after {
    left: 0px;
    right: auto;
}

.btn_border:after {
    content: "";
    background-image: url('../images/arrow.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
    display: block;
    /*
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    */
    margin-left: 15px;
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
}

.btn_border.light {
    border: 2px solid var(--color-lightpurple);
}

.btn_arrow.light:after,
.btn_border.light:after {
    background-image: url('../images/arrow-light.svg');
}

.btn_arrow:not(.reverse):not(.btn-scroll):hover::after {
    right: 0px;
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
}

.btn_border:hover::after {
    transform: translate(5px, 0px);
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
}

.btn_tab.white:after {
    background-image: url('../images/arrow-double_wh.svg');
}

.btn_tab.btn-scroll:after {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.sec_chisiamo .btn_tab {
    display: block;
    padding: 12px 0px;
    border-top: 1px solid var(--color-border);
}

.sec_chisiamo .btn_tab:last-of-type {
    border-bottom: 1px solid var(--color-border);
}

.tab_tipologia .btn_rounded:after,
.tab_central .btn_rounded:after{
    width: 30px;
    height: 30px;
}

.ml15 {
    margin-left: 15px;
}

.mr15 {
    margin-right: 15px;
}

.borderRounded {
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
}

.border-bottom {
    border-bottom: 2px solid var(--color-lightpurple) !important;
} 

.border-top {
    border-top: 2px solid var(--color-lightpurple) !important;
} 

.filtri_modulistica .col_form-filter {
    background-color: #ECEFF1;
    padding: 20px 30px;
    border-bottom-left-radius: 15px;
    min-width: 50%;
}

.filtri_servizi .col_form-filter {
    background-color: #ECEFF1;
    padding: 20px 30px;
    border-bottom-left-radius: 15px;
    min-width: 40%;
}

.filtri_modulistica .padd_filter,
.filtri_servizi .padd_filter {
    padding: 20px 30px;
}

.filtri_modulistica .min_width, .filtri_servizi .min_width {
    min-width: 40%;
}

.single-servizi .filtri_servizi .min_width,
.single-servizi-imprese .filtri_servizi .min_width {
    min-width: 60%;
}

.filtri_modulistica .padd_filter p,
.filtri_servizi .padd_filter p {
    font-size: 14px;
}

.open_filter_mb {
    width: 100%;
    padding: 10px 20px 6px;
    text-align: center;
    display: none;
}

.open_filter_mb button {
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    color: var(--color-border);
}

.open_filter_mb button:before {
    content: "";
    background-image: url('../images/arrow-light.svg');
    background-size: contain;
    width: 15px;
    height: 20px;
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: 0px;
    right: -24px;
    bottom: 0;
    margin: auto;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.open_filter_mb.active button:before {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
}

@media(max-width:767px){
    .px_md-hide {
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .btn_rounded {
        padding: 10px 12px;
        font-size: 16px;
    }

    .tab_tipologia .btn_rounded:after,
    .tab_central .btn_rounded:after {
        width: 20px;
        height: 20px;
    }
}

@media(max-width:576px){
    .btn_border {
        padding: 8px 25px;
        font-size: 14px;
    }

    .btn_border.fz20 {
        padding: 8px 25px;
        font-size: 14px;
    }

    .fz20, .fz20 p, .fz20 li {
        font-size: 18px;
    }

    h3 {
        font-size: 22px;
    }
}

/* nav */
header {
    position: absolute;
    top: 0px;
    width: 100%;
    left: 0;
    z-index: 9999;
    height: 80px;
}

.navbar {
    padding: 20px 0px;
}

.navbar .navbar-brand {
    width: 150px;
    flex: 0 0 150px;
    margin-right: 0;
    z-index: 900;
}

.navbar .navbar-collapse {
    padding-left: 15px;
    padding-right: 0px;
    align-items: center;
    justify-content: end;
}

.navbar .navbar-collapse .nav-item {
    padding: 0px 10px;
    border-right: 1px solid var(--color-red);
}

.navbar .navbar-collapse .nav-item:last-of-type {
    border-right: 0px;
    padding-right: 0px;
}

.navbar .navbar-collapse .nav-link {
    font-weight: 600;
    color: var(--color-primary);
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: var(--letter-03);
    padding: 0 10px;
}

.navbar .navbar-collapse .dropdown-item {
    font-weight: 600;
    color: var(--color-primary);
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: var(--letter-03);
    padding: 10px 0px;
    border-bottom: 1px solid var(--color-primary);
    white-space: break-spaces;
}

.navbar .navbar-collapse .dropdown-item:last-of-type {
    border-bottom: 0px;
}

.navbar .navbar-collapse .nav-link:hover {
    color: var(--color-red);
}

.navbar .navbar-collapse .dropdown-menu {
    border-radius: 10px !important;
    -webkit-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
    -ms-border-radius: 10px !important;
    -o-border-radius: 10px !important;
    box-shadow: 0px 0px 15px -5px rgb(0.0,0, 0.5);
    padding: 10px 15px;
    border: 0px;
    margin-top: 20px;
    min-width: 100%;
    letter-spacing: var(--letter-03);
}

.navbar .navbar-collapse .nav-link.dropdown-toggle[aria-expanded="true"]:after {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.navbar .navbar-collapse .nav-link.dropdown-toggle::after {
    border: 0px !important;
    background-image: url('../images/arrow.svg');
    background-size: contain;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    margin: 0px 0px 0px 10px;
    vertical-align: middle;
}

.navbar .navbar-toggler {
    width: 30px;
    height: 30px;
    margin: 15px 0px 15px auto;
    padding: 0;
    z-index: 900;
}

.navbar .navbar-toggler span {
    height: 2px;
    width: auto;
    display: block;
    margin: 5px 0px;
    background-color: var(--color-primary);
    transition: all 300ms ease-in-out;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
}

.navbar .navbar-toggler[aria-expanded="true"] span.first {
    transform: rotate(45deg) translate(0px, 5px);
    -webkit-transform: rotate(45deg) translate(0px, 5px);
    -moz-transform: rotate(45deg) translate(0px, 5px);
    -ms-transform: rotate(45deg) translate(0px, 5px);
    -o-transform: rotate(45deg) translate(0px, 5px);
}

.navbar .navbar-toggler[aria-expanded="true"] span.hide {
    display: none;
}

.navbar .navbar-toggler[aria-expanded="true"] span.second {
    transform: rotate(-45deg) translate(0px, -5px);
    -webkit-transform: rotate(-45deg) translate(0px, -5px);
    -moz-transform: rotate(-45deg) translate(0px, -5px);
    -ms-transform: rotate(-45deg) translate(0px, -5px);
    -o-transform: rotate(-45deg) translate(0px, -5px);
}

.dropdown-item:focus, .dropdown-item:hover {
    background-color: transparent !important;
}

.menu-open {
    /* position: fixed !important;
    top: 0px !important;
    left: 0px !important; */
    overflow: hidden;
}

@media(max-width:1500px){
    .navbar .navbar-collapse .nav-link {
        font-size: 14px;
    }
}

/*navmb */
@media(max-width:1400px){
    .navbar .navbar-collapse .nav-link {
        padding: 0px 5px;
    }

    .navbar .navbar-brand {
        width: 120px;
        flex: 0 0 120px;
    }
}

@media(max-width:1300px){
    .navbar .navbar-collapse .nav-link,
    .navbar .navbar-collapse .dropdown-item {
        font-size: 13px;
    }
}

/* nav dropdown */
/* (max-width:1201px){ */
@media(max-width:1199px){
    .navbar {
        padding: 0px 0px;
        width: 100%;
        /* height: 80px; */
        position: fixed;
        top: 0px;
        left: 0px;
    }

    .fixedSmall {
        background-color: #fff;
    }

    .navbar .navbar-brand {
        padding: 25px 0px;
    }

    .navbar .navbar-toggler {
        margin: 15px 10px 15px auto;
    }

    .navbar .navbar-collapse .nav-link,
    .navbar .navbar-collapse .dropdown-item {
        font-size: 18px;
    }

    .navbar .navbar-collapse .nav-item {
        padding: 15px 0px;
        border-right: 0px;
        border-bottom: 1px solid var(--color-lightpurple);
    }

    .navbar .navbar-collapse {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 100px;
        padding-bottom: 100px;
        width: 100%;
        height: 100%;
        min-height: 100vh;
        overflow-y: scroll;

        position: absolute;
        top: 0px;
        left: 0;
        right: 0;
        /* margin-top: 15px; */
        /* min-height: calc(100vh - 100px); */
        background-color: #fff;
    }

    .navbar .navbar-collapse .navbar-nav {
        width: 94%;
        margin: auto;
    }

    .navbar .navbar-collapse .nav-link {
        padding: 0px 0px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .navbar .navbar-collapse .dropdown-menu {
        border-radius: 0px !important;
        box-shadow: 0px 0px rgb(0.0, 0, 0);
        padding: 10px 0px;
        border: 0px;
        /* margin-top: 0px; */
        -webkit-border-radius: 0px !important;
        -moz-border-radius: 0px !important;
        -ms-border-radius: 0px !important;
        -o-border-radius: 0px !important;
    }

    .navbar .navbar-collapse .dropdown-item {
        font-size: 14px;
        border-bottom: 1px solid var(--color-lightpurple);
        font-weight: 400;
    }

    .navbar .navbar-collapse .nav-link.dropdown-toggle::after {
        width: 22px;
        height: 22px;
    }
}

@media(max-width:576px){}

/* head */

.head {
    background-position: center;
    background-size: cover;
    width: 100%;
    height: auto;
    min-height: 60vh;
    padding-top: 120px;
    padding-bottom: 80px;
}

.head.head_hm h1 {
    font-style: italic;
    font-size: 46px;
    font-family: var(--special-font);
}

.head.head_hm .head_tit {
    padding: 20px;
    /* width: 92%;
    margin: auto; */
    position: relative;
    margin-top: 50px;
}

.head.head_hm .head_tit:before {
    content: "";
    background-image: url(../images/quote.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 100px;
    height: 100px;
    left: -30px;
}

.head.head_hm .head_tit:after {
    content: "";
    background-image: url(../images/quote.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 60px;
    height: 60px;
    right: 0px;
    bottom: 0;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

.single-servizi .head,
.single-servizi-imprese .head {
    position: relative;
}

.single-servizi .head:after,
.single-servizi-imprese .head:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.2);

    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}

.single-servizi .head:before,
.single-servizi-imprese .head:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.2);

    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 60%);
}

.single-servizi .head .container-custom,
.single-servizi-imprese .head .container-custom {
    z-index: 900;
}

.search-products-wrapper {
    position: relative;
    z-index: 10;
}

.search-wrapper .search-icon {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translate(0px, -50%);
    -webkit-transform: translate(0px, -50%);
    -moz-transform: translate(0px, -50%);
    -ms-transform: translate(0px, -50%);
    -o-transform: translate(0px, -50%);
    width: 50px;
    height: 50px;
    background-color: var(--color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

.search-wrapper .search-nav {
    background-color: #fff;
    /* border: 1px solid #fff; */
    padding: 10px 15px;
    width: 100%;
    height: 50px;
    border-radius: 30px;
    box-shadow: 0px 0px 15px -5px rgb(0.0,0, 0.5);
    font-size: 16px;
    color: var(--color-primary);
}

@media(max-width:1300px){
    .head.head_hm h1 {
        font-size: 40px;
    }
}

@media(max-width:1024px){
    .head {
        min-height: auto;
        padding-top: 150px;
    }
}

@media(max-width:767px){
    .head_simple {
        min-height: 40vh;
    }

    .head.head_hm h1 {
        font-size: 30px;
    }

    .head.head_hm .head_tit:before {
        width: 80px;
        height: 80px;
        left: -15px;
    }

    .head.head_hm .head_tit:after {
        width: 40px;
        height: 40px;
    }

    .search-wrapper .search-nav {
        height: 40px;
    }

    .search-wrapper .search-icon {
        width: 40px;
        height: 40px;
        padding: 12px;
    }

    .head {
        padding-bottom: 40px;
    }
}

@media(max-width:576px){
    .head {
        padding-bottom: 60px;
        min-height: auto;
    }

    /* .search-wrapper .search-nav {
        font-size: 12px;
    } */

    .box_servizio .btn_arrow {
        align-self: flex-start !important;
    }
}

/**/

.nav-tabs {
    border-bottom: 0px !important;
}

/* .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    border: 0px !important;
} */

.nav-tabs .nav-item {
    margin-bottom: 0px !important;
}

.tab_tipologia {
    background-color: #fff;
    box-shadow: 0px 0px 15px -5px rgb(0.0,0, 0.5);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    margin-top: -70px;
    overflow: hidden;
}

.tab_tipologia.notop {
     margin-top: 0px;
}

.tab_tipologia--imprese {
    margin-top: -70px;
    overflow: hidden;
    margin-bottom: 30px;
}

.nav_tipologia {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    height: 70px;
    align-items: center;
    justify-content: space-around;
}

.col_tab {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
}

.tab_orari {
    background-color: var(--color-lightgrey);
    margin-top: 0;
    transform: translate(0px, -50%);
    -webkit-transform: translate(0px, -50%);
    -moz-transform: translate(0px, -50%);
    -ms-transform: translate(0px, -50%);
    -o-transform: translate(0px, -50%);
}

.tab_central {
    background-color: #fff;
    box-shadow: 0px 0px 15px -5px rgb(0.0,0, 0.5);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    overflow: hidden;
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    -o-transform: translate(0%, -50%);
}

.nav_tipologia .nav-item {
    width: 50%;
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.nav_orari .nav-item {
    width: 33.333%;
    flex: 0 0 33.333%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.nav_tipologia .nav-link {
    /*margin-bottom: -1px;
    background: 0 0;
    border: 1px solid transparent;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
    */text-transform: uppercase;
    font-weight: 700;
    font-size: 18px;
    color: var(--color-primary);
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #e1e1e1;
    justify-content: center;
}

.nav_tipologia .nav-link.active {
    background-color: #fff;
}

.nav_tipologia:not(.nav_orari) .nav-link:not(.active){
    border-radius: 0px 0px 0px 10px;
    -webkit-border-radius: 0px 0px 0px 10px;
    -moz-border-radius: 0px 0px 0px 10px;
    -ms-border-radius: 0px 0px 0px 10px;
    -o-border-radius: 0px 0px 0px 10px;
    opacity: 0.6;
}

.nav_orari .nav-item .nav-link {
    border-radius: 0px 0px 0px 0px !important;
    -webkit-border-radius: 0px 0px 0px 0px !important;
    -moz-border-radius: 0px 0px 0px 0px !important;
    -ms-border-radius: 0px 0px 0px 0px !important;
    -o-border-radius: 0px 0px 0px 0px !important;
    position: relative;
    border-color: transparent;
}

.nav_orari .nav-item:not(:last-of-type) .nav-link:before {
    content: "";
    width: 2px;
    height: 70%;
    position: absolute;
    right: -2px;
    top: 0px;
    bottom: 0px;
    margin: auto;
    background-color: var(--color-lightpurple);
    /* border-right: 2px solid var(--color-lightpurple); */
    z-index: 99;
}

.nav_tipologia [data-page="persona"] .nav-link:not(.active){
    border-radius: 0px 0px 10px 0px;
    -webkit-border-radius: 0px 0px 10px 0px;
    -moz-border-radius: 0px 0px 10px 0px;
    -ms-border-radius: 0px 0px 10px 0px;
    -o-border-radius: 0px 0px 10px 0px;
    opacity: 0.6;
}


.nav_tipologia .nav-link img {
    height: 40px;
    margin-right: 15px;
}

.nav_orari .nav-link img {
    height: 40px;
    margin-right: 0;
}

.tab_tipologia .group_btn,
.tab_central .group_btn {
    padding: 5px 10px;
}

.filtri_servizi .group_btn a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.tab_central .tit_tab {
    font-size: 16px;
    font-weight: 600;
    margin-right: 15px;
    margin-left: 15px;
}

.tab_tipologia .group_btn a,
.tab_central .group_btn a {
    margin: 5px 5px;
    width: 33.33%;
    max-width: 33.33%;
    font-size: 22px;
    line-height: 24px;
}

.card {
    border: 0px;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
}

.card-header:first-child {
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
}

.card-header {
    padding: 20px 0px;
    margin-bottom: 0;
    background-color: transparent;
    border-bottom: 1px solid var(--color-lightpurple);
}

.card .btn_accordion {
    color: var(--color-primary);
    letter-spacing: var(--letter-03);
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
}

.card-title {
    margin-bottom: 0px;
}

.card.card-title .tit {
    color: var(--color-primary);
    letter-spacing: var(--letter-03);
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
}

.card .btn_accordion:after {
    content: "";
    background-image: url('../images/arrow_dx-blu.svg');
    background-size: contain;
    width: 20px;
    height: 20px;
    display: block;
    background-repeat: no-repeat;
    margin-left: 20px;
}

.card .btn_accordion[aria-expanded="true"]:after {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.card-body {
    padding: 15px 0px 30px;
    color: #000;
}

.sticky_filter {
    position: sticky;
    top: 100px;
    z-index: 999;
}

@media(max-width:1024px){
    .sticky_filter {
        top: 145px;
    }
}

/* @media(max-width:567px){
    .sticky_filter {
        top: 130px;
        z-index: 99999
    }
} */

@media(max-width:1024px){
    .tab_tipologia .group_btn a,
    .tab_central .group_btn a {
        font-size: 18px;
        line-height: 20px;
    }

    .col_tab {
        width: 70%;
        max-width: 70%;
        flex: 0 0 70%;
    }
}

@media(max-width:767px){

    .col_tab {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .tab_tipologia:not(.tab_orari):not(.filter_mb), .tab_tipologia--imprese {
        margin-top: 0px;
        box-shadow: none;
    }

    .tab_tipologia .group_btn,
    .tab_central .group_btn {
        padding: 5px 25px;
    }

    .tab_tipologia .group_btn a,
    .tab_central .group_btn a {
        font-size: 16px;
        line-height: 18px;
    }

    .nav_tipologia {
        height: auto;
    }

    .nav_tipologia .nav-link {
        font-size: 16px;
        height: auto;
        flex-direction: column;
        padding: 20px 0px;
    }

    .nav_tipologia:not(.nav_orari) .nav-link img {
        height: 45px;
        margin-right: 0;
        margin-bottom: 10px;
    }
}

@media(max-width:576px){
    #tabSpecialisti .group_btn .tit_tab {
        display: none;
    }

    #tabSpecialisti .group_btn a {
        width: 50%;
        max-width: 50%;
    }

    .nav_orari .nav-link img {
        height: 22px;
    }

    .card .btn_accordion, .card.card-title .tit {
        font-size: 16px;
    }

    .tab_tipologia .group_btn a,
    .tab_central .group_btn a {
        font-size: 14px;
        line-height: 16px;
    }

    .tab_tipologia .group_btn a:after {
        display: none;
    }
}

.tit_row {
    color: var(--color-primary);
    font-weight: 700;
    font-size: 48px;
}

.tit_row.small {
    font-size: 34px;
}

.special_tit {
    color: var(--color-primary);
    font-weight: 700;
}

.tit {
    color: var(--color-primary);
    font-weight: 700;
    letter-spacing: var(--letter-03);
}

footer .tit_row {
    font-size: 16px;
    /* text-transform: uppercase; */
    font-weight: 700;
    color: #fff;
}

.arrow_foot-tit {
    display: none;
}

.tit_row:after {
    content: "";
    background-image: url('../images/line_tit.svg');
    background-position: center;
    background-size: contain;
    width: 40px;
    height: 10px;
    margin-top: 8px;
    display: block;
    background-repeat: no-repeat;
}

.tit_row.color-white:after {
    background-image: url('../images/line_tit-wh.svg');
}

.sec_prenota .tit_row {
    font-size: 56px;
    max-width: 70%;
}

/* .sec_prenota .col_abs {
    transform: translate(0px, -80px);
    -webkit-transform: translate(0px, -80px);
    -moz-transform: translate(0px, -80px);
    -ms-transform: translate(0px, -80px);
    -o-transform: translate(0px, -80px);
} */

.sec_prenota .img_prenota {
    transform: translate(0px, -20%);
    -webkit-transform: translate(0px, -20%);
    -moz-transform: translate(0px, -20%);
    -ms-transform: translate(0px, -20%);
    -o-transform: translate(0px, -20%);
    max-width: 88%;
    margin: auto;
    display: block;
}

/* .box_prenota .tit_row {
    font-size: 40px;
} */

.servizi-home .row_filtri .btn_filter {
    margin-left: 0px;
    margin-right: 20px;
}

.row_filtri .btn_filter {
    color: var(--color-primary);
    font-weight: 700;
    font-size: 16px;
    letter-spacing: var(--letter-03);
    text-transform: uppercase;
    margin-left: 15px;
    margin-right: 15px;
}

.content_carouselServizi {
    padding-right: 0px;
    padding-left: 0px;
}

#carouselServiziHm {
    padding-left: 3%;
    padding-right: 15%;
    width: 100%;
    height: 100%;
}

.swiper-wrapper {
    height: auto;
}

.carouselServizi .swiper-slide {
    width: 23%;
    max-width: 23%;
    flex: 0 0 23%;
    padding: 0px 15px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

/* .swiper-slide:last-child {
    margin-right: 23%;
} */

.carouselServizi .box_servizio,
.row_servizi .box_servizio {
    border: 2px solid var(--color-lightgrey);
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    overflow: hidden;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.col_news .box_news {
    border: 2px solid var(--color-border);
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    overflow: hidden;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.btn_navigation-news {
    display: none !important;
}

.carouselServizi .box_servizio .image,
.row_servizi .box_servizio .image {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 80%;
    height: 0;
}

.col_news .box_news .image {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 56%;
    height: 0;
}

.col_news .date,
.box_news .date {
    position: absolute;
    top: 20px;
    left: 0px;
    background-color: var(--color-border);
    color: #fff;
    z-index: 10;
    padding: 3px 10px;
    border-radius: 0px 5px 5px 0px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 14px;
}

.carouselServizi .box_servizio .image .img,
.row_servizi .box_servizio .image .img,
.col_news .box_news .image .img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.carouselServizi .box_servizio .logo,
.row_servizi .box_servizio .logo {
    align-self: flex-start;
}

.carouselServizi .box_servizio a:hover .image,
.row_servizi .box_servizio a:hover .image {
    filter: grayscale(1);
    -webkit-filter: grayscale(1);
}

.carouselServizi .box_servizio .text,
.row_servizi .box_servizio .text {
    padding: 15px;
    display: flex;
    flex-direction: column;
    height: 100%;
    /* margin-top: auto; */
}

.col_news .box_news .text {
    padding: 15px 30px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.carouselServizi .box_servizio .text .tit,
.col_news .box_news .text .tit,
.row_servizi .box_servizio .text .tit {
    letter-spacing: var(--letter-03);
    font-weight: 700;
    text-transform: uppercase;
}

.btn-navigation {
    cursor: pointer;
    padding: 0px 8px;
    display: flex;
    align-items: center;
}

.btn-navigation img {
    width: 15px;
}

.swiper-custom-prev img {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

.swiper-button-disabled {
    opacity: 0.4;
}

.content_carouselServizi:after {
    content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    width: 15%;
    height: calc(100% - 1rem);
    z-index: 10;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 100%);
}

.swiper-scrollbar {
    position: static !important;
    height: 8px;
    width: 100%;
    margin-top: 25px;
    background: rgba(115,127,186,0.4);
}

.swiper-scrollbar-drag {
    background: var(--color-lightpurple) !important;
}

.abs_newsletter {
    position: absolute;
    bottom: 5px;
    /* top: 0px; */
    width: 98%;
    filter: brightness(10);
    opacity: 0.6;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-filter: brightness(10);
}

.box_prenota .abs_newsletter {
    width: 60%;
    left: auto;
    right: 10px;
}

#newsletter_registrazione .form-error {
	color: #f00;
    font-size:12px;
}

#newsletter_registrazione_success {
	font-weight: bold;
	color: #314292;
	border: 1px solid #314292;
	padding: 5px !important;
	border-radius: 10px;
}

/*footer*/
footer .group_btn {
    width: 70%;
}

footer .border_foot {
    border-bottom: 1px solid var(--color-border);
}

footer .borderTop_foot {
    border-top: 1px solid var(--color-border);
}

footer .foot_logo img {
    filter: brightness(10);
    -webkit-filter: brightness(10);
}

footer .footer-content p {
    font-size: 14px;
}

footer .footer-content ul li a {
    font-size: 14px;
    padding: 6px 10px 6px 20px;
    display: block;
    position: relative;
}

footer .footer-content ul li a:before {
    content: "";
    background-image: url('../images/arrow_dx-blu.svg');
    background-position: center;
    background-size: contain;
    width: 12px;
    height: 12px;
    display: block;
    background-repeat: no-repeat;
    margin: auto;
    position: absolute;
    filter: brightness(10);
    opacity: 0.3;
    left: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    -webkit-filter: brightness(10);
}

.section_newsletter .tit_row {
    width: 75%;
    max-width: 75%;
}

@media(max-width:1400px){
    .carouselServizi .swiper-slide {
        width: 40%;
        max-width: 40%;
        flex: 0 0 40%;
    }
}

@media(max-width:1200px){
    .section_newsletter .tit_row {
        font-size: 40px;
    }

    footer .group_btn {
        width: 90%;
    }

    .tit_row {
        font-size: 44px;
    }
}

@media(max-width:991px){
    /* .abs_newsletter {
        display: none;
    } */

    footer .group_btn {
        width: 100%;
        margin-bottom: 2rem!important ;
    }

    .section_newsletter .tit_row {
        width: 100%;
        max-width: 100%;
    }

    .sec_prenota .tit_row {
        font-size: 50px;
    }
}

@media(max-width:768px){
    .carouselServizi .swiper-slide {
        width: 60%;
        max-width: 60%;
        flex: 0 0 60%;
    }

    .tit_row {
        font-size: 42px;
    }

    .btn-navigation img {
        width: 10px;
    }

    .row_filtri {
        flex-wrap: wrap;
    }

    .row_filtri .btn_filter {
        font-size: 16px;
        margin-left: 10px;
        margin-right: 10px;
    }

    .row_filtri .mr15 {
        margin-right: 10px;
    }

    .row_filtri .btn_navigation-carousel {
        margin-top: 20px;
    }

    .btn_navigation-news {
        display: flex !important;
        margin-top: 20px;
    }

    .footer-title.tit_row:after {
        display: none;
    }

    .footer-column {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .footer-content {
        display: none;
        margin-bottom: 1.5rem !important;
    }

    .foot_nav  {
        padding-left: 0px;
        padding-right: 0px;
    }

    .footer-title {
        cursor: pointer;
        border-top: 1px solid var(--color-lightpurple);
        padding-top: 1.5rem;

        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .footer-title.active .arrow_foot-tit {
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
}

    .arrow_foot-tit {
        display: block;
    }

    footer .border_foot {
        border-bottom: 0px;
    }

    footer .borderTop_foot {
        border-top: 0px;
    }
}

@media(max-width:991px){
    .row_servizi .box_servizio {
        flex-direction: row;
    }

    .row_servizi .box_servizio .col_photo {
        width: 40%;
        max-width: 40%;
        flex: 0 0 40%;
        min-height: 200px;
    }

    .row_servizi .box_servizio .image {
        padding-bottom: 0px;
        height: 100%;  
    }

    .box_servizio .btn_arrow {
        font-size: 14px;
    }

    .row_servizi .box_servizio .text {
        width: 60%;
        max-width: 60%;
        flex: 0 0 60%;
        padding: 30px 15px;
    }
}

@media(max-width:576px){
    .section_newsletter .tit_row {
        font-size: 34px;
    }

    .carouselServizi .box_servizio .text .tit,
    .col_news .box_news .text .tit {
        font-size: 18px;
    }

    .row_servizi .box_servizio .text .tit {
        font-size: 18px;
        /* margin-bottom: 0px !important; */
    }

    .row_filtri .btn_filter {
        font-size: 14px;
        margin-left: 6px;
        margin-right: 6px;
    }

    .carouselServizi .swiper-slide {
        width: 80%;
        max-width: 80%;
        flex: 0 0 80%;
        padding: 0px 8px;
    }

    .tit_row {
        font-size: 32px;
    }

    .tit_row.small {
        font-size:28px;
    }

    .btn-navigation img {
        width: 10px;
    }

    .row_servizi .box_servizio .col_photo {
        /* display: none; */
        width: 110px;
        max-width: 110px;
        flex: 0 0 110px;
        min-height: auto;
        position: absolute;
        bottom: 1px;
        height: 70px;
        right: 16px;
    }

    .row_servizi .box_servizio .text {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        padding: 20px 15px;
    }
}

.head .breadcrumb {
    background-color: transparent;
    padding: 20px 0px;
    margin: 0;
    border-radius: 0px;
    text-transform: uppercase;
}

.head .breadcrumb a {
    color: var(--color-grey);
}

.tit_page-sm {
    letter-spacing: var(--letter-03);
    font-size: 28px;
    text-transform: uppercase;
    font-weight: 700;
}

.to-white {
    filter: brightness(0) invert(1);
    -webkit-filter: brightness(0) invert(1);
}

.general_content h3 {
    font-size: 26px;
    margin-top: 40px;
    margin-bottom: 15px;
}

.general_content h4 {
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 15px;
}

.general_content p {
    padding-top: 5px;
    padding-bottom: 5px;
}

.general_content p:first-of-type {
    padding-top: 0px;
}

.general_content p:last-of-type {
    padding-bottom: 0px;
}

.general_content ul, .general_content ol {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 25px;
    list-style: disc;
}

.general_content li {
    list-style: disc;
    padding: 3px 0px;
}

.general_content  a:not(.btn_border):not(.btn_arrow) {
    text-decoration: underline;
}

.abs_newcoram {
    position: absolute;
    bottom: 0px;
    right: 0px;
    height: 70%;
}

.abs_newcoram.grey {
    filter: brightness(0.6);
    -webkit-filter: brightness(0.6);
}

.abs_friulicoram {
    position: absolute;
    bottom: 0px;
    /* opacity: 0; */
    left: 0px;
    height: 70%;
}

.abs_friulicoram.white {
    filter: brightness(2);
    -webkit-filter: brightness(2);
}

.abs_friulicoram.sec_cs {
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(20deg);
    height: auto;
    width: 190px;
    top: 0;
    -webkit-transform: rotate(20deg);
    -moz-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    -o-transform: rotate(20deg);
}

.abs_coram {
    position: absolute;
    bottom: 0px;
    width: 70%;
    /* left: 0px; */
    margin: auto;
    right: 0px;
    opacity: 0.05;
}

.abs_coram.sec_cs {
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(20deg);
    height: auto;
    width: 190px;
    top: 0;
    -webkit-transform: rotate(20deg);
    -moz-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    -o-transform: rotate(20deg);
    opacity: 0.1;
}

.abs_coram.grey {
    filter: brightness(0.6);
    -webkit-filter: brightness(0.6);
    width: 90%;
}

.sec_chisiamo {
    padding-bottom: 80px;
}

/* @media(min-width:992px){
    .w-md-70 {
        width: 70%;
        max-width: 70%;
    }
} */

.sec_prenota {
    margin-top: 120px;
}

.sec_prenota .mb_sec {
    padding-bottom: 100px !important;
    padding-top: 100px !important;
}

.sec_prenota .abs_newsletter {
    bottom: 20px;
    top: auto;
}

/* .sec_prenota .img_prenota {
    position: absolute;
    bottom: 0;
    max-width: 88%;
    margin: auto;
    display: block;
    left: 0;
    right: 0;
} */
@media(max-width:1200px){
    .sec_chisiamo .btn_tab {
        font-size: 16px;
    }

    .sec_chisiamo {
        padding-bottom: 20px;
    }

    .abs_newcoram, .abs_friulicoram {
        height: 40%;
    }
}

@media(max-width:1199px){
    .sec_prenota .img_prenota {
        margin: auto;
        display: block;
        width: 100%;
        max-width: 100%;
    }
}

@media(max-width:1024px){
    .sec_prenota {
        margin-top: 80px;
    }

    /* .sec_prenota .col_abs {
        height: 200px;
    } */

    .sec_prenota .tit_row {
        font-size: 40px;
        max-width: 100%;
    }

    .sec_prenota .mb_sec {
        padding-bottom: 20px !important;
        padding-top: 20px !important;
    }

    .sec_prenota .btn_rounded {
        font-size: 16px;
    }
}

@media(max-width:767px){
    .sec_chisiamo {
        padding-bottom: 0px;
    }

    .sec_prenota .mb_sec {
        padding-bottom: 20px !important;
        padding-top: 20px !important;
        display: block !important;
        /* width: 100%;
        display: block !important; */
    }
}

@media(max-width:576px){
    .head .breadcrumb a, .head .breadcrumb {
        font-size: 12px;
    }

    .sec_prenota .img_prenota {
        max-width: 70%;
        margin: auto;
        display: block;
        left: 0;
        right: 0;
    }

    .sec_prenota .tit_row {
        margin-top: -70px;
    }
}

.filter:not(.filter_select) {
    padding:20px 30px;
}

@media(min-width:1025px){
    .filter_mb-hide {
        display: flex;
        align-items: center;
    }
}

.filter_select {
    padding:20px 20px;
    display: flex;
    align-items: center;
}

.filter:not(.filter_select) .colFilter {
    padding: 0px 0px;
    /* min-width: 70%; */
}

.filter .colFilter .filtro_cat {
    box-shadow: 0px 0px 15px -5px rgb(0, 0, 0, 0.5);
    border-radius: 30px;
    padding: 5px 15px;
    color: var(--color-primary);
    font-weight: 400;
    width: 100%;
    height: 50px;
    background-color: #fff;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: url('../images/arrow_select.svg');
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) center;
    background-size: 15px;

    cursor: pointer;
}

.filter .colFilter .filtro_cat:focus, 
.filter .colFilter .filtro_cat:active {
    background-image: url('../images/arrow_select-reverse.svg');
}

.reset_filter {
    color: var(--color-border);
    font-size: 12px;
    text-transform: uppercase;
    text-align: center;
    font-weight: 500;
    padding: 0px 10px;
    cursor: pointer;
    margin-left: auto;
}

.reset_filter:hover {
    color: var(--color-grey);
}

.sec_moduli .row_modulo,
.box_modulo, .servizio_modulo {
    border-bottom: 1px solid var(--color-grey);
    padding: 10px 0px;
    color: #000;
}

.row_modulo .tit_modulo,
.servizio_modulo .tit_modulo {
    font-size: 20px;
    font-weight: 600;
}

.row_modulo .loghi_soc .logo {
    padding-right:4px
}

.posts_pagination .posts_pagination_prev {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

.posts_pagination .pag_link {
    display: flex;
    align-items: center;
}

.posts_pagination .pag_link[data-enabled="0"] {
    opacity: 0.2;
}

.posts_pagination .pag_link img {
    width: 10px;
}

.posts_pagination .span {
    border: 1px solid;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

/* .box_modulo  {
    border-top: 1px solid var(--color-grey);
} */

.sec_moduli .row_modulo .icona_pdf,
.box_modulo .icona_pdf {
    margin-top: 10px;
}

.table {
    width: 100%;
}

.table td, .table th {
    padding: 15px 5px;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
}

.table th {
    font-weight: 700;
    letter-spacing: var(--letter-03);
    border: 0px;
    max-width: 250px;
}

.sottoservizio .table th {
    max-width: 100%;
}

.table td {
    color: #000;
}

.filter .btn_filter:not(.simple) {
    padding: 5px 15px;
    border: 1px solid #BCBCBC;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 8px;
}

.filter .btn_filter.simple {
    margin-right: 10px;
    margin-left: 10px;
    font-weight: 600;
    display: flex;
    align-items: center;
    cursor: pointer;
    letter-spacing: var(--letter-03);
    color: var(--color-primary);
}

.filter .btn_filter:hover,
.btn_filter:hover  {
    filter: grayscale(1);
    -webkit-filter: grayscale(1);
}

.filter .checkServizio .btn_checkServizio {
    display: flex;
    align-items: center;
    padding: 0px 20px;
    position: relative;
}

.filter .checkServizio .btn_checkServizio.no_padd {
    padding-right: 0px;
}

.filter .checkServizio .btn_checkServizio .bubble {
    display: none;
    position: absolute;
    bottom: 100%;  /* Posizione sopra il div */
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--color-border);
    color: white;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    font-size: 12px;
    min-width: 130px;
    text-align: center;
    /* white-space: nowrap; */
}

.filter .checkServizio .btn_checkServizio:hover .bubble {
    display: block;
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.filter .borderRight {
    border-right: 2px solid #BCBCBC;
}

.filter .checkServizio a.btn_checkServizio img {
    filter: grayscale(1) invert(1);
    -webkit-filter: grayscale(1) invert(1);
}

.filter .checkServizio .radio_checkServizio {
    width: 80px;
    height: 40px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    box-shadow: 0px 0px 15px -5px rgb(0.0, 0, 0.5);
    position: relative;
    cursor: pointer;
}

.filter .checkServizio .radio_checkServizio:before {
    content: "";
    width: 40px;
    height: 40px;
    background-color: var(--color-primary);
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    position: absolute;
    left: 0;
}

.filter .checkServizio .radio_checkServizio:hover:before,
.filter .checkServizio .radio_checkServizio[data-id="imprese"]:before {
    right: 0px;
    left: auto;
}

.filter .checkServizio .radio_checkServizio[data-id="imprese"]:hover:before {
    right: auto;
    left: 0px;
}

.filter .btn_filter.active,
.filter .btn_filter:hover {
    border-color: var(--color-border) !important;
    opacity: 0.5 !important;
    /* background-color: var(--color-lightpurple); */
}

.search-servizi-result {
	position: absolute;
	background: #fff;
	width: 100%;
	z-index: 999999;
	border: 1px solid #314292;
}
.search-servizi-element {
	padding: 0px 10px;
}

@media(max-width:1200px){
    .filter .btn_filter.simple {
        font-size: 14px;
    }

    .filter .btn_filter:not(.simple) img {
        height: 28px;
    }

}

@media(max-width:767px){
    .table {
        border: 0;
    }
  
    .table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
  
    .table tr {
        border-bottom: 2px solid var(--color-lightpurple);
        display: block;
        padding: 15px 0px;
        /* margin-bottom: .625em; */
    }

    .table td:first-of-type {
        font-size: 16px;
        font-weight: 700;
    }

    .table td {
        border: 0px ;
        border-bottom: 1px solid #fff;
        display: grid;
        padding: 6px 0px;
    }

    .table td::before {
        content: attr(data-label);
        /* float: left; */
        /* margin-right: 20px; */
    }

    .table td:first-of-type::before {
        margin-right: 15px;
    }

    .table td:last-child {
        border-bottom: 0;
    }
}

@media(max-width:586px){
    /* .sec_moduli .row_modulo,  */
    .box_modulo, .servizio_modulo {
        flex-wrap: wrap;
    }

    
    .icona_pdf {    
        display: none;
    }

    .card .btn_accordion:after {
        width: 15px;
        height: 15px;
        flex: 0 0 15px;
    }

    .servizio_modulo .tit_modulo {
        font-size: 16px;
    }
}

.row_specialisti .box_spec {
    border: 2px solid var(--color-lightgrey);
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    overflow: hidden;
    height: 100%;
    display: flex;
}

.row_specialisti .box_spec .box_text {
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.row_specialisti .box_spec .box_text .tit,
.row_specialisti .box_news .tit {
    font-size: 24px;
    margin-top: 10px;
}

.box_servizio .tit {
    word-wrap: normal;
}

.row_specialisti .box_spec .box_photo {
    max-width: 33.333%;
    flex: 0 0 33.333%;
    position: relative;
    display: flex;
    align-items: center;
}

.row_specialisti .box_spec .box_photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    margin: auto;
}

.row_specialisti .box_spec .btn_arrow {
    font-size: 14px;
}

.specialista_servizi .servizi_correlati {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0px;
    border-bottom: 1px solid var(--color-lightpurple);
}

.specialista_servizi .servizi_correlati .tit_p {
    margin-right: 15px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: var(--letter-03);
}

.row_specialisti .loghi_soc,
.row_servizi .box_news .loghi_soc {
    display: flex;
    flex-wrap: wrap;
}

.row_specialisti .loghi_soc img,
.row_servizi .box_news .loghi_soc img {
    margin-right: 10px;
}

/* .row_servizi .box_servizio */
.box_news {
    border: 2px solid var(--color-lightgrey);
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* .row_servizi .box_servizio .box_photo */
.box_news .box_photo {
    position: relative;
    display: flex;
    align-items: center;
    height: 0;
    padding-bottom: 56%;
}

.box_news .box_photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    margin: auto;
}

/* .box_servizio .box_text */
.box_news .box_text {
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

@media(max-width:1400px){
    .row_servizi .box_servizio .tit {
        font-size: 18px;
    }
}

@media(max-width:1100px){
    .row_specialisti .box_spec .box_photo {
        display: none;
    }
}

@media(max-width:1024px){
    .filtri_modulistica .col_form-filter {
        min-width: 70%;
        padding: 20px 20px;
    }
    
    .filtri_modulistica .min_width {
        min-width: 30%;
    }

    .filtri_modulistica .padd_filter,
    .filtri_servizi .padd_filter {
        padding: 20px 20px;
    }

    .filter {
        padding: 20px 20px;
        flex-wrap: wrap;
    }

    .filter .colFilter {
        padding: 0px 5px 15px 5px;
        width: 100%;
        flex: 0 0 100%;
        justify-content: center;
    }

    .filter .colFilter .filtro_cat {
        height: 40px;
    }

    .filtri_modulistica .search-wrapper .search-nav {
        font-size: 14px;
    }

    .filter .colFilter .filtro_cat {
        font-size: 14px;
    }

    .row_modulo .tit_modulo {
        font-size: 18px;
    }

    .row_modulo .btn_arrow {
        font-size: 12px;
        padding: 10px 22px 10px 0px;
    }

    /* filtri mobile nascosti - servizi */
    .filter_mb-hide {
        /* height: 0px;
        padding: 0px; */
        display: none;
    }   

    .open_filter_mb {
        display: block;
    }

    .filter_mb-open {
        display: block !important;
    }

    .filter_mb.tab_tipologia {
        margin-top: -40px;
    }

    .filter_mb.tab_tipologia .flex_ricerca {
        margin-top: 0px !important;
    }

    .filtri_modulistica .filter,
    .filtri_servizi .filter {
        background-color: #ECEFF1;
        border-top: 2px solid #fff;
    }

    .reset_filter {
        padding: 0px;
        margin-left: 0px;
    }

    .checkServizio  {
        padding-top: 10px;
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
        justify-content: space-between !important;
    }
}

@media(max-width:991px){

    .filter .colFilter {
        padding: 0px 0px 15px 0px;
        width: 100%;
        flex: 0 0 100%;

        flex-wrap: wrap;
        /* justify-content: space-between; */
    }

    .filter:not(.filter_select) {
        padding: 20px 20px;
    }

    .filter .btn_filter:not(.simple) img {
        height: 25px;
    }

    .filter .btn_filter.simple {
        margin-right: 10px;
        margin-left: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
    }

}

@media(max-width:767px){
    /* .row_specialisti .box_spec {
        flex-wrap: wrap;
        height: auto;
    } */

    /* .row_specialisti .box_spec .box_photo,
    .row_specialisti .box_spec .box_text {
        max-width: 100%;
        flex: 0 0 100%;
    } */

    .row_specialisti .box_spec .box_photo {
        height: 0px;
        padding-bottom: 100%;
        border-radius: 15px;
        overflow: hidden;
    }

    .row_specialisti .box_spec .box_text .tit {
        font-size: 18px;
    }

    .row_specialisti .box_spec .box_text .desc {
        font-size: 14px;
    }

    .filtri_modulistica .padd_filter,
    .filtri_servizi .padd_filter {
        padding: 20px 20px 5px;
    }

    /* .filter .checkServizio {
        justify-content: space-between !important;
    } */

    .filter .checkServizio .btn_checkServizio.borderRight {
        margin-left: auto;
    }

    .filtri_modulistica .flex_ricerca,
    .filtri_servizi .flex_ricerca {
        flex-wrap: wrap;
        margin-top: 15px !important;
    }

    .filtri_modulistica .min_width,
    .filtri_servizi .min_width {
        min-width: 100%;
        background-color: #ECEFF1;
    }

    .single-servizi .filtri_servizi .min_width, .single-servizi-imprese .filtri_servizi .min_width {
        min-width: 100%;
        background-color: #ECEFF1;
        padding-bottom: 15px;
    }

    .filtri_modulistica .col_form-filter,
    .filtri_servizi .col_form-filter {
        min-width: 100%;
        padding: 0px 20px 30px;
        border-bottom-left-radius: 0;
    }
}

@media(max-width:576px){
    .specialista_servizi .servizi_correlati {
        flex-wrap: wrap;
    }

    .specialista_servizi .servizi_correlati .servizi_corr--col {
        width: 100%;
    }

    .specialista_servizi .btn_arrow {
        font-size:12px;
    }

    .row_specialisti .box_spec .box_text {
        padding: 20px 15px;
    }

    .row_specialisti .box_spec .box_photo {
        display: none;
    }

    .row_specialisti .box_spec .box_text .btn_arrow {
        align-self: flex-start !important;
    }

    .reset_filter {
        color: var(--color-border);
        font-size: 12px;
        text-transform: uppercase;
        text-align: center;
        font-weight: 500;
        padding: 0px 5px;
        cursor: pointer;
    }

    .filter .checkServizio .btn_checkServizio {
        padding: 0px 15px;
    }

    .filter .checkServizio .btn_checkServizio img {
        height: 28px;
    }

    .row_modulo .tit_modulo {
        font-size: 15px;
    }
}

.row_posizioni-aperte .tab_posizioni {
    display: flex;
    flex-wrap: wrap;
    padding: 10px 0px;
    border-bottom: 2px solid #ECEFF1;
    margin-bottom: 20px;
}

.row_posizioni-aperte .tab_posizioni .th_tit {
    font-weight: 600;
    font-size: 18px;
    padding-right: 15px;
    width: 350px;
}

.row_posizioni-aperte .tab_posizioni .th_text {
    /* font-size: 18px; */
    color: #000;
    width: calc(100% - 350px);
}

.single-servizio .box_responsabili:not(:first-of-type) {
    border-top: 2px solid #ECEFF1;
    margin-top: 3rem !important;
}

.single-servizio .box_responsabili .tit {
    font-size: 22px;
}

.single-servizio .box_responsabili a:hover {
    color: var(--color-grey) !important;
}

.single-servizio .box_info {
    padding: 30px 40px;
    height: 100%;
}

.text_arrow,
.text_info {
    position: relative;
    font-weight: 600;
    letter-spacing: var(--letter-03);
    text-transform: uppercase;
    /* padding: 0px 0px 0px 30px; */
}

.text_arrow:after {
    content: "";
    background-image: url('../images/arrow-light.svg');
    background-position: center;
    background-size: contain;
    width: 15px;
    height: 15px;
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0px;
    right: auto;
}

.col_prestazioni {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: 2px solid var(--color-lightpurple);
    padding-bottom: 15px;
    padding-top: 15px;
}

.card.card-title .bord {
    border-bottom: 2px solid var(--color-lightpurple);
    padding-bottom: 15px;
    padding-top: 15px;
    margin-bottom: 0px;
}

.row_top-serv {
    margin-top: 120px;
    margin-bottom: 60px;
}

.box_prenota {
    /* height: 100%; */
    padding: 40px 40px 40px 0px;
}

.box_prenota .tit_row {
    font-size: 2.5vw;
    margin-bottom: 30px !important;
}

.box_prenota .img_prenota {
    /* margin-top: -60px; */
    max-width: 45%;
    flex: 0 0 45%;
    width: 45%;
    z-index: 100;
    /* height: 100%; */
    position: relative;
}

.box_prenota .img_prenota img {
    /* max-width: 110%; */
    position: absolute;
    bottom: 0px;
    left: -10%;
    margin: auto;
}

.box_prenota .mb_sec {
    max-width: 55%;
    flex: 0 0 auto;
    width: auto;
    align-self: anchor-center;
}

.posizione_ap {
    border-bottom:  1px solid rgba(255,255,255,0.3);
}

@media(max-width:1199px){
    .row_top-serv {
        margin-top: 60px;
        margin-bottom: 60px;
    }

    .box_prenota .img_prenota img {
        max-width: 110%;
        left: -5%;
    }
}

@media(max-width:1025px){
    .box_prenota .img_prenota img {
        max-width: 110%;
        left: -10%;
    }
}

@media(max-width:991px){
    
    .box_prenota .tit_row {
        font-size: 40px;
    }

    .box_prenota .img_prenota img {
        max-width: 84%;
        left: 15px;
        bottom: -30px;
    }
}

@media(max-width:767px){
    .box_prenota .tit_row {
        font-size: 26px;
    }

    .box_prenota .img_prenota {
        margin-top: -40px;
    }

    .single-servizio .box_info {
        padding: 20px 20px;
        height: auto;
    }

    .row_posizioni-aperte .tab_posizioni .th_text {
        width: 100%;
    }
}

@media(max-width:576px){
    .card.card-title .bord {
        flex-wrap: wrap;
    }

    .page-template-template-certificazioni .cert img {
        height: 80px;
    }

    .box_prenota .tit_row {
        font-size: 20px;
    }

    .box_prenota {
        padding: 30px 15px 30px 0px;
    }

    .box_prenota .img_prenota img {
        max-width: 110%;
        left: -5%;
        bottom: 0;
    }

    .box_prenota .btn_rounded {
        padding: 10px 12px;
        font-size: 14px;
    }

    .posizione_ap {
        width: 100%;
        display: block;
        padding: 3px 0px;
    }
}

.post-loading {
    width: 60px;
}

.row_cerca {
    padding-bottom: 8px;
    padding-top: 8px;
    border-bottom: 2px solid #e1e1e1;
}

.row_cerca a:hover {
    color: var(--color-grey);
}

.tit_cerca {
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: var(--letter-03);
    font-weight: 700;
}

/* */

.box-macro-cat-imprese {
    cursor: pointer;
    background: var(--color-primary);
    color: #fff;
    padding: 40px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    font-weight: 600;
    text-transform: uppercase;
    font-size: 20px;
    text-align: center;
    height: 100%;
}

.box-macro-cat-imprese .icona {
    height: 80px;
    margin-bottom: 40px;
}

.box-macro-cat-imprese.active, .box-macro-cat-imprese:hover {
	background:var(--color-border);
}

.archive_corsi .box_cat_corso {
    border: 2px solid var(--color-lightpurple);
    background-color: var(--color-primary);
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.archive_corsi .box_cat_corso .col_photo {
    width: 40%;
    max-width: 40%;
    flex: 0 0 40%;
    min-height: 200px;
}

.archive_corsi .box_cat_corso .image {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0px;
    height: 100%;
}

.archive_corsi .box_cat_corso .image img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.archive_corsi .box_cat_corso .text {
    width: 60%;
    max-width: 60%;
    flex: 0 0 60%;
    padding: 30px 15px;
}

.archive_corsi .box_cat_corso .tit {
    letter-spacing: var(--letter-03);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 20px;
}

.arrow_list {
    list-style: none;
    /* padding-left: 20px; */
}

.arrow_list li {
    display: flex;
    align-items: center;
    padding: 5px 0px;
}

.arrow_list li::before {
    content: "";
    background-image: url('../images/arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
    display: inline-block;
    flex: 0 0 25px;
}

.contenitore-corsi {
    display: none;
}

.contenitore-corsi .content-corsi--inside {
    background-color: #fff;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    padding: 0px 40px;
}

.box-servizio.active .box_cat_corso {
    background-color: #fff;
}

.box-servizio.active .box_cat_corso .tit, .box-servizio.active .box_cat_corso .btn_arrow  {
    color: var(--color-primary) !important;
}

.contenitore-corsi .content-corsi--inside .single_corsi {
    border-bottom: 2px solid var(--color-lightpurple);
    padding-bottom: 15px;
    padding-top: 15px;
    margin-bottom: 0px;
}

.contenitore-corsi .content-corsi--inside .single_corsi:last-of-type {
    border-bottom: 0px;
}

.single-servizio-imprese .meta_corso {
    background-color: var(--color-lightgrey);
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    padding: 30px 30px;
}

.single-servizio-imprese .meta_corso .ore {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    /* font-weight: bold; */
    color: #000;
    top: -35px;
    flex-direction: column;
    line-height: 23px;
    font-size: 15px;
    font-weight: 500;
}

.single-servizio-imprese .meta_corso .ore span {
    font-size: 34px;
    line-height: 34px;
}

.single-servizio-imprese .meta_corso .col_icon img {
    height: 40px;
}

.single-servizio-imprese .meta_corso .col_icon p {
    font-weight: 500;
    width: calc(100% - 40px);
}

.single-servizio-imprese .meta_corso .col_icon-img {
    width: 60px;
    max-width: 60px;
    flex: 0 0 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 10px 15px 0px;
}

#iscrizioneCorso .modal-dialog {
    display: flex;
    align-items: center;
    margin: auto;
    max-width: 70%;
    transform: translate(0px, 0px);
    -webkit-transform: translate(0px, 0px);
    -moz-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
    -o-transform: translate(0px, 0px);
    height: 100vh;
}

#iscrizioneCorso {
    background-color: rgba(0, 0, 0, 0.3);
}

button.close_popup {
    position: absolute;
    right: 0px;
    top: 0;
    padding: 8px 15px;
    background-color: var(--color-lightpurple);
    text-transform: uppercase;
    border-radius: 4px;
    font-size: 12px;
        cursor: pointer;
    z-index: 1000;
}

@media(max-width:767px){
    .tab_tipologia--imprese {
        padding-left: 0px;
        padding-right: 0px;
        margin-top: -30px;
        margin-bottom: 50px;
    }

    .box-macro-cat-imprese {
        padding: 20px;
        font-size: 16px;
    }

    .box-macro-cat-imprese .icona {
        height: 60px;
        margin-bottom: 20px;
    }

    .archive_corsi .box_cat_corso .col_photo {
        width: 50%;
        max-width: 50%;
        flex: 0 0 50%;
    }

    .archive_corsi .box_cat_corso .text {
        width: 50%;
        max-width: 50%;
        flex: 0 0 50%;
        padding: 30px 15px;
    }

    .archive_corsi .box_cat_corso .tit {
        font-size: 18px;
    }

    .archive_corsi .box_cat_corso .btn_arrow {
        font-size: 14px;
    }
}

@media(max-width:576px){
    .archive_corsi .box_cat_corso .col_photo {
        /* display: none; */
        width: 110px;
        max-width: 110px;
        flex: 0 0 110px;
        min-height: auto;
        position: absolute;
        bottom: 1px;
        height: 70px;
        right: 16px;
    }

    .archive_corsi .box_cat_corso .text {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        padding: 20px 15px;
    }

    .archive_corsi .box_cat_corso .btn_arrow {
        align-self: flex-start !important;
    }

    .contenitore-corsi .content-corsi--inside {
        padding: 0px 20px;
    }
}
