/* 
 Author: Emma Jaud
 Organization: University of Delaware Library, Museums and Press
 File: occupancy.css
 Description: Define styles for Occupancy List page.
*/


div.has-sidebar {
    display: inline-block;
    width: 100%;
    max-width: 67rem;
    max-width: 65%;
    vertical-align: top;
}
.sidebar-menu, .cards {
    display: inline-block;
    max-width: 27rem;
    max-width: 35%;
/*	max-width: 400px;*/
    width: 100%;
    padding: 0;
    margin: 0;
    padding-right: 3.75rem;
}
.grid {
/*
	display: grid;
    grid-template-columns: 400px auto;
    grid-gap: 20px;
    width: 100%;
    position: relative;
*/
}
.feedbackform {
	float: right;
	font-size: 12px;
	margin-top: 12px;
}

/* FILTERS  ||||||||||||||||||||||||||||||||||*/
.filters {
	background: white;
	padding: 24px;
	border-radius: 1rem;
	margin-bottom: 12px;
}
.filters h3 {
	margin-bottom: 8px;
	color: black;
	font-size: calc(1.25rem + 0.125vw);
}
.filters h4 {
	margin-bottom: 8px;
	color: black;
}
/* Sort List */
#sort-list {
	margin-bottom: 16px;
	display: grid;
	grid-template-columns: auto auto;
	justify-items: center;
    align-items: center;
	background: #002446;
	padding: 4px;
	border-radius: 2rem;
}
.sort-option {
	width: 100%;
	text-align: center;
/*	padding: 5px;*/
	border-radius: 2rem;
}
.sel-sort a {
	background: var(--color-blue-med);
}
.sort-option a {
	display: block;
    width: 100%;
    color: white;
    text-decoration: none;
    font-size: 15px;
    padding: 5px;
    border-radius: 2rem;
}
/* Floor List */
#floor-list {
	display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}
.floor-option {
	display: flex;
	align-items: center;
	background: var(--color-blue-med);
	padding: 8px;
/*	margin-right: 12px;*/
	border-radius: 0.5rem;
	text-align: center;
	width: 52px;
	min-width: 52px;
	height: 48px;
    line-height: 1.4;
}
.floor-option:nth-of-type(1), .floor-option:nth-of-type(2) {
	padding: 6px;
}
.floor-option a {
	color: white;
	text-decoration: none;
	font-size: 12px;
}
.floor-option strong {
	font-size: 15px;
	line-height: 1.2;
}
.floor-option:nth-of-type(2) strong {
	font-size: 12.5px;
	line-height: 1.5;
}
.floor-option:last-of-type {
	margin-right: 0;
}
.sel-floor {
	background: #c7e3ff;
}
.sel-floor a {
	color: black;
}
.sel-floor a:hover {
	cursor: default;
}

/* RESERVE BTN  ||||||||||||||||||||||||||||||||||*/
#reserve-btn {
	display: block;
	background: var(--color-blue-med);
	color: white;
	border-radius: 6rem;
	width: 90%;
	text-align: center;
	padding: 8px 6px;
	text-decoration: none;
	margin: 0 auto 12px;
}
#reserve-btn:hover {
	background: var(--color-blue-light);
}

/* ROOMS  ||||||||||||||||||||||||||||||||||*/
.room-card {
	font-family: 'greycliff_semibold';
	border-radius: 20px;
/*	background: #fff;*/
}
/* Room Level Colors */
.lowbg.content, .lowbg.room-card,
.manybg.content, .manybg.room-card {
/*	background-color: #bcd29121;*/
/*	background-color: #F6F9F1;*/
	background-color: #ECF3FF;
}
.mediumbg.content, .mediumbg.room-card,
.somebg.content, .somebg.room-card {
/*	background-color: #fff6881a;*/
	background-color: #FFFEF3;
}
.highbg.content, .highbg.room-card,
.fewbg.content, .fewbg.room-card {
/*	background-color: #ff72721c;*/
	background-color: #FFF0F0;
}
.closed .content, .closed.room-card {
	background-color: #DADDDF;
}

.low, .medium, .high,
.many, .some, .few {
	display: flex;
    align-items: flex-end;
    justify-content: center;
	min-height: 64px;
	height: 100%;
/*	width: 64px;*/
	width: 80px;
	border-radius: 10px 0 0 10px;
/*	font-size: 12px;*/
	font-size: 11.5px;
    padding-bottom: 6px;
	font-family: 'greycliff_semibold';
	color: black;
}
.active .low, .active .medium, .active .high,
.active .many, .active .some, .active .few {
/*	border-radius: 10px 0 0 0;*/
}
.low, .many {
/*	background: #BCD291;*/
	background: #B4D0FF;
}
.medium, .some {
	background: #FFF688;
}
.high, .few {
	background: #FF7272;
}

.closed .low, .closed .medium, .closed .high,
.closed .many, .closed .some, .closed .few {
	background: #ccc;
}

