/* Your Custom CSS Goes here */

.hidden {
	display: none;
}

.same-page-edit-box {
	background: #f4f7fa;
	border-bottom: 2px solid #b9b9b9;
}

.border-1 {
	border: 1px solid #e3e6ea;
	border-radius: 8px;
	padding: 10px;
}

/* Your Custom CSS Goes here */

.widget-height {
	min-height: 160px;
}

.widget-list
	.widget-list-content
	.widget-list-item.widget-list-item-red
	.widget-list-item-icon {
	background: #fce3e5;
	color: #ff4857;
}

.widget-list
	.widget-list-content
	.widget-list-item.widget-list-item-yellow
	.widget-list-item-icon {
	background: #fff3e3;
	color: #ff9500;
}

.border-left {
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #e1e7ec;
}

.widget-subtitle {
	text-transform: uppercase;
	font-weight: 500;
	color: #a1a5b5;
	font-size: 13px;
}

.widget-notification-block {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
}

.widget-notification-block .big-title {
	display: flex;
	padding: 0 15px 0 0;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #27323f;
}
.widget-notification-block .subtitle-right {
	display: flex;
	color: #a1a5b5;
	font-size: 13px;
}

.widget-notification-block-top-bottom {
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.widget-notification-block-top-bottom .big-title {
	font-size: 18px;
	padding: 0;
}

.widget-notification-block-top-bottom .subtitle {
	display: flex;
	color: #a1a5b5;
	font-size: 11px;
}

.app-auth-sign-in .app-auth-background.students {
	background: url("../images/backgrounds/students-sign-in.svg") no-repeat center;
}
.app-auth-sign-in .app-auth-background.forgot-password {
	background: url("../images/backgrounds/forgot-password.svg") no-repeat center;
}

.app-auth-sign-up .app-auth-container {
	width: 1250px;
}

.notices-list {
	padding-left: 40px;
	font-size: 1.2rem;
}

.notices-list li {
	margin-bottom: 10px;
}

.photo-box {
	border: 2px solid #ccc;
	border-radius: 8px;
	padding: 20px;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.photo-box .delete-button {
	margin-top: 10px;
}

#uploaded_documents ul {
	display: flex;
	width: 100%;
	align-items: center;
	flex-wrap: wrap;
	justify-content: stretch;
	margin-top: 15px;
	border-top: 2px solid #f4f7fa;
	padding-top: 15px;
}

#uploaded_documents ul li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-evenly;
	width: 150px;
	height: 150px;
	overflow: hidden;
	margin: 5px;
	border: 2px solid #e3e6ea;
	background: #f4f7fa;
	padding: 15px;
	position: relative;
}

#uploaded_documents ul li .material-icons-outlined {
	font-size: 48px;
}

#uploaded_documents .btn.delete-document {
	line-height: 1;
	font-size: 18px;
	position: absolute;
	top: 5px;
	right: 5px;
	padding: 2px;
}

.terms {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.terms ul {
	max-width: 850px;
	height: 600px;
	overflow: auto;
	padding: 50px;
	border: 2px solid #ccc;
	border-radius: 20px;
}

.terms ul li {
	margin-bottom: 15px;
}

#dynamic_area {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 35px;
}

#dynamic_area .building-selection {
	display: flex;

	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 20px;
	border: 3px solid #efefef;
	border-radius: 5px;
	margin-top: 10px;
	flex-wrap: wrap;
}

#dynamic_area .building-selection .select-building {
	min-width: 300px;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: stretch;
	font-size: 24px;
	background: #f4f7fa;
	border-radius: 5px;
	margin: 15px;
	padding: 15px;
	border: 1px solid #b1b1b1;
	position: relative;
	cursor: pointer;
	-webkit-transition: background 0.2s ease-in-out;
	-moz-transition: background 0.2s ease-in-out;
	-o-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
}
#dynamic_area .building-selection .select-building.selected:after {
	content: "done";
	font-family: "Material Icons";
	position: absolute;
	bottom: 0;
	right: 5px;
	color: white;
}
#dynamic_area .building-selection .select-building .table {
	font-size: 14px;
}
.table-sm > :not(caption) > * > * {
	padding: 0.25rem 0.25rem !important;
}
#dynamic_area .building-selection .select-building:hover,
#dynamic_area .building-selection .select-building.selected {
	background: #afafaf;
}

#dynamic_area .dynamic_block {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	min-height: 550px;
	width: 100%;
}

#dynamic_area .dynamic_block .control {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.review-booking-table tr > td:first-child {
	width: 350px;
}

ul.category-tree li {
	list-style: none;
}

ul.category-tree li a {
	text-decoration: none;
}

