html,body
{
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden; 
}
main { height: 0; width: 100vw; }

#legContainerMain{
    overflow: hidden;
}

#map{
    height: 549px;
    border: 1px solid #a7a5a6;
    
    z-index: 0;
    cursor:crosshair;
}

.mapboxgl-canvas-container.mapboxgl-interactive, .mapboxgl-ctrl-nav-compass{
    cursor:crosshair;
}


.contact{
    color: #a54a36;
    font-size: 11px;
    font-style: italic;
    padding: 5px;
}

.leaflet-div-icon{
    background-color: transparent;
    border:none;
}
.leaflet-marker-icon.StateHouseLayer{
    color:#ff6600;
}
.leaflet-marker-icon.StateSenateLayer{
    color:#ff6600;
    font-weight: bold;
    font-size: 1.25em;
}
.leaflet-marker-icon.CountyBoundaryLayer{
    color:#231f20;
    font-weight:bold;
    line-height: 1em;
    margin-left:-20px;
}
.leaflet-marker-icon.CongressionalLayer{
    color: #ff3399;
    font-weight:bold;
}

#sidebar{
    position:relative;
    
    
    width:100%;
}
.notice {
    color: #8d8d8d;
    font-size: 12px;
    font-style: italic;
    margin-bottom: 0;
    margin-top: 90px;
    position: absolute;
    text-align: center;
}
#mask {
    position: absolute;
    height: 100%;
    top: 0;
    width: 100%;
    z-index: 101;
     background-color: #f2f2f2;
    border-top: 1px solid #a7a5a6;
    border-right: 1px solid #a7a5a6;
    border-bottom: 1px solid #a7a5a6;
    border-left: 3px solid #a7a5a6;

}
#mask p{
    margin-top: 10px;
    padding:0 10px;
}
#mask ul{
    margin-top:-7px;
    
    
    text-align: center;
}
#mask img{
    margin-left:31%;
    margin-top:160px;
}
#mask li{
        padding:7px;
}

.helpers{
    color:#888;
    
    text-align: center;
    font-size: 0.9em;
}

.loader {
  margin: auto;
  margin-top:70%;
  left:0;
  right:0;
  font-size: 10px;
  position: absolute;
  z-index: 1005;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(0, 0, 0, 0.5);
  border-right: 1.1em solid rgba(0, 0, 0, 0.5);
  border-bottom: 1.1em solid rgba(0, 0, 0, 0.5);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 0.8s infinite linear;
  animation: load8 0.8s infinite linear;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 3em;
  height: 3em;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#loading{
    position: absolute;
    left: 62%;
    top: 54%;
    z-index: 1005;
    height:23px;
}
.leaflet-container{
    cursor: crosshair;
}


ul{
    list-style-type: none;  
}
.party{
    font-weight: normal;
}
#geocodeFeedback{
    font-size: 12px;
    text-align: center;
}
.search{
    z-index: 1;
    width:100%;
    height:86px;
    
    left:25px;
    background-color: #f2f2f2;
    border-top: 1px solid #a7a5a6;
    border-right: 1px solid #a7a5a6;
    border-bottom: 1px solid #a7a5a6;
    border-left: 3px solid #a7a5a6;
}

.mnhouse, .mnsenate, .ushouse, .ussenate1, .ussenate2, .precincts {
    position:relative;
    height:60px;
    background-color: #f2f2f2;
    border-top: 1px solid #a7a5a6;
    border-right: 1px solid #a7a5a6;
    border-bottom: 1px solid #a7a5a6;
    border-left: 3px solid #a7a5a6;
}

.schooldistrict {
    position:relative;
    height:146px;
    background-color: #f2f2f2;
    border-top: 1px solid #a7a5a6;
    border-right: 1px solid #a7a5a6;
    border-bottom: 1px solid #a7a5a6;
    border-left: 3px solid #a7a5a6; 
}
.schooldistrict:hover,.precincts:hover,.mnhouse:hover, .mnsenate:hover, .ushouse:hover, .ussenate1:hover, .ussenate2:hover{
    border-left: 3px solid #a54a36;
}

#officials > .active{
    background-color: rgba(165,74,54,.35);
    border-top: 1px solid #a54a36;
    border-right: 1px solid #a54a36;
    border-bottom: 1px solid #a54a36;
    border-left: 3px solid #a54a36;
    
}
#officials > .active:hover{
    
    border-left: 3px solid #a54a36;
}

