/*

OPW - Flood Risk Management
Styles for Map components

*/


/* Custom checkbox switch */
.switch-button {
display: inline-block;
padding: 0;
vertical-align: top;
}
.switch-button input {
position: absolute;
visibility: hidden;
display: none;
}
.switch-button input:checked + .switch-button-background {
background: #008b58;
border: 1px solid #008b58;
-webkit-animation: flash-on 0.5s ease 0s;
-moz-animation: flash-on 0.5s ease 0s;
-ms-animation: flash-on 0.5s ease 0s;
animation: flash-on 0.5s ease 0s;
}
@-webkit-keyframes flash-on {
  0% { background: #008b58; }
  50% { background: #6ac01d; }
  100% { background: #008b58; }
}
@-moz-keyframes flash-on {
  0% { background: #008b58; }
  50% { background: #6ac01d; }
  100% { background: #008b58; }
}
@keyframes flash-on {
  0% { background: #008b58; }
  50% { background: #6ac01d; }
  100% { background: #008b58; }
}
.switch-button input:checked + .switch-button-background:after {
content: "On";
right: auto;
left: 5px;
color: #ffffff;
}
.switch-button input:checked + .switch-button-background .switch-button-button {
left: 22px;
border: 1px solid #008b58;
}
.switch-button .switch-button-background {
position: relative;
z-index: 1; /* important to maintain overflow:hidden */
display: inline-block;
width: 36px;
height: 22px;
border-radius: 22px;
background: #eeeeee;
border: 1px solid #aaaaaa;
box-shadow: inset 0px 0px 8px rgba(0,0,0,0.2);
margin: 0;
overflow: hidden;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
-ms-transition: all 0.2s ease;
transition: all 0.2s ease;
}
.switch-button .switch-button-background:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.1);
border-radius: 22px;
opacity: 0;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
-ms-transition: all 0.2s ease;
transition: all 0.2s ease;
}
.switch-button .switch-button-background:after {
content: "Off";
position: absolute;
top: 4px;
left: 15px;
font-size: 10px;
color: #333333;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
transition: all 0.3s ease;
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
}
.switch-button .switch-button-background .switch-button-button {
position: absolute;
left: -8px;
top: 0;
width: 20px;
height: 20px;
border: 1px solid #aaaaaa;
border-radius: 50%;
box-shadow: 0px 0px 6px rgba(0,0,0,0.2);
background-color: #ffffff;
background: url('../img/icons/button-shine.png');
background-size: cover;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
transition: all 0.3s ease;
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
transition-timing-function: cubic-bezier(0.175, 0.885, 0.240, 1.135);
}
.switch-button:hover .switch-button-background:before {
opacity: 1;
}
.switch-button:hover .switch-button-background .switch-button-button {
background: url('../img/icons/button-shine-hover.png');
background-size: cover;
}
.switch-button:hover input:checked + .switch-button-background  .switch-button-button {
background: url('../img/icons/button-shine-hover.png');
background-size: cover;
}




/* Expand toggle button */
.expand-toggle {
cursor: pointer;
}
.expand-toggle:hover,
.expand-toggle:active,
.expand-toggle:focus,
.expand-toggle:active:focus {
text-decoration: none;
}
.expand-toggle:before {
content: "";
display: inline-block;
width: 16px;
height: 16px;
border-radius: 3px;
background: #006c86;
background-size: 80%;
background-repeat: no-repeat;
background-position: center center;
background-image: url('../img/icons/add-white.png');
-webkit-transition: all 0.3s ease 0.05s;
-moz-transition: all 0.3s ease 0.05s;
-ms-transition: all 0.3s ease 0.05s;
transition: all 0.3s ease 0.05s;
}
.expand-toggle.active:before {
-webkit-transform: rotateX(180deg);
-moz-transform: rotateX(180deg);
-ms-transform: rotateX(180deg);
transform: rotateX(180deg);
background-image: url('../img/icons/remove-white.png');
}



/* Info button */
.info-button {
position: relative;
display: inline-block;
width: 40px;
height: 40px;
cursor: pointer;
background-size: 60%;
background-repeat: no-repeat;
background-position: center center;
background-image: url('../img/icons/info-green.png');
}
/* Info button */
.info-button-small {
background-size: 40%;
}



/* Info modal close (Bootstrap default override) */
.modal-header .modal-title {
position: relative;
padding-right: 50px;
}
.modal-header .close {
position: absolute;
top: -2px;
right: 0;
width: 44px;
height: 44px;
background-size: 40%;
background-repeat: no-repeat;
background-position: center center;
background-image: url('../img/icons/close-green.png');
opacity: 1;
}
.modal-header .close:hover,
.modal-header .close:focus {
outline: none;
opacity: 1;
}


/* Panel close */
.panel-close {
position: absolute;
top: 0;
right: 0;
width: 44px;
height: 44px;
background-size: 40%;
background-repeat: no-repeat;
background-position: center center;
background-image: url('../img/icons/close-white-thin.png');
}




/* Sliders (overwrite jQuery UI default styles) */
.slider.ui-widget.ui-widget-content {
position: relative;
width: 100%;
height: 15px;
border-radius: 15px;
border: 1px solid #046e87;
background: #ffffff;
}
.slider.ui-widget.ui-widget-content:before {
position: absolute;
content: "0%";
top: 0;
left: 5px;
font-size: 10px;
font-weight: 600;
color: #666666;
}
.slider.ui-widget.ui-widget-content:after {
position: absolute;
content: "100%";
top: 0;
right: 5px;
font-size: 11px;
font-weight: 600;
color: #ffffff;
text-shadow: 0px 0px 1px #000;
}
.slider.ui-widget.ui-widget-content span.ui-state-default {
width: 25px;
height: 25px;
border-radius: 50%;
background: #ffffff;
border: 1px solid #00596f;
}
.slider.ui-widget.ui-widget-content span.ui-state-default:focus {
outline: 0;
}
/* Blue slider */
.slider-blue.ui-widget.ui-widget-content {
border: 1px solid #046e87;
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(80,149,200,1) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(80,149,200,1) 100%);
background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(80,149,200,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#5095c8',GradientType=1 );
}
.slider-blue.ui-widget.ui-widget-content span.ui-state-default {
background: #046e87;
border: 1px solid #00596f;
}
/* Green slider */
.slider-green.ui-widget.ui-widget-content {
border: 1px solid #60b117;
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(152,210,99,1) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(152,210,99,1) 100%);
background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(152,210,99,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#98d263',GradientType=1 );
}
.slider-green.ui-widget.ui-widget-content span.ui-state-default {
background: #6ac01d;
border: 1px solid #60b117;
}
/* Orange slider */
.slider-orange.ui-widget.ui-widget-content {
border: 1px solid #c88607;
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(237,191,103,1) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(237,191,103,1) 100%);
background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(237,191,103,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#edbf67',GradientType=1 );
}
.slider-orange.ui-widget.ui-widget-content span.ui-state-default {
background: #e7a423;
border: 1px solid #c88607;
}



/* Legand */
.legend {
font-size: 14px;
font-weight: 400;
color: #666666;
margin-bottom: 5px;
}
.legend .legend-icon {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
top: 5px;
margin-left: 5px;
border: 0px solid #8dadb9;
background-size: 90%;
background-repeat: no-repeat;
background-position: center center;
}

/* Base Map Switcher */
#map-background {
position: absolute;
z-index: 50;
right: 15px;
bottom: 70px;
width: 56px;
}
#map-background ul {
position: absolute;
bottom: 56px;
list-style-type: none;
margin: 0;
padding: 20px 0;
visibility: hidden;
-webkit-transform: rotate(180deg) translateY(-20px);
-moz-transform: rotate(180deg) translateY(-20px);
-ms-transform: rotate(180deg) translateY(-20px);
transform: rotate(180deg) translateY(-20px);
-webkit-transition: visibility 0s ease 0.2s;  /* Delay just greater than longer inner item delay */
-moz-transition: visibility 0s ease 0.2s;
-ms-transition: visibility 0s ease 0.2s;
transition: visibility 0s ease 0.2s;
}
#map-background ul li {
display: block;
margin-bottom: 0px;
-webkit-transform: rotate(-180deg);
-moz-transform: rotate(-180deg);
-ms-transform: rotate(-180deg);
transform: rotate(-180deg);
}
#map-background ul li:before {
display: none;
}
#map-background ul li a {
position: relative;
display: inline-block;
width: 56px;
height: 56px;
background: #434a54;
border: 1px solid #006c85;
border-radius: 50%;
box-shadow: 0px 2px 9px rgba(0,0,0,0.35);
overflow: hidden;
-webkit-transform: scale(0);
-moz-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
}
#map-background ul li a:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.1);
}
#map-background ul li a img {
margin-top: 0%;
margin-left: 0%;
width: 100%;
height: 100%;
}
#map-background ul li a span {
position: absolute;
top: 50%;
left: 50%;
font-size: 14px;
line-height: 1.2;
color: #ffffff;
text-shadow: 0px 0px 15px rgba(0,0,0,0.9);
text-align: center;
border-radius: 8px;
z-index: 1;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
#map-background ul li a:hover {
box-shadow: 0px 2px 10px rgba(0,0,0,0.75);
}
#map-background ul li a:active {
background: #434a54;
}
/* Set disappear sequence (reverse) */
#map-background ul li:nth-of-type(1) a {
-webkit-transition: transform 0.2s ease 0.16s, box-shadow 0.2s ease;
-moz-transition: transform 0.2s ease 0.16s, box-shadow 0.2s ease;
-ms-transition: transform 0.2s ease 0.16s, box-shadow 0.2s ease;
transition: transform 0.2s ease 0.16s, box-shadow 0.2s ease;
}
#map-background ul li:nth-of-type(2) a {
-webkit-transition: transform 0.2s ease 0.08s, box-shadow 0.2s ease;
-moz-transition: transform 0.2s ease 0.08s, box-shadow 0.2s ease;
-ms-transition: transform 0.2s ease 0.08s, box-shadow 0.2s ease;
transition: transform 0.2s ease 0.08s, box-shadow 0.2s ease;
}
#map-background ul li:nth-of-type(3) a {
-webkit-transition: transform 0.2s ease 0s, box-shadow 0.2s ease);
-moz-transition: transform 0.2s ease 0s, box-shadow 0.2s ease);
-ms-transition: transform 0.2s ease 0s, box-shadow 0.2s ease);
transition: transform 0.2s ease 0s, box-shadow 0.2s ease);
}
#map-background.active ul {
visibility: visible;
}
#map-background.active ul li a {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
#map-background > a {
position: absolute;
bottom: 0;
display: block;
width: 56px;
height: 56px;
background: #006c85;
border-radius: 50%;
box-shadow: 0px 2px 9px rgba(0,0,0,0.35);
}
#map-background > a:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
background: url('/static/floodmaps/img/icons/bg_layers.png');
background-size: cover;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
-ms-transition: all 0.2s ease;
transition: all 0.2s ease;
}
#map-background > a:hover {
background: #035a6f;
}
/* Hover to show sequence with delays */
#map-background.active > a + ul {
visibility: visible;
-webkit-transition: visibility 0s ease 0s;
-moz-transition: visibility 0s ease 0s;
-ms-transition: visibility 0s ease 0s;
transition: visibility 0s ease 0s;
}
#map-background.active > a + ul li:nth-of-type(1) a {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
-webkit-transition: transform 0.2s ease 0s, background 0.2s ease;
-moz-transition: transform 0.2s ease 0s, background 0.2s ease;
-ms-transition: transform 0.2s ease 0s, background 0.2s ease;
transition: transform 0.2s ease 0s, background 0.2s ease;
}
#map-background.active > a + ul li:nth-of-type(2) a {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
-webkit-transition: transform 0.2s ease 0.08s, background 0.2s ease;
-moz-transition: transform 0.2s ease 0.08s, background 0.2s ease;
-ms-transition: transform 0.2s ease 0.08s, background 0.2s ease;
transition: transform 0.2s ease 0.08s, background 0.2s ease;
}
#map-background.active > a + ul li:nth-of-type(3) a {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
-webkit-transition: transform 0.2s ease 0.16s, background 0.2s ease;
-moz-transition: transform 0.2s ease 0.16s, background 0.2s ease;
-ms-transition: transform 0.2s ease 0.16s, background 0.2s ease;
transition: transform 0.2s ease 0.16s, background 0.2s ease;
}