ul.category-tree {
	padding: 15px;
	margin: 0;
	background: #f6f7fb;
	border-left: 2px solid #ececec;
}

.tab-content {
	padding-left: 25px;
	border-left: 3px solid #e8ecf8;
}

td.label-col {
	max-width: 200px;
}

.flatpickr-input:disabled {
	background-color: #e3e6ea !important;
}

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

ul.room-features-list {
	margin-top: 15px;
	list-style: none;
	padding: 0;
}
ul.room-features-list li {
	display: inline;
	padding-right: 10px;
	font-size: 14px;
	line-height: 14px;
}
ul.room-features-list li:before {
	content: "check";
	font-family: "MATERIAL ICONS";
	font-weight: bold;
	padding-right: 6px;
	font-size: 14px;
	line-height: 14px;
}

.fake-table {
	padding: 25px;
	border: 1px solid #ccc;
}

.fake-table .row {
	padding: 10px 0;
}

ul.permission-list {
	list-style: none;
	padding: 0 15px;
}

.row.level-row {
    border: 2px solid #ddd;
    border-bottom: 0;
}
.row.level-row:last-child {
	border-bottom:  2px solid #ddd;
}
.level-heading {
    font-size: 18px;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-right: 2px solid #ddd;
}

#dynamic_area .building-selection .select-building.room-size {
    min-width: 65px;
    min-height: 90px;
    width: 150px;
    margin: 10px 5px;
}


.levels
{
	position: absolute;
	background: rgba(255,255,255,0.7);
	width: 1024px;
	top: -100px;
	left: 100px;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s linear;
}
.level-opened .blocks
{
	pointer-events: none;
}
.level
{
	width: 1024px;
	position: absolute;
	cursor: pointer;
	transition: all 1s cubic-bezier(0.68, -0.01, 0.18, 0.99);
}
.level svg
{
	width: 1024px;
	height: auto;
}
.level-hidden, text
{
	pointer-events:none;
}
.level svg:hover #border, .level-active svg #border
{
	fill: darkgrey;
}
.level-title
{
	display: inline-block;
	transform: translate(80px, 30px) rotate(30deg);
	transition: transform 1s;
}
.level-active .level-title
{
	font-size: 32px;
	transform: translate(440px, 60px);
	transition: all 1s;
}
.level-shown
{
	left: 215px !important;
}
.level-4
{
	transform: rotateX(70deg) rotateZ(-45deg) translateX(2vmin) translateY(2vmin) translateZ(6vmin);
}
.level-3
{
	transform: rotateX(70deg) rotateZ(-45deg) translateX(2vmin) translateY(2vmin) translateZ(-6vmin);
}
.level-2
{
	transform: rotateX(70deg) rotateZ(-45deg) translateX(2vmin) translateY(2vmin) translateZ(-16vmin);
}
.level-1
{
	transform: rotateX(70deg) rotateZ(-45deg) translateX(2vmin) translateY(2vmin) translateZ(-26vmin);
}
.level-active
{
	transform: translateY(63px);
}
.level-offscreen
{
	transform: rotateX(70deg) rotateZ(-45deg) translateX(2vmin) translateY(2vmin) translateZ(65vmin);
}
.level-active .room-available:hover
{
	border: 1px solid red;
}
.rooms
{
	border: 1px solid lightgrey;
	background: #CECECE;
}
.room-available
{
	background: #c9ffc8;
}
.room-unavailable
{
	background: lightgrey;
	color: darkgrey;
}
.back-btn, .close-btn
{
    position: absolute;
    right: 40px;
    top: -30px;
    width: 50px;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0.5s, opacity 0.5s linear;
	z-index: 9;
}
.close-btn
{
	top: -32px;
	right: -12px;
}
.back-btn img, .close-btn img
{
	max-width: 100%;
}
.room-title
{
	position: absolute;
	top: 5px;
	left: 0;
	right: 0;
	text-align: center;
	margin: auto;
}

