div#message-container
{
    overflow-x:scroll;
    color:#232323;
} 

.distance-header
{
    border-bottom: solid 1px gray;
    font-weight: bold;
    font-size:13pt;
    background-color: red; 
}

.g_image{
	width: 100%;
}


.footer-contact{
	text-align:center;
	padding-bottom:20px;
}

.caption_gallery {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px;
    color: #fff;
    font-variant: small-caps;
    bottom: 30px;
    position: absolute;
    width: 227px;
}


.image.backgallery {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center center;
    margin-bottom: 30px;
}

.web-cam-date {
    position: absolute;
    margin-top: -28px;
    margin-left: 11px;
    color: #fff;
    font-weight: 500;
}

.web-cam-step {
    position: absolute;
    margin-top: -508px;
    margin-left: 11px;
    color: #fff;
    font-weight: 500;
}

#h1_webcam{
	text-transform:uppercase;
	font-size:16pt;
}

span.subtitle {
    font-weight: 600;
    color: #fff;
    font-size: 16px;
    text-shadow: -1px 2px 3px #000;
}


/* Dashboard elements
-------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
}


body {
  font-size: .875rem;
  margin:0; 
    padding:0;
    font-family: 'Lato', sans-serif;
    font-display: auto;
}

.feather {
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100; /* Behind the navbar */
  padding: 48px 0 0; /* Height of navbar */
  /* box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1); */
}

.sidebar-sticky {
  position: relative;
  top: 0;
  height: calc(100vh - 48px);
  padding-top: .5rem;
  overflow-x: hidden;
  overflow-y: hidden; /* Scrollable contents if viewport is shorter than content. */
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

.sidebar .nav-link {
    font-weight: 500;
    color: #333;
    padding-top: 0;
    padding-bottom: 0;
}

.sidebar .nav-link .feather {
  margin-right: 4px;
  color: #999;
}

.sidebar .nav-link.active {
  color: #007bff;ù
  
}

span.place-subtitle {
    font-size: 15px;
    font-weight: 600;
    	padding-left: 5px;
}

.title-separator{
	height: 2px; background-color: white;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
  color: inherit;
}

.sidebar-heading {
  font-size: .75rem;
  text-transform: uppercase;
}

/*
 * Content
 */

[role="main"] {
  padding-top: 48px; /* Space for fixed navbar */
}

/*
 * Navbar
 */

.navbar-brand {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: 1rem;
 
}

.navbar .form-control {
  padding: .75rem 1rem;
  border-width: 0;
  border-radius: 0;
}

.form-control-dark {
  color: #fff;
  background-color: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .1);
}

.form-control-dark:focus {
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}

/*
 * Utilities
 */

.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }



/* Sticky footer styles
-------------------------------------------------- */

.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    /* background-color: #f5f5f5; */
    border-bottom: 10px solid #dfa73d;
}

/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */

body > .container {
  padding: 30px 0 0;
}

.footer > .container {
  padding-right: 0;
  padding-left: 15px;

    
  height: 40px;
  line-height: 40px; /* Vertically center the text there */
}

code {
  font-size: 80%;
}



