@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=Rethink+Sans:ital,wght@0,500;0,600;0,700;1,400&display=swap');


/***ICONS***/
@font-face {
    font-family: 'icomoon';
    src:  url('fonts/icomoon.eot?wbp489');
    src:  url('fonts/icomoon.eot?wbp489#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?wbp489') format('truetype'),
    url('fonts/icomoon.woff?wbp489') format('woff'),
    url('fonts/icomoon.svg?wbp489#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



.icon-file-text2:before {
  content: "\e926";
}
.icon-file-pdf:before {
  content: "\eadf";
}
.icon-file-excel:before {
  content: "\eae2";
}

.pointer {
    cursor:pointer !important
}

/*
* {
    border:1px solid red
}*/


input[type="time"]::-webkit-calendar-picker-indicator {
    background: none;
}



/*Variabili*/
:root {
    /*--main:#041c5c;*/
	--main:#254563;
	--secondary:#0070C0;
	--warning:#FF0000;
	--success:#00B050;
	--waiting:#e39a1a;
	--info:#00B0F0;
   /* --backgroud_light:#f8f7f6;*/
    --backgroud_light:#f5f3f1;
	
}

.arrow {
    position:absolute;
    left:5%; 
    top:-0.78rem; 
    width:1.42rem; 
    height:1.42rem; 
    border: 1px solid solid var(--warning); 
    border-right:none; 
    border-bottom:none; 
    background-color:#fff; 
    transform: rotate(45deg); 
    -webkit-transform: rotate(45deg); 
    z-index:1
}

.tooltip {
    position:absolute;
    margin-top:0.25rem;
    padding:0.8rem;
    background:#fff;
    max-width:95%;
    font-weight:normal !important;
    border:1px solid var(--warning);
    border-radius:4px;
    box-shadow:-4px 4px 5px -3px #000;
    z-index:10;
    opacity:1;
    letter-spacing: 0.17em
}
.tooltip .arrow {
    width:15px; 
    height:15px; 
    top:-8.2px; 
    border-left:1px solid var(--warning); 
    border-top:1px solid var(--warning);
}
.tooltip .close_button {
    top:-0.85rem;
    left:-0.85rem; 
    right:auto; 
    padding:0.5rem; 
    font-size:0.85rem; 
    display:none
}

.clear {
    width:100%;
    clear: both;
}


.bg_main {
	background-color: var(--main);
}

.bg_success {
	background-color: var(--success);
}

.bg_red {
	background-color: var(--warning);
}

.bg_orange {
    background-color: var(--waiting);
}

.warning {
	border: 1px solid red;
}

.success {
	border: 1px solid green;
}


.lite-blue {
    background-color: var(--secondary);
    color:#fff !important;
 
}

.lite-blue:hover {
    background-color: var(--secondary) !important;
    color:#fff !important
}


html {font-size:14px;}


body {
    padding: 0;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    font-family: 'Rethink Sans', sans-serif;
    
}

a {
	color: inherit ;
	text-decoration: none ;
}

h2 {margin:2rem 0}

h3 {color:#fff}
h4, h5 {color:var(--main)}

h3 {font-size:1.65rem !important}
h4 {font-size:1.4rem !important}

p, ul, ol {font-size:1.1rem}
td ul, td ol {font-size: inherit !important}

.footer p {
    font-size:1rem;
}

.avviso_validazione {
    position:relative;
    float:left;
    width:100%;
    text-align: center;
    color: var(--warning);
}


.divider {
    position:relative;
    float:left;
    width:96%;
    margin: 1rem 2%;
    border-top:1px solid var(--main);
}


.link {
	color:blue !important;
	text-decoration: underline !important
}


.page-link {
    height:100%;
}

/*Intl-tel-input*/
.iti {
	width:100% !important;
}

/*Bootstrap*/

.btn{
 margin: 0 0 1rem 0
}

.btn-primary {
	background-color: var(--main);
	border-color: var(--main);
	font-weight:bold;
    color:#fff !important
}

.btn-success {
	background-color: var(--success);
    color:#fff !important;
    border-color: var(--success)
}

.btn-secondary {
	background-color: var(--secondary);
    border-color: var(--secondary);
    color: #fff !important
}



.blue_button {
    background-color: var(--main) !important;
    color:#fff !important;
    border-color: var(--main)
}

.red_button {
    background-color: var(--warning) !important;
    color:#fff !important;
    border-color: var(--warning)
}

.orange_button {
    background-color: var(--waiting) !important;
    color:#fff !important;
    border-color: var(--waiting)
}

.white_button {
    background-color: var(--backgroud_light) !important;
    color:var(--main) !important;
    border-color: var(--backgroud_light)
}

.w100 {
    width:100% !important
}
.w50 {
    width:50% !important;
}
.w25 {
    width:25% !important;
}

.myresponsive {
    position:relative;
    float:left;
    width:100%;
}

.padded {
    padding-left:8rem;
    padding-right:8rem;
}

.td_header {
    background-color: var(--backgroud_light) !important;
    width:15%;
    min-width:190px;
    font-weight:bold
}

/*Ui Dialog*/
.ui-dialog {position:fixed!important; min-width:42.85rem !important; font-family:inherit !important; z-index:1000 !important}

.ui-widget {font-family:inherit !important; font-size:inherit !important}

.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
    font-family:inherit !important; font-size: var(--bs-btn-font-size) !important;
}

.ui-dialog :focus {
    outline: -webkit-focus-ring-color auto 0px !important;
}

.ui-dialog .ui-dialog-titlebar-close {
    background-color: var(--main)
}


header {
	position:relative;
	float:left;
	width:100%;
	/*background-color: var(--main);*/
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(37,69,99,1) 25%);
	padding: 0.5rem 3rem;
	
	vertical-align: middle;
	/*font-weight: bold;*/
	color:#fff !important
}
header a {
	color:#fff !important
}

header li {text-align: center}
header li img {height:35px; color:#fff}

.user_account {
    position: relative; 
    width:100%;
    max-width:120px;
    background-color: var(--main); 
    color:#fff; 
    border:none
}

.two_columns{
    min-width:0px !important
}


section, footer {
    position:relative;
    float:left;
    width: 100%;
    margin-bottom: 2rem;
    overflow: hidden;
}

.bi-eye-slash {
    width:16px;
    height:16px;
}

.footer {
    position:relative;
    float:left;
    width:100%;
    margin:3rem 0 1rem 0;
    padding:1rem 5%;
    text-align: center;
    background-color: var(--backgroud_light); 
}

.footer_logo {
    width:10%;
    min-width:200px
}

#wrapper {
  position: relative;
  width: 100%;
  min-height: 600px;
  margin: 0 auto;
  overflow: hidden;
  z-index: 1;
}

.container {
	background-color: var(--backgroud_light);
	border-radius:15px;
	padding: 0.9rem
}

.logo {
	position: relative;
    float:left;
	height:100%;
	padding:0.5rem;
}

.logo img {
	height:auto;
	width:170px;
}

.service_logo {
    position: relative;
    float:left;
    margin:1.5rem 0 0 1rem;
}

.service_logo img {
    height:auto;
    width:170px;
}

.login_list_menu, .backoffice_login_list_menu {
    text-align:right;
    margin:1.4rem 0 0 0;
}

.login_list_menu li, .backoffice_login_list_menu li {
    padding-right:1rem;
    border-right:1px solid #fff
}


.login_list_menu li:last-child, .backoffice_login_list_menu li:last-child{
    padding:0;
    border:none
}

.logo, .service_logo, .login_list_menu, .backoffice_login_list_menu {
    z-index:10
}


.login_button{
	border-radius: 10px;
	color:#fff;
	background-color: #3DBEEC;
	padding:0.5rem 1rem;
}

.signin_button {
	border-radius: 10px;
	color:#000;
	background-color: #fff;
	padding:0.5rem 1rem;
}
.signin_button a {
    color:#000 !important
}

header .login_button, header .signin_button {
	margin-top: 0.5rem;
	margin-left: 2rem;
}

.voice_menu{
    position: relative;
    float:right;
    text-align:center; 
    margin:0 auto;
    z-index:2;
    letter-spacing: 0.03rem;
    border-right: 1px solid #fff
}

.voice_menu li > a {
    position: relative;
    float:left;
    width:100%;
}


.stay_left {
	position:relative;
	float:left !important;
}

.stay_right {
	position:relative;
	float:right !important;
    margin-right:0px
}
.stay_center {
    display: inline-block;
    margin:auto !important
}

.simple_button {
	padding: 0.5rem 1rem;
	vertical-align: middle;
}

.no_list {
	list-style-type: none;
    margin-bottom:0;
}

.no_list li {
	display: inline-block;
	margin: 0 1rem 0 0;
}

.no_border {
    border-width: 0px !important
}

.no_padding {
    padding: 0 !important
}

.sub_menu {
    padding:0 !important
}
.sub_menu li {
    vertical-align: text-bottom
}

.sub_menu img {
    height:20px;
    vertical-align: text-bottom;
    margin-right:0.15rem
}

.social_icon {position: relative; width:30px; height:auto; margin-left: 20px}

.notify_count {
    position:absolute; 
    width:16px; 
    height:16px; 
    border-radius:100px; 
    background-color:var(--warning);
    color:#fff;
    top:0; 
    right:-5px;
    text-align: center;
    font-size: 0.9rem;
    line-height: 16px;
    letter-spacing: 0
}


.lista_risultati {
    list-style-type: none; 
    padding: 0;
    margin: 0;
    max-height: 160px;
    overflow: auto;
}
.lista_risultati li {
    padding: 2px 4px
}

.lista_risultati li:hover{
    background-color: rgba(200,200,200,0.4);
}


.hide-data {
    display:none;
}

/*SLIDER HOMEPAGE*/
.home_slider {
	position:relative; 
	float:left; 
	width:100% !important; 
	height:50rem ;
}

#wowslider-container1 { 
	position:relative; 
	float:left;	
	width:100%; 
	height:100%;
	max-height:100%; 
	margin:0 auto;
	z-index:0;
	text-align:left; 
	font-size: 1rem; 
	text-shadow: none; 
	box-sizing: content-box !important; }