/* Room Card */
.room-info {
	padding: 12.5px 0 12.5px 12px;
}
.room-name {
	font-size: 18px;
	margin-bottom: 4px;
	color: black;
}
.room-floor {
	font-size: 12px;
	font-family: 'greycliff_regular';
	color: black;
}
/* Dropdown */
.collapsible {
	font-family: 'greycliff_semibold';
	display: grid;
/*    grid-template-columns: 65px auto 15px;*/
	grid-template-columns: 80px auto 15px;	
	align-items: center;
	background-color: white;
	box-shadow: 0px 3px 6px #0000000A;
	border-radius: 10px;
/*	color: white;*/
	cursor: pointer;
/*	padding: 18px;*/
	padding-right: 18px;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 15px;
	margin-top: 6px;
	position: relative;
	z-index: 10px;
}
.collapsible:focus-visible {
	outline: 2px solid black !important;
}
.room-card:first-of-type .collapsible {
	margin-top: 0;
}
.active, .collapsible:hover {
/*  background-color: #555;*/
}
.collapsible:after {
	content: '\002B';
	color: black;
	font-weight: bold;
	float: right;
	margin: 0 0 6px 5px;
	font-size: 30px;
}
.active:after {
	content: "\2212";
}
/* Dropdown Content */
.content {
	padding: 0 18px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
/*	background-color: #fff;*/
	border-radius: 0 0 10px 10px;
}
.info, 
.content p {
	padding: 18px 0;
}
/* Icons */
.iconlist__icon {
    width: fit-content;
    margin-right: 1.375rem;
    height: 3rem;
    background: var(--color-gray-light);
    border-radius: 3rem;
}
.iconlist__icon .linea-svg {
    width: 3rem;
}
.linea-svg {
    height: 100%;
}
.linea-svg-inner {
    height: 100%;
    overflow: visible;
    display: block;
    display: flex;
    margin: 0 auto;
}
.linea-svg.udblue svg {
    stroke: var(--color-blue-dark);
}
.linea-svg svg {
    width: 100%;
    height: 100%;
    padding: 2px;
    overflow: visible;
    vertical-align: middle;
    align-self: center;
    stroke-width: 4px;
    fill: none;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: inherit;
}
.icons {
	display: flex;
	align-items: center;
	margin-bottom: 6px;
}
.icon-desc {
	line-height: 1.5;
}
.icon-desc a {
	color: var(--color-blue-dark);
}
.icon-desc a:hover {
	color: var(--color-blue-light);
}
.icons:last-of-type {
	margin-bottom: 0;
}
.occupancy-level .icon-desc:first-letter {
	text-transform: capitalize;
}
.occupancy-level .linea-svg svg, .quietspace .linea-svg svg {
    stroke-width: 3px;
    fill: var(--color-blue-dark);
}
.capacity .linea-svg svg {
	fill: var(--color-blue-dark);
}


/* DESKTOP MAPS  ||||||||||||||||||||||||||||||||||*/
.library-map {
	position: relative;
}
.map-click {
	cursor: pointer;
}
.library-map img {
	border-radius: 1rem;
}
.library-map path {
	stroke-width: 10;
}
.map-position {
	position: absolute;
    top: -3px;
    left: -1px;
    width: 100%;
    height: 100%;
}
.map-position rect {
	display: none;
}
.svg-low path, .svg-many path {
/*	fill: rgba(188, 210, 145, 0.45);*/
/*    stroke: rgb(188, 210, 145);*/
	fill: rgba(188, 208, 255, 0.45);
    stroke: rgb(188, 208, 255);
}
.svg-medium path, .svg-some path {
	fill: rgba(255, 246, 136, 0.45);
    stroke: rgb(255, 246, 136);
}
.svg-high path, .svg-few path {
	fill: rgba(255, 114, 114, 0.45);
    stroke: rgb(255, 114, 114);
}

.status-closed path {
	fill: rgba(166, 166, 166, 0.45);
    stroke: rgb(108, 108, 108);
}

.current path {
/*	stroke: var(--color-blue-light);*/
	fill: rgba(0, 60, 113, 0.45);
}




/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
  background-color: #fefefe;
  margin: 50% auto; /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 60%; /* Could be more or less, depending on screen size */
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}











/* RESPONSIVE CSS  ||||||||||||||||||||||||||||||||||*/
@media screen and (min-width: 1025px) {
	aside, .cards {
    	float: left;
	}
}

@media screen and (max-width: 1195px) {
	div.has-sidebar {
		max-width: 62%;
	}
	.sidebar-menu, .cards {
		max-width: 38%;
	}
}

@media screen and (max-width: 1024px) {
	.cards {
		width: 100%;
		max-width: 60rem;
		margin: 0 auto;
		display: block;
		padding: 0;
	}
	div.has-sidebar {
		display: none;
	}
	
	.filters {
		display: flex;
		justify-content: space-between;
	}
	.filter-sort {
		width: 45%;
	}
	#sort-list {
		margin-bottom: 0;
		margin-top: 11px;
	}
	.filter-floor {
		width: 50%;
	}
}

@media screen and (max-width: 695px) {
	.filters {
		display: block;
	}
	.filter-sort, .filter-floor {
		width: 100%;
	}
	#sort-list {
		margin-bottom: 16px;
		margin-top: 0;
	}
	#floor-list {
		justify-content: space-evenly;
	}
}

@media screen and (max-width: 510px) {
/*
	#floor-list {
		justify-content: space-evenly;
		align-items: center;
		flex-wrap: wrap;
		align-content: center;
	}
	.floor-option, .floor-option:last-of-type {
		margin: 0 12px 12px;
	}
*/
}

@media screen and (max-width: 495px) {
	#floor-list {
		justify-content: space-around;
	}
}

@media screen and (max-width: 430px) {
	.filters {
		background: transparent;
		padding: 0;
		margin-bottom: 24px;
	}
	.filter-sort h4 {
		font-size: 12px;
	}
	#reserve-btn {
		margin-bottom: 24px;
		width: 100%;
	}
}

@media screen and (max-width: 380px) {
	#floor-list {
		justify-content: space-between;
	}
}
@media screen and (max-width: 325px) {
	.floor-option {
		width: 48px;
		min-width: 48px;
		height: 48px;
	}
}