.step-image {
  position: relative;
  width: 100%;
  height: 300px;
  background: center center no-repeat;
  background-size: cover;

  &:after {
    content: '';
	position: relative;
    width: 100%;
    height: 300px;
	top: -300px;
	background-image: linear-gradient(#dc4225, #002f4b);
	opacity: .6; 
  } 
}


.fake_img_small
{
    width:100%;
    height: 80px;
    margin:3px;
    background-color: #eee;
    border-color: gray;
    text-align:center;
    color:gray;
    padding-top:30px;
}

.mm
{
    width:24px;
    height:24px;
    color:gray;
}


/*********************************/
/*** BASIC GRID NON VALORIZZATA **/
/*********************************/

.main-image
{
text-align: center;
height:100vh;
}

div.itinerary-container
{
    width:1000px;
    margin: 0 auto;

}

div.block
{
    margin: 50px 0;
}

div.block-1
{
    height: 558px;
}
div.block-1 .place-desc
{
    min-height: 558px;
    background-color: #eeeef0;
    padding:25px;
}

p.step-description strong,
div.block-1 .place-desc strong
{
    color:#bc0335;
}


.img-1, 
.img-2, 
.img-3,
.img-4
{
    background-color: aliceblue;
    width:100%;
    margin:3px;
    
}

div.img-1
{
    height:250px;
}
div.img-2, 
div.img-3
{
    height:294px;
}

div.img-4
{
    height:595px;
}

div.half-bg
{
    margin-top:15px;
    height:170px;
    background-color: #bc0335;
}

.place-services
{
    margin: -150px 39px 10px 39px;
}
.service 
{
    width:330px;
    text-align: center;
}
.service-icon
{
    width:120px;
    height:120px;
    margin:20px auto;
    margin-bottom:0;
    background-color: white;
 
}

.service-title
{
    color:white;
}


.step-desc
{

}


.step-desc-info div
{
    width:100%;
    background-color: #f0f0f2;
    margin:2px;
    text-align:center;
    padding:5px;
    height:240px;
}
.step-desc-info div h3
{
    font-size:13pt;
    color:#01acf0;
}



.track-info
{
    text-align: center;
}

.track-info span
{
    color:#01acf0;
    font-size:16pt;
 
}

.bg-gray
{
    background-color: #f0f0f2;
}

.poi
{
    background-color: white;
    margin:2px;
    height:400px;

}

 


/********   distance line **********/
#distance-line
{
    /*width:43px;
    border-right:solid 2px #bc0335;*/
}

div.line-spacer
{
    width:45px;
    border-right:solid 2px #bc0335;
    height:35px;
    margin-top:-2px;
    margin-bottom:-2px;
}

#distance-line .nav-item {
    
    /*margin-top:25px;
    margin-bottom:25px;*/
    margin-top:0;
    margin-bottom:0;
    margin-bottom:0;
    white-space: nowrap;
}

#distance-line .distance-label{
    background-image: url(../images/distance.png);
    background-size: cover;
    padding: 3px 10px;
    color: white;
    background-color: transparent;
    opacity: 1;
    text-transform: uppercase;
    margin-top: 16px;
    vertical-align: top;
    display: inline-block;
    margin-bottom: 3px;
}

#distance-line .distance-label:hover,
#distance-line li a.active .distance-label
{

/*     color: #007bff; */
}

div.dot {
    height: 24px;
    width: 24px;
    background-color: #bbb;
    color: #bbb;
    font-size: 1pt;
    border-radius: 50%;
    display: inline-block;
    line-height: 9pt;
}

h1.step-title {
    text-shadow: 5px 2px 3px rgba(0, 0, 0, 0.79);
}

h1 {
    font-size: 2rem;
}
.km-label{
    font-size:7pt;
}

.dot1 {
  height: 40px;
  width: 40px;
  background-color: #fff;
  border-radius: 50%;
  display: inline-block;
  background-color: white;
  border: solid 1px gray;
  text-align: center;
  padding-top:7px;
  color:#bc0335;
    margin-left:-27px;:  
}


.sidebar .nav-link.active .dot,
.sidebar .nav-link:hover .dot
{
   background-color:transparent;
   color:#bc0335;
   font-size:10pt; 
}
.sidebar .nav-link.active,
.sidebar .nav-link:hover
{
  color: #007bff;
}


.dot2 {
  width: 30px;
  height: 60px;
  display: inline-block;
  text-align: center;
  padding-top:8px;
  background-color: transparent;
  margin-left:27px;
  border: 2px solid transparent;
}

.sidebar .nav-link.active .dot2,
.sidebar .nav-link:hover .dot2
{ 
    border-bottom-right-radius: 30px;
    border-top-right-radius: 30px;
    border: 2px solid #bc0335;
    border-left: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;    

}

/*************** Gianfranco ***************/

main {
    width: 100%;
}


.col-6.logo {
    padding-left: 0px;
}

.col-6.burger {
    padding-right: 0px;
}