#wowslider-container1 .ws_images ul{ 
	position:relative;	
	width:100%; 
	height:100%;
	left:0;	
	list-style:none; 
	margin:0; 
	padding:0; 
	border-spacing:0; 
	overflow:visible;
}
#wowslider-container1 .ws_images ul li{
	position:relative;	
	width:1%; 
	height:100%;	
	line-height:0;	
	overflow: hidden; 
	float:left; 
	padding:0 0 0 0 !important; 
	margin:0 !important;
}

#wowslider-container1 .ws_images{
	position: relative;
	left:0;
	top:0;
	height:100%;
	max-height:1000px;
	max-width: 100%;
	vertical-align: top;
	border:none;
	overflow: hidden;
}

#wowslider-container1 .ws_images ul a{
	width:100%;
	height:100%;
	max-height:1000px;
	display:block;
	color:transparent;
}
#wowslider-container1 img{
	max-width: none !important;
}
#wowslider-container1 .ws_images .ws_list img,
#wowslider-container1 .ws_images > div > img{
	width:100%;
	border:none 0;
	max-width: none;
	padding:0;
	margin:0;
}
#wowslider-container1 .ws_images > div > img {
	max-height:1000px;
}

#wowslider-container1 .ws_images iframe {
	position: absolute;
	z-index: -1;
}