/* Open Layers control buttons overwrites */
.ol-overlaycontainer-stopevent {
  position: absolute;
  display: inline-block;
  right: 0px;
  bottom: 0px;
  background: #ffffff;
  border-radius: 999px;
  padding: 5px;
  margin-right: 15px;
  margin-bottom: 10px;
}
/* zoom controls */
.ol-overlaycontainer-stopevent .ol-zoom {
    position: relative;
    display: inline-block;
    float: right;
    top: auto;
    left: auto;
    padding: 0;
    background: transparent;
}
.ol-overlaycontainer-stopevent .ol-zoom button.ol-zoom-in,
.ol-overlaycontainer-stopevent .ol-zoom button.ol-zoom-out {
  float: right;
  display: inline-block;
  margin: 0;
  margin-left: 4px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #006c85;
  font-size: 22px;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
.ol-overlaycontainer-stopevent .ol-zoom button.ol-zoom-in:hover,
.ol-overlaycontainer-stopevent .ol-zoom button.ol-zoom-out:hover {
  opacity: 0.8;
}
.ol-overlaycontainer-stopevent .ol-zoom button.ol-zoom-in:focus,
.ol-overlaycontainer-stopevent .ol-zoom button.ol-zoom-out:focus {
  background: #006c85;
  outline: none;
}
.ol-overlaycontainer-stopevent .ol-zoom:hover {
  background: transparent;
}
/* rotate control */
.ol-overlaycontainer-stopevent .ol-rotate {
  display: none;
  position: relative;
  float: right;
  top: auto;
  right: auto;
  padding: 0;
  /*opacity: 1!important;
  visibility: visible!important;*/
}
.ol-overlaycontainer-stopevent .ol-rotate button {
  display: inline-block;
  margin: 0;
  margin-left: 4px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #006c85;
  font-size: 22px;
  line-height: 32px;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
.ol-overlaycontainer-stopevent .ol-rotate button span {
  font-size: 20px;
  line-height: 32px;
}
.ol-overlaycontainer-stopevent .ol-rotate button:hover {
  background: #006c85;
  opacity: 0.8;
}
.ol-overlaycontainer-stopevent .ol-rotate button:active,
.ol-overlaycontainer-stopevent .ol-rotate button:visited,
.ol-overlaycontainer-stopevent .ol-rotate button:focus {
  background: #006c85;
  outline: none;
}

/* attribution control */
.ol-overlaycontainer-stopevent .ol-attribution {
  position: relative;
  display: inline-block;
  float: right;
  bottom: auto;
  right: auto;
  max-width: none;
  padding: 0;
  background: transparent;
}
.ol-overlaycontainer-stopevent .ol-attribution ul {
  font-size: 14px;
  line-height: 32px;
  padding: 0 5px;
}
.ol-overlaycontainer-stopevent .ol-attribution ul li:before {
display: none;
}
.ol-overlaycontainer-stopevent .ol-attribution button {
  display: inline-block;
  margin: 0;
  margin-left: 0px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #006c85;
  font-size: 22px;
  line-height: 32px;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
.ol-overlaycontainer-stopevent .ol-attribution button span {
  font-size: 20px;
  line-height: 32px;
}
.ol-overlaycontainer-stopevent .ol-attribution button:hover {
  background: #006c85;
  opacity: 0.8;
}
.ol-overlaycontainer-stopevent .ol-attribution button:active,
.ol-overlaycontainer-stopevent .ol-attribution button:visited,
.ol-overlaycontainer-stopevent .ol-attribution button:focus {
  background: #006c85;
  outline: none;
}

.ol-overlaycontainer-stopevent .ol-scale-line {
  position: fixed;
  bottom: 10px;
  left: 15px;
}







@media screen and (max-width: 1500px) {

} /* end max-width 1500px */







@media screen and (max-width: 1199px) {

} /* end max-width 1199px */






@media screen and (max-width: 991px) {

} /* end max-width 991px */






@media screen and (max-width: 768px) {

  /* Info button */
  .info-button-small {
  background-size: 55%;
  }

  /* Sliders (overwrite jQuery UI default styles) */
  .slider.ui-widget.ui-widget-content span.ui-state-default {
  width: 32px;
  height: 32px;
  top: -10px;
  border-radius: 50%;
  }

} /* end max-width 768px */






@media screen and (max-width: 450px) {

  /* Custom checkbox switch */
  .switch-button:hover .switch-button-background:before {
  opacity: 0;
  }

  /* Base Map Switcher */
  #map-background {
  position: absolute;
  z-index: 50;
  right: 15px;
  bottom: 65px;
  width: 44px;
  }
  #map-background ul {
  position: absolute;
  bottom: 44px;
  list-style-type: none;
  margin: 0;
  padding: 20px 0;
  visibility: hidden;
  -webkit-transform: rotate(180deg) translateY(-20px);
  -moz-transform: rotate(180deg) translateY(-20px);
  -ms-transform: rotate(180deg) translateY(-20px);
  transform: rotate(180deg) translateY(-20px);
  -webkit-transition: visibility 0s ease 0.2s;  /* Delay just greater than longer inner item delay */
  -moz-transition: visibility 0s ease 0.2s;
  -ms-transition: visibility 0s ease 0.2s;
  transition: visibility 0s ease 0.2s;
  }
  #map-background ul li a {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 44px;
  background: #434a54;
  border: 1px solid #006c85;
  border-radius: 50%;
  box-shadow: 0px 2px 9px rgba(0,0,0,0.35);
  overflow: hidden;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  }
  #map-background ul li a span {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 12px;
  line-height: 1.2;
  color: #ffffff;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.9);
  text-align: center;
  border-radius: 8px;
  z-index: 1;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  }
  #map-background > a {
  position: absolute;
  bottom: 0;
  display: block;
  width: 44px;
  height: 44px;
  background: #006c85;
  border-radius: 50%;
  box-shadow: 0px 2px 9px rgba(0,0,0,0.35);
  }

  /* Open Layers control buttons overwrites */
  .ol-overlaycontainer-stopevent {
    position: absolute;
    display: inline-block;
    right: 0px;
    bottom: 0px;
    background: #ffffff;
    border-radius: 999px;
    padding: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
  }
  .ol-overlaycontainer-stopevent .ol-scale-line {
    position: fixed;
    bottom: 10px;
    left: 10px;
  }



} /* end max-width 450px */

/* Alert box when active layers changes */
.alert-info{
  border-left: 4px solid #056b84;
  width:280px;
}

/* Guidance text at bottom of PDF pop ups */
.map-set{
  font-size: 16px !important;
  margin-bottom: 0px !important;
}

/* Give carousel a better height for when no thum */
@media screen and (min-width: 1200px) {
  .carousel-inner>.item>a>img, .carousel-inner>.item>img, .img-responsive, .thumbnail a>img, .thumbnail>img {
    display: block;
    max-width: 100%;
    min-height: 296px;
  }
}
@media screen and (max-width: 1199px) {
  .carousel-inner>.item>a>img, .carousel-inner>.item>img, .img-responsive, .thumbnail a>img, .thumbnail>img {
    display: block;
    max-width: 100%;
    min-height: 261px;
  }
}

.nav-help {
  width: 200px;
}
