/***** STATION POPUP w/ generator list and frontend form *****/

#map {
    width:100%;
    height:100%;
    font-weight:bold;
}
#map #panel {
	position:absolute;
	right:2em;
	top:2em;
	background:white;
	box-shadow:5px 5px 5px rgba(0,0,0,.25);
}
#map #panel ul {
	margin:1em 2em;
	padding:0;
}
#map #panel ul li {
	list-style:none;
	margin:.5 0
}

#map #popup {
	background:white;
	box-shadow:5px 5px 5px rgba(0,0,0,.25);
	padding:2rem;
}
#map #popup table {
	border:0 none;
}
#map #popup table tr:nth-of-type(2n) {
	background: transparent;
}
#map #popup table tr td {
	padding:.25em 1em;
}

#map #popup ul {
	padding:0;
}
#map #popup ul li {
	cursor:pointer;
	margin-left:1em;
}
#map #popup ul li.header {
	cursor:default;
	margin-left:0;
	margin-bottom:.25em;
	list-style:none;
}



/***** SIDEBAR AND TAB BAR *****/

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

#map-viewport {
    width:100%;
    overflow:hidden;
}

#map-viewport #mapbar {
    float:left;
    width: 100%;
    transition:width 1s;
    position:relative;
    z-index:99;
}

#map-viewport #sidebar {
    float:left;
    width:0;
    transition:width 1s;
    box-shadow:inset 5px 5px 5px rgba(0,0,0,.25);
    position:relative;
    z-index:100;
    transition:box 1s;
}

#map-viewport #toggle:checked ~ #mapbar {
    width: calc(100% - 300px);
}
#map-viewport #toggle:checked ~ #sidebar {
    width:300px;
}

.tab-strip {
    border-top:15px solid transparent;
    margin-left:-45px;
    transition:margin 1s;
    width:345px;
}
.tab-strip > input[type="radio"],
#map-viewport #toggle {
    display:none;
}
.tab-strip.tabs-three > input + label {
    width:100px;
    overflow:hidden;
}
.tab-strip > label {
    box-sizing:border-box;
    float:left;
    display:block;
    padding:.25em 0;
    margin:0;
    cursor:pointer;
    font-weight:normal;
}
.tab-strip > input + label {
    background:#4292c7;
    color:white;
    text-align:center;
}
.tab-strip > label.toggle {
    text-align:left;
    width:45px;
    background:white;
    color:#3177a5;
    border-top-left-radius:15px;
    border-bottom-left-radius:15px;
    transition:border 1s;
    padding:.25em .75em;
}

.tab-strip > input + label:hover {
    background:#69a9d3;
}

.tab-strip > input:checked + label {
    background:#3177a5;
}

@media screen and (max-width: 600px) {
    #map-viewport #toggle:checked ~ #mapbar {
        width: 0;
    }

    #map-viewport #toggle:checked ~ #sidebar {
        width:100%;
        box-shadow:none;
    }

    #map-viewport #toggle ~ #sidebar .tab-strip {
        margin-left:-45px;
    }

    #map-viewport #toggle:checked ~ #sidebar .tab-strip {
        margin-left:0px;
    }

    /* sidebar collapsed */
    #map-viewport #toggle ~ #sidebar .tab-strip > label.toggle {
        border-top-left-radius:15px;
        border-bottom-left-radius:15px;
        background:white;
    }

    /* sidebar expanded */
    #map-viewport #toggle:checked ~ #sidebar .tab-strip > label.toggle {
        border-top-left-radius:0;
        border-bottom-left-radius:0;
        background:rgba(66,146,199, .25);
    }
}



/**** SIDEBAR TAB PANES *****/

#sidebar .tab-pane {
    position:absolute;
    width:300px;
    top:85px;
    bottom:0;
    box-sizing:border-box;
    padding:0 1em 1em 1em;
    overflow-y:auto;
    width
}
#sidebar .tab-pane.hidden {
    display:none;
}
#sidebar .tab-pane ul {
    margin:.5em 0;
    padding:0;
}
#sidebar .tab-pane ul li {
    list-style:none;
    padding:0;
    margin:0 -.5em;
    border-top:1px solid rgba(0,0,0,.25);
}
#sidebar .tab-pane ul li input {
    display:none;
}
#sidebar .tab-pane ul li label {
    font-weight:normal;
    padding:.5em .5em;
    cursor:pointer;
    color:rgba(0,0,0,.1);
    background:rgba(0,0,0,.03);
    display:block;
    margin:0;
}
#sidebar .tab-pane ul li label:after {
  content: "";
  display: table;
  clear: both;
}
#sidebar .tab-pane ul li input:checked ~ label,
#sidebar .tab-pane.unfiltered ul li input ~ label {
    background:white;
    color:black;
}
#sidebar .tab-pane ul li label div.icon {
    width:30px;
    height:30px;
    display:inline-block;
    text-align:center;
    margin-right:.75em;
}
#sidebar .tab-pane ul li input:checked ~ label div.icon img {
    opacity:1;
}
#sidebar .tab-pane ul li label div.icon img {
    height:100%;
    opacity:.25;
}

#sidebar .tab-pane i {
    display:inline-block;
    color:rgb(196,0,0);
    font-size:1.5em;
    cursor:pointer;
}

.result-table .product-row {
    cursor:pointer;
    background: white none repeat scroll 0 0;
    color: black;
    margin:0;
    padding:0.5em;
}

#filter-indicator {
    text-align:right;
    color:rgb(196,0,0);
    position:relative;
    cursor:pointer;
}
#filter-indicator:after {
    content:'clear filters';
    padding:1em .5em 1em .1em;
    display:inline-block;
    font-weight:bold;
}
#filter-indicator:before {
    content: "";
    display: inline-block;
    font-family: FontAwesome;
}
#filter-indicator.unfiltered {
    color:rgb(196,196,196);
    cursor:default;
}
#filter-indicator.unfiltered:after {
    content:'no filters';
    font-weight:normal;
}
#filter-indicator.unfiltered:before {
    content: "";
}