.navbar{
	background:#ffffff url('../images/bg-testata.png') 50% 100% no-repeat;
    background-position: top;	
}


.container-fluid {
    padding: 0px !important;
}

.main-image{
	position: relative;
background-position: center center;	
    background-size: cover;
}

.caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color:#fff;
}

.caption h1 {
    font-family: 'Lato', 'Arial', sans-serif;
    font-weight: 900;
    font-size: 70px;
    line-height: 75px;
    letter-spacing: 1px;
    margin-bottom: 15px;
 }
 
.img-1, .img-2, .img-3, .img-4{
 	margin:0px;
 }   
    
div.img-2, div.img-3 {
 margin-top: 15px;   
}

.img-4{
 background-size:cover;
 height: 500px;
}

 div.half-gray{
  margin-top: 30px;
  height:210px;
  background-color: #f3f3f3;
 }   
 
.service-icon{
  border-radius: 50%;
  border:4px solid #bc0335;
  width:70px;
  height:70px;
  margin-top: -20px;
  margin-left: 34%;
  position:absolute;
  color:#bc0335;
  font-size: 35px;
  padding: 4px;
}

.service-desc {
  padding-top: 70px;
  padding-left: 10px;
    padding-right: 10px;
}

.step-desc {
    padding-left: 0px!important;
}

.h2, h2 {
    font-size: 1.6rem;
}

.step-desc-info{
	float:left;
	width: 44.5%;
}

.info2{
	float:left;
	margin-left:10px;
}

.caract-icon{
  border-radius: 50%;
  border:4px solid #01acf0;
  width:60px;
  height:60px;
  margin:auto;
margin-bottom:8px;
color:#01acf0;
    font-size: 25px;
    margin-bottom: 8px;
    padding: 5px;
}


.title_tour{
padding-top:30px;
 
}

 
.poi{
	margin-bottom:20px;
	padding:30px 30px 0px 30px
}

.things-image{
	width: 100%;
	margin-bottom:10px;
}

.bg-gray{
	padding-bottom:1px;
}

.navbar-brand{ 
	font-weight:700;
	color: #2c2a2c;
	padding-bottom:0px;
}

 

.social{
float:left;
padding-top: 17px;	
}

.social-icons li a{
background-color: #bc0335;
    color: white;
    display: inline-block;
    position: relative;
    width: 27px;
    height: 27px;
        border-radius: 50%;
    -webkit-transition: background-color 0.3s ease-in-out;
    -moz-transition: background-color 0.3s ease-in-out;
    -ms-transition: background-color 0.3s ease-in-out;
    -o-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
 }

.social-icons li a i{
	position:absolute;
	    left: 50%;
    top: 50%;
    font-size:14px;
        -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
 
.social-icons{
list-style: none;	
    margin-bottom: 0px;
    padding-left: 0px;
}

.social-icons li{
	    display: inline-block;
    position: relative;
}

.col-md-4.logo {
    text-align: center;
}
.col-md-4.burger {
    text-align: right;
    margin-top: 46px;
}

.navbar-light .navbar-toggler {
    color: rgb(0, 0, 0);
    border-color: rgba(255,255,255);
    
}

.navbar-toggler {
    font-size: 1.50rem;
 }   

.sidebar{
 padding-top:100px;
}

.navbar-nav .nav-link {
    padding-right: 41px;
    padding-left: 0;
    text-align: right;
    padding-left: 25px;
}

 div.img-1,
div.img-2,
div.img-3
{
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}


ul.navbar-nav.mr-auto {
    float: right;
   }

.sidenav {
    height: 100%;
 
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    background-color: #fff;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 100px;
}

.sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 15px;
    color: #000;
    display: block;
    transition: 0.3s;
    font-weight: 700;
    text-transform: uppercase;    
}

.sidenav a:hover {
    color: #000;
}

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-right: 9px;
    padding-top: 44px;
}

#main {
    transition: margin-left .5s;
    padding: 16px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}