.schooldistrict, .precincts,.mnhouse, .mnsenate,.ushouse, .ussenate1, .ussenate2{
    margin-top:3px;
}

.precinctTitle{
    font-weight: bold;
    text-align: center;
}

#precinctName{
    text-align: center;
}

.member-info{
    margin-top:10px;
    margin-left:40px;
}
.precinct-info{
    margin-top: 5px;
}
{
    margin-top: 15px;
}
.district-info{
    margin-left: 45px;
}
#housemember,#senatemember, #ushousemember, #ussenatemember, #ussenatemember2{
    
    
    text-align: center;  
}
#housedistrict, #senatedistrict, #ushousedistrict, #ussenatedistrict, #ussenatedistrict2, #precinctData{
    margin-top:2px;
    
    text-align: center;
}

.contact-info{
    position: absolute;
    right:5px;
    top:5px;
}

.sos-info, .sd-map{
    position: absolute;
    right:5px;
    top:12px;
}

.precinct-map-it{
    position: absolute;
    right:5px;
    top:40px;    
}

.sd-map-it{
    position: absolute;
    right:5px;
    top:7px;    
}

.map-it{
    position: absolute;
    right:5px;
    top:33px;
}

.schools{
    font-size: 13px;
}

.contact-info button, .map-it button, .precinct-map-it button{
    padding: 0px 5px;
    
}

#officials img {
    height: 100%;
    min-height: 57px;
    max-width: 65%;
    position: absolute;
    top: 0;
    border:none;
}

.geo_hint{
    left:80px;
    position:relative;
    text-align:left;
    top:0;
    display:none;
    font-weight: bold;
    z-index: 1000;
}

.search label{
    font-weight: bold;
    font-size: 12px;
}

#map_title{
    text-align: center;
}

#map_reset{

    font-size: 11px;

}
#members-elect{
    position: absolute;
    text-align: center;
    top:55px;
    left:388px;
    
}
#members-elect a{
    z-index:3;
}

#map_layers_toggle{
    color:#e6e6e6;
}



#map_search_results_metadata{
    font-size: 11px;
    position: relative;
    bottom:0;
    width:100%;
    padding-left: 15%;
    text-align: center;
}

#map_disclaimer, #map_help{
    font-size: 11px;
    padding:3px;
}

#triangle-topright{
    position:absolute;
    right:0;
    width:0;
    height:0;
    border-top:100px solid #495057;
    border-left: 100px solid transparent;
    z-index: 101;
}

#triangle-topright{
    cursor:pointer;
}

#map_layers{
    position:absolute;
    right:-227px;
    width:225px;
    height: 529px;
    background-color: #495057;
    color:#fff;

    z-index: 101;
}

#map_layers_content_title{
    position:relative;
    left:38%;
    top:68px;
    font-size: 15px;
    
}

#map_layers_content_list{
    position: relative;
    
    top:85px;
}

#map_layers_toggle{
    position: absolute;
    right:5px;
    top:8px;
}

#map_layers_basemap_title{
    position:relative;
    left:23%;
    top:105px;
    font-size: 15px;
    
}

#triangle-topright .fa-map{
    color:#e6e6e6;
    position: absolute;
    right:23px;
    bottom:67px;
}

.form-group{
    padding: 10px;
}

.form-group input{
    height:23px;
    border: solid 1px #dcdcdc;
    border-radius: 4px;
    color: #495057;
    margin-top: 5px;
    height:27px;
    transition: box-shadow 0.3s, border 0.3s;
        
        width: -moz-calc(99% - 22px);
        
        width: -webkit-calc(99% - 22px);
        
        width: -o-calc(99% - 22px);
        
        width: calc(99% - 22px);
}

.form-group input:focus{
    border: solid 1px #707070;
    box-shadow: 0 0 5px 1px #969696;
    
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 4px rgba(85, 85, 85, 0.6);
    outline: 0 none;
}
.searchButton{
    display:block;
    position:absolute;
    top:29px;
    right:3px;
    padding:5px;
    background-color: #495057;
    color:#e6e6e6;
    border:none;
    border-radius:2px;
    cursor:pointer;
}

.searchButton:hover{
    color:#8d8d8d;
}

.center{
    
    color: #888;
}
#switchBasemap{
    position:relative;
    left:36%;
    top:125px;
    background-color: #606060;
    border: 1px solid #495057;
    border-radius: 3px;
    padding: 1px;
    color: white;
}
#switchBasemap:hover{
    background-color: #919191;
    cursor: pointer;
}