#wowslider-container1 .ws-title{
    bottom: 25rem
}


#main_slider_button {
    text-align: center;
    position:absolute; 
    z-index: 10000; 
    color:#fff; 
    left: 50%;
    right: 50%;
    top: 50%;
    bottom: 50%;
    margin: auto;
    width: 100%;
    height:200px;
    margin-left: -50%;
    margin-top: -100px;
}

#main_slider_button h1 {
    font-size: 4.5rem;
    margin-bottom: 4rem
}

 #main_slider_button .btn {
     width:300px; 
     font-size:2rem
}


/*OVERLAY*/
#blocca_schermo {position:fixed; width:100%; height:100%; left:0; top:0; background:rgba(1,1,1,0.7); display:none; z-index:110;}
#loading {position:fixed; width:5.71rem; height:5.71rem; left:50%; top:50%; margin-left:-2.85rem; margin-top:-2.85rem; border-radius:10px; z-index:111; color:#fff; background: url('../images/icons/loader.gif') no-repeat; background-size:cover; display:none }
#blocca_schermo h6 {position:relative; width:300px; height:300px; left:50%; top:50%; margin-left:-150px; margin-top:60px; color:#fff !important; text-align:center}



.blocca_schermo {position:relative; float:left; width:100%; height:100%; min-height:300px; background:rgba(10,10,10,0.5); display:none; z-index:110;}
.loading {position:absolute; width:5.71rem; height:5.71rem; left:50%; top:60%; margin-left:-2.85rem; border-radius:10px; z-index:111; color:#fff; background: url('../images/icons/loader.gif') no-repeat; background-size:cover; display:none }



.home_bg {
    position: relative; 
    float:left; 
    width:100%; 
    height:45rem; 
    overflow:hidden;
    background-size:cover;
    background-repeat: no-repeat;
    background-position: 50% 25%;
}

.home_bg h1{
    position: absolute;
    left: 5%;
    bottom:5rem;
    color:#fff;
    
}

.home_box {
    height:19rem;
    padding:3%; 
    border:1px solid #fff; 
    border-radius:20px;

}
.home_box h4 {
    color:#fff;
    height:4rem;
}
.home_box .icon {
    height: 55px;
    vertical-align: text-bottom
}
/*
.top_icon {
   float: left;
    margin:0 0 0.5rem 0 !important
}
*/
.icon_title{
    margin-top:2rem;
    margin-bottom:1rem;
    height:6rem;
    /*border:1px solid red*/
}


.home_box .home_logo {
    height: 4rem;
    margin-bottom:1.5rem;
    text-align: center
}

.home_box .btn {
    width:100%;
    margin:1rem auto;
    /*margin:auto;*/
    padding:0.5rem 1.5rem;
    font-weight:bold; 
    text-transform: uppercase; 
    font-size:1.2rem; 
    background-color: #fff; 
    color: var(--main);
}

.main_form {
    padding: 2rem 20%;
}
/*
.home_box, .home_box * {
     border:1px solid green
}*/


.info_icon {
    width:17px;
    height:auto;
    margin:0 0.05rem;
    vertical-align: text-bottom
}

.list_title {
    text-transform: uppercase;
    font-weight: 600;
    color:var(--secondary)
}




.chat_box1 {
    width:90%; 
    margin-left:10%; 
    padding:1rem; 
    border-radius:10px; 
    border:1px dotted #cacaca; 
    background-color: var(--main); 
    color:#fff
}

.chat_box2{
    width:90%; 
    margin-right:10%; 
    padding:1rem; 
    border-radius:10px; 
    border:1px dotted #cacaca; 
    background-color: #fff; 
    color:#000
}

.chat_input_text{
    width:100%;
}

.chat_message_body {
    max-height:300px; 
    overflow-x:auto
}

.active_link {
    color:var(--success) !important
}


/*Menu mobile*/
#mobile_menu_icon {position:relative; float:right; width:2.14rem; margin:1.42rem 0 0 2.85rem; cursor:pointer; z-index:20; display:none}
#mobile_menu_icon label {position:absolute; left:0; top:0; width:100%; height:100%; }
.linea_icon1, .linea_icon2, .linea_icon3 {position:relative; float:left; width:2.14rem; height:2px; margin-bottom:0.4rem; background: #fff; transition:.25s ease-in-out ; -webkit-transition:.25s ease-in-out ;}
.linea_icon3 {margin-bottom:0}

#mobile_nav_on:checked ~ header #mobile_menu_icon .linea_icon2 {opacity:0}
#mobile_nav_on:checked ~ header #mobile_menu_icon .linea_icon1 {width:1.65rem; transform:rotate(45deg); transform-origin: left top 0px; }
#mobile_nav_on:checked ~ header #mobile_menu_icon .linea_icon3 {width:1.65rem; transform:rotate(-45deg); transform-origin: left bottom 0px;}
#mobile_nav_on:checked ~ #mobile_nav {z-index:11; opacity:1; transition:opacity 0.5s ease-in-out; -webkit-transition:opacity 0.5s ease-in-out ;}
#mobile_nav_on:checked ~ header #mobile_menu_icon #label_mobile_on {display:none}


#mobile_nav_off:checked ~ header #mobile_menu_icon .linea_icon2 {opacity:1}
#mobile_nav_off:checked ~ header #mobile_menu_icon .linea_icon1 {width:2.14rem; transform:rotate(0deg); transform-origin: left top 0px; }
#mobile_nav_off:checked ~ header #mobile_menu_icon .linea_icon3 {width:2.14rem; transform:rotate(0deg); transform-origin: left bottom 0px;}
#mobile_nav_off:checked ~ #mobile_nav {z-index:-1; opacity:0; transition: 0.5s ease-in-out; -webkit-transition: 0.5s ease-in-out ;}
#mobile_nav_off:checked ~ header #mobile_menu_icon #label_mobile_on {display:block}


#mobile_nav {position:fixed; width:100%; height:100%; left:0; top:0; padding:1rem; background:var(--main); z-index:-1; opacity:0; overflow:auto; color:#fff }
#mobile_nav ul {position:relative; float:left; width:100%; list-style-type:none; padding:0 0.71rem 1.42rem 0.71rem; margin-top:3rem }
#mobile_nav ul li {font-weight:700; text-transform:uppercase; padding:0.35rem 0; margin-bottom:0.35rem}
#mobile_nav ol {position:relative; float:left; width:100%; padding:0; margin:0; list-style-type:none}
#mobile_nav ol li {margin:0.35rem 1.42rem; padding:0.71rem; border-bottom: 1px dotted #cacaca}


/*
tr[class^=sister_], tr[class^=sister_] th  {}
tr[class^=sister_] th, tr[class^=sister_] td { }
tr[class^=sister_] th span:not([class^=icon]), tr[class^=sister_] td span:not([class^=icon]) {font-size:85%; letter-spacing:0.09rem; font-style:italic }
tr[class^=sister_] th:first-child, tr[class^=sister_] td:first-child {}
tr[class^=sister_] th:last-child, tr[class^=sister_] td:last-child {}
tr[class^=sister_] th {}*/


.custom_table_hover:hover {
    cursor:pointer;
    background-color: var(--backgroud_light) !important
}

.custom_table_hover td {
    background: transparent !important
}



#faq_article {
    height: 600px;
    overflow: auto;
}


/*
.input-group .form-control
{
    display: block;
}*/




.product_table th, .product_table td{
    background-color: var(--main);
    color:#fff; 
    padding: 1rem 0;
    font-size:120%;
}

.blue_table th, .blue_table td{
    background-color: var(--main);
    color:#fff; 
    padding: 0.5rem 1rem;
    border:none
}



.line_options td {
	background-color: transparent !important;
	box-shadow:none !important;
	border-bottom:none !important;
}









/*RESPONSIVE*/

@media screen and (max-width: 1800px){

    .icon_title{

        height:7rem;
    }

}

@media screen and (max-width: 1700px){

    .padded {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

@media screen and (max-width: 1600px){
    
    header {
        padding: 0.5rem 1.5rem;

    }

    .td_header {
        width:20% ;
        min-width:0px
    }
    
    .home_bg {
        height:35rem;
    }
}



@media screen and (max-width: 1400px){
	
	/*
    .home_slider {
        height:50rem !important;
    }*/
    
    .two_columns tr, .two_columns td{
        position: relative;
        float:left;
        width:100%;
        min-width:0px !important;
        text-align:left !important;
    }
    
}



@media screen and (max-width: 1280px){
	
	/*
    .home_slider {
        height:45rem !important;
    }*/
    
    .padded {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    
    header{
        padding: 0.8rem 0.25rem
    }
    
    header li img {
        height: 30px
    }
    
     .login_list_menu {
        display:none
    }
    
    #mobile_menu_icon {
        display:block;
    }
}


@media screen and (max-width:1024px){

    .padded {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .main_form {
        padding: 2rem 5%;
    }
    
    
    .logo img, .service_logo img {
        width:130px
    }
    
        
    #faq_article {
        max-height: none;
    }
    
    
    #main_slider_button h1 {
        font-size: 3.5rem;
        margin-bottom: 3.5rem
    }
    
     #main_slider_button .btn {
         width:300px; 
         font-size:2rem
    }

}


@media screen and (max-width:960px){
    
    .logo img, .service_logo img {
        width:120px
    }
    
    .service_logo {
        margin-top:1.2rem
    }
    
  
    .sub_menu {
        display: flex
    }
    
    .home_slider {
        height:25rem;
    }
    

    .home_box h4 {
        color:#fff;
        height:auto;
    }
    
    .icon_title{

        height:auto;
        margin-bottom:1.5rem;
    }
   
    
    /*
    table {
        min-width:900px
    }*/
    
}

@media screen and (max-width:800px){

     .voice_menu{
        position:relative;
        float:left;
        width:100%;
        margin:0.25rem 0 0 0
    }
    

    .list_style li {
        position: relative;
        float:left;
        width: 100%
    }
    
    .form-check-inline {
        position: relative;
        float:left;
        clear:both
    }
    
    header {
	

	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(37,69,99,1) 30%);
   
    }
    
    
    #main_slider_button h1 {
        font-size: 3rem;
        margin-bottom: 3rem
    }
    
     #main_slider_button .btn {
         width:250px; 
         font-size:1.8rem
    }

    

}



@media screen and (max-width:500px){
    
    
    .home_slider {
        height:14rem;
    }
    
    .btn {
        width:100%;
        margin:0.5rem 0;
    }
    
    .ui-dialog {
        width: 96% !important;
        min-width:96% !important;
    }
    
    
    #main_slider_button{
        height:100%;
        margin-top:0;
        top:0;
    }
    
    #main_slider_button h1 {
        font-size: 2.2rem;
        margin-top: 2.5rem;
        margin-bottom: 1.5rem
    }
    
     #main_slider_button .btn {
         width:180px; 
         font-size:1.2rem
    }
    
    

}