.dow-arrow {
    border-radius: 50%;
    width: 64px;
    height: 64px;
    background: #bc0335;
    color: #fff;
    font-size: 35px;
    padding-top: 6px;
    margin: auto;
    position: absolute;
    top: 0;
    position: absolute;
    top: 85%;
    left: 50%;
    transform: translate(-50%,-50%);
}
 

.container-fluid{
 
}

 #distance-line .distance-label{
    background-image: url(../images/distance.png);
    background-size: cover;
    padding: 3px 10px;
    color: white;
    background-color: transparent;
    opacity: 1;
    text-transform: uppercase;
    margin-top: 16px;
    vertical-align: top;
    display: inline-block;
    margin-bottom: 3px;
 }
 
  .hidden-lg{
    display: inline-block;
  }
  
    .hidden-sx{
  	display:none;
  }
  
  .col.logo.hidden-lg {
    text-align: center;
}

    .loader {
        position: fixed;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%;
        z-index: 9999;
        background: url('../images/preloader.gif') 50% 50% no-repeat rgb(249,249,249);
     }
 
  .img-4-home{
 	height:490px;
	background-size: cover;
	text-align:center;
 } 
 
 .home_caption{
	color: white;
    background-color: rgba(0, 0, 0, 0.36);
    text-align: center;
    position: absolute;
    bottom: 30px;
    right: 25%;
    left: 50%;
    margin-left: -452px;
    width: 908px;
    padding: 30px;
  }
 
 .title-home{
 	font-weight:700;
 	font-size: 1.6rem;
 }
 
 .sub-title-home{
 	    font-size: 1.6rem;
 	    font-weight: 300;
 }
 
div.half-bg-home{
      margin-top: -10px;
    height: 170px;
 
}

.half-gray-home{
	background-color:  #bc0335;
	color:#fff;
		padding-bottom:10px;
}

.service-desc-home{
	font-size:30px;
	font-weight:700;
    padding-top: 50px;	

}

.text-home{
	text-align:center;
	padding: 20px;
	padding-bottom:80px;
}

.step-desc-info i {
    font-size: 30px;
    padding-bottom: 10px;
    padding-top: 10px;
}

.poi-km {
    position: absolute;
margin-top: -56px;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.56);
    color: #fff;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
    line-height: 18px;
}

.poi-km span {
    font-weight: 700;
    font-size: 17px;
    display: block;
}

.bottom{
    margin-bottom: 40px;
    margin-top: 40px;
    margin-left:auto;
    margin-right:auto;
    padding-top: 40px;
    padding-bottom: 50px;
    width: 1000px;
}

.img-footer{
	  background: #fff url('https://www.valtellina.it/flex/TemplatesUSR/assets/img/footer/bg-footer.png') bottom center no-repeat;
}

.separator{
	background-color:#bc0335;
	padding:20px;

}
 
 
 .img-footer-1{
 	height: 50px;
 }
 
 .img-footer-2{
 	float:right;
 	height:40px;
 	margin-left: 20px;
 }
 
 .img-footer-3{
 	float:right;
 	height:40px;
 } 

.poi-image{
	width:100%;
}

.poi-title{
	padding-top:5px;
}
 
.poi-title {
    padding-top: 20px;
    font-size: 1.0rem;
    text-transform: uppercase;
    color: #bc0335;
    font-weight: 700;
    letter-spacing: 0.04em;
} 

 

.box-home{
	background-color: rgba(0, 0, 0, 0.05 ); 
	color:#000;
	padding:20px;
	padding-bottom:20px;
}

.box-home h3{
	font-size: 1.2rem;
}

.box-home h4{
	font-size: 1.0rem;
	font-weight:700;
 	margin-top:20px;
}

.avvisi{
color:#bc0335;
border-bottom: 2px solid #bc0335;
padding-bottom: 8px;
font-weight:700;
} 

.news{
color:#dfa73d;
border-bottom: 2px solid #dfa73d;
padding-bottom: 8px;
font-weight:700;
} 

.news i{
	float:right;
}

.avvisi i{
	float:right;
}