#switchLabel{
    position:relative;
    top: 105px;
    left:77px;
}


.layersswitchLabel{
    position:   relative;   
    left: 77px;
    top:-18px;
}
#satellitediv{
    top:125px;
    left:25px;
}
.onoffswitch {
    position: relative; width: 47px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
    left:25px;
    top:0;

}
.onoffswitch-checkbox {
    display: none;
}
.onoffswitch-label {
    display: block; overflow: hidden; cursor: pointer;
    border: 4px solid #495057; border-radius: 2px;
}
.onoffswitch-inner {
    display: block; width: 200%; margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 12px; padding: 0; line-height: 12px;
    font-size: 11px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "OFF";
    padding-left: 5px;
    background-color: #8D8D8D; color: #FFFFFF;
    font-weight:300;
}
.onoffswitch-inner:after {
    content: "ON";
    padding-right: 5px;
    background-color: #97BF97; color: #FFFFFF;
    text-align: right;
    font-weight:300;
}
.onoffswitch-switch {
    display: block; width: 16px; margin: -2px;
    background: #FFFFFF;
    position: absolute; top: 0; bottom: 0;
    right: 31px;
    border: 2px solid #495057; border-radius: 2px;
    transition: all 0.3s ease-in 0s; 
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px; 
}



.popup {

    display:none;
    position:absolute   ;
    bottom:28px;
    right:1px;
    background:rgba(0,0,0,0.75);
    
    height: 545px;
    width:70%;

}
 

.popup-inner {
    max-width:700px;
    width:70%;
    padding:40px;
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%, -50%);
    transform:translate(-50%, -50%);
    box-shadow:0px 2px 6px rgba(0,0,0,1);
    border-radius:3px;
    background:#fff;
}
 

.popup-close {
    width:30px;
    height:30px;
    padding-top:4px;
    display:inline-block;
    position:absolute;
    top:0px;
    right:0px;
    transition:ease 0.25s all;
    -webkit-transform:translate(50%, -50%);
    transform:translate(50%, -50%);
    border-radius:1000px;
    background:rgba(0,0,0,0.8);
    font-family:Arial, Sans-Serif;
    font-size:20px;
    text-align:center;
    line-height:100%;
    color:#fff;
}

    .smallscreen{
        position: absolute;
        top:24px;
        width:89%;
    }
    #toggleSidebar{
        display:none;
    }
    #pull-out{
        display:none;
    }
    #pull-in{
        display:none;
    }
#gpsButton{
        
    }


  #mnhouselink, #mnsenlink, #ushouselink, #ussenatelink, #ussenate2link,#precinctlink, #sd-map-button{
    padding: 0 5px;
  }
 

@media screen and (max-width: 767px) {
  .leg_PageHeader{
    display:none;
  }
  .leg_PageContent{
     max-height: 655px;
    }

    #sidebar{
        background-color:#fff;
        z-index: 1001;
        left:-105%;
    }


  #map{
    position:relative;
    top:-525px;
    width:100%;
    height:530px;
  }
  #triangle-topright{
    top:-525px;
    right:4%;
  }


  #sidebar.animate{
    left: 0px;
    transition: all 0.5s ease-out 0s;
    
  }
  
  #sidebar.animate #housedistrict, #sidebar.animate #senatedistrict, #sidebar.animate #ushousedistrict, #sidebar.animate #ussenatedistrict, #sidebar.animate #ussenatedistrict2{
    left:80px;
  }
  #map_layers{
    top:-525px;
  }

  #toggleSidebar{
        display:block;
        font-size:1.2rem;
        padding:18px;
        background-color: #495057;
        text-align:center;
        margin:0;
        color:#e6e6e6;
        border-left: 3px solid #a7a5a6;
    }
  .popup{
        width:100%;
        height: 82%;
        bottom:21px;
    }
    #geocodeFeedback{
        text-align: center;
    }

    #pull-out{
        display: block;
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        border-bottom-right-radius: 5px;
        border-top-right-radius: 5px;
        padding: 30px 15px;
        position: absolute;
        top: 40%;
        z-index: 1;
    }

    #pull-in{
        display:block;
        position:absolute;
        right:5px;
        top: 5px;
        padding: 3px 10px;

    }

    .search label {
        
        position: relative;
    }
}
@media screen and (min-width: 576px) and (max-width: 800px) {

    #gpsButton{
        
    }

}