.level-active .back-btn, .room-details .close-btn
{
	visibility: visible;
	opacity: 1;
	transition: visibility 0.5s 1s, opacity 0.5s 1s linear;
}
.room-details
{
	border-radius: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
	border: 1px solid grey;
	background: white;
	position: fixed;
	top: 40px;
	left: 20px;
	width: 960px;
	height: 500px;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transition: visibility 0.3s, opacity 0.3s linear;
	background: antiquewhite;
}
.room-shown
{
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
}
.room-details .quadrant
{
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 20px;
	border: 1px solid grey;
	width: 50%;
	height: 50%;
	position: relative;
	background: honeydew;
}
.room-details .quadrant img
{
	max-width: 30%;
}
.room-details .select-bed
{
	text-align: center;
    position: absolute;
    width: 25%;
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
	font-size: 12px;
}
.room-details .select-bed .bed-spot
{
	width: 100%;
	border-radius: 5px;
	padding: 5px;
	background: lightgrey;
	margin-bottom: 15px;
	max-height: 67px;
}
.room-details .select-bed .bed-available
{
	background: lightgreen;
	animation: shadow-pulse 1.5s infinite;
	cursor: pointer;
}
.room-details .sub-left-quadrant .select-bed
{
	left: 25%;
}
.room-details .sub-right-quadrant .select-bed
{
	right: 25%;
}
.left-bed
{
	position: absolute;
	left: 10px;
	top: 10%;
	height: 80%;
}
.right-bed
{
	position: absolute;
	right: 10px;
	top: 10%;
	height: 80%;
}
.room-wrapper
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.room-div
{
	position: absolute;
	pointer-events: none;
}
.level-active .room-div
{
	pointer-events: auto;
}
.room-name
{
	opacity: 1;
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 14px;
}
.room-space
{
	opacity: 1;
	margin-top: 5px;
	font-size: 12px;
	width: 100%;
	text-align: center;
}
.background
{
	max-width: 1024px;
	transition: opacity 1s;
}
.background img
{
	width: 100%;
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

.room-name, .room-space, .btn-zone .available-btn
{
	visibility: hidden;
	opacity: 0;
	transition: visibility 0.3s, opacity 0.3s linear;
}
.level-active .room-name, .level-active .room-space, .level-active .room-available .btn-zone .available-btn
{
	transition: visibility 0.5s 1s, opacity 0.5s 1s linear;
	visibility: visible;
	opacity: 1;
}
.level-active .btn-zone
{
	position: absolute;
	bottom: 10px;
	left: 25%;
	right: 25%;
	text-align: center;
}
.level-active .room-available .btn-zone .available-btn
{
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #0afd28;
	display: inline-block;
	animation: shadow-pulse 1.5s infinite;
}
.back-map
{
	position: absolute;
	top: 30px;
	left: 105px;
	font-size: 18px;
	background: green;
	border: 1px solid darkgreen;
	color: white;
	padding: 5px;
	border-radius: 10px;
	cursor: pointer;
}
.block-name
{
	font-size: 24px;
	position: absolute;
	top: 95px;
	left: 205px;
	color: white;
	background: orange;
	border-radius: 10px;
	padding: 10px 20px;
	border: 1px solid grey;
	transition: all 1s;
}

@keyframes shadow-pulse
{
     0% {
          box-shadow: 0 0 0 0px rgba(29, 241, 29, 1);
     }
     100% {
          box-shadow: 0 0 0 15px rgba(29, 241, 29, 0);
     }
}


.stars-wrap {
	display: flex;
	align-items: center;
}

.stars-wrap .stars {
	display: inline-block;
	margin-bottom: 8px;
	margin-left: 20px;
}

.stars-wrap .stars .star {
	cursor: pointer;
	-khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;

	transition: background 0.3s;
}

.stars-wrap .stars .checked {
	color: #ff8f00;
}

.term-wrap {
	padding: 15px;
}

.term-wrap .terms-content {
	max-height: 200px;
	overflow-y: auto;
}


@media print {
	.hidden-print {
		display: none;
	}
}


#banner_image_holder {
	position: relative;
}
#banner_image_holder img {
	max-width: 100%;
}
#banner_image_holder a.del_button{
	position: absolute;
    text-decoration: none;
    font-weight: bold;
    top: 0;
    right: 15px;
    font-size: 24px;
}


/*Reports Menu */
.reports-menu.left-menu {
	padding: 20px 0;
	border-right: 1px solid #ccd7ed;
	max-width: 300px;
	height: calc(100vh - 300px);
}
.reports-menu.left-menu ul {
    margin-bottom: 0;
}

.reports-menu.left-menu li a {
    padding: 5px 30px;
    display: block;
    color: #435263;
    text-decoration: none;
    margin: 5px 0;
    position: relative;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.reports-menu.left-menu li a:hover, .reports-menu.left-menu li a.active {
    font-weight: 500;
    color: #13171f;
}

.reports-menu.left-menu li a.active::after {

    height: 100%;
    width: 3px;
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    background: #037AFB;
}



.reports-menu.right-menu li a {
    padding: 5px 30px;
    display: block;
    color: #435263;
    text-decoration: none;
    margin: 5px 0;
    position: relative;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.reports-menu.right-menu li a:hover, .reports-menu.right-menu li a.active {
    font-weight: 500;
    color: #13171f;
}