.btn-primary:hover {
    color: #fff;
    background-color: #dfa73d;
    border-color: #dfa73d;
}

.btn-primary {
    color: #fff;
    background-color: #dfa73d;
    border-color: #dfa73d;
        border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.btn-primary:not(:disabled):not(.disabled):active{
	    color: #fff;
    background-color: #dfa73d;
    border-color: #dfa73d;
}

.btn-primary:not(:disabled):not(.disabled):active:focus{
	box-shadow:none;
}

.text-muted {
    color: #ffffff!important;
    font-weight:600;
    letter-spacing: 1px;
}

div#collapsemap {
    border-top: 5px solid #dfa73d;
}


#freccia_home {
    padding-left: 16px;
}

.dow-arrow2 {
    border-radius: 50%;
    width: 64px;
    height: 64px;
    background: #bc0335;
    color: #fff;
    font-size: 35px;
    padding-top: 6px;
    margin: auto;
    position: absolute;
    top: 0;
    position: absolute;
    top: 22.1%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.mappa_wrap  {
    position: relative;
    padding-bottom: 65.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
/* iframe posizionato in maniera assoluta */
.mappa_wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.col.burger {
    text-align: right;
}

.webcam{
	margin-top:150px;
}

.webcamimg{
	padding-bottom:50px;
}
.web_info ul {
    list-style: none;
    padding-left: 0px;
}

.image img {
    width: 100%;
}


/*****************/

@media screen and (min-width: 320px) and (max-width: 767px) {
  
  .hidden-sx{
    display: contents;
  }
  
  .box-home{
  	margin-top:20px;
  }
  
  .main-image{
  	background-size:contain;
  	background-repeat:no-repeat;
  	height: 51vh;
  }

 div.half-gray{
 padding-bottom: 20px;	
 }
  
  .dow-arrow2{
  	display:none;
  }  
  .dow-arrow{
  	display:none;
  }
  
  .h2, h2 {
    font-size: 1.1rem;
}
 
 .mappa_wrap {
    position: relative;
    padding-bottom: 140.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
 
 .caption h1 {
    font-family: 'Lato', 'Arial', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 45px;
    letter-spacing: 1px;
    margin-bottom: 15px;
}
  
  .hidden-lg{
 	display:none;
  }
  
  div.itinerary-container{
  width: 100%;
  }
  
  .service{
  	width: 100%;
  	margin-top: 20px;
  }
  
div.block-1 .place-desc{
      min-height: 0px;
  }
 
 div.block{
 	margin-top:0px;
 }
  
  .navbar-toggler{
  	float:right;
  }
  
  .step-desc{
  	text-align: center;
    padding-right: 0px!important  	
  }
  
  .img-4{
  	display: none;
  }
  
  .service-title{
  	color:#000;
   }
 
 
 .step-desc-info {
   float: none;
   width: 100%;
}

.info2{
	margin-left:0px;
	margin-top:20px;
}

.track-info{
	margin-bottom:20px;
}

.things-desc {
    margin-bottom: 20px;
    padding: 12px;
}

.sidenav {
 
    padding-top: 55px;
}

.sidenav .closebtn{
	padding-top:0px;
}
  
 
 
.bottom{
	width: 100%;
	margin-top:0px;
padding-bottom: 80px;
} 
 
 .img-footer-1{
 display:block;
 margin: auto;	
 }
 
 .img-footer-2{
 	float:right;
 	margin-top:10px;
 
 	
 }
 
 .img-footer-3{
 	float:left;
 	 margin-top:10px;
 
 }
 
 .title_tour{
 
text-align: center; 
}
 
 .poi {
  
    padding: 14px;
}

.half-gray-home{
	margin-top:20px;
}

.place-services {
    margin: -153px 0px 10px 0px;
}

.service-icon{
	margin-left:35%;
}

.home_caption {
    color: white;
    background-color: rgba(0, 0, 0, 0.36);
    text-align: center;
    position: absolute;
    bottom: 30px;
	right: 10px;
    left: 10px;
    margin-left: 0px;
    width: 94%;
    padding: 9px;
}


}






