/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.p, .span {
	font-family: Helvetica, Tahoma, sans-serif;
}

body {
	margin: 0;
	  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

/* removes tap blinking on ios devices */
* { -webkit-tap-highlight-color:rgba(0,0,0,0); }

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

#preloader {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: white;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
	z-index: 2;
}

#preloader_box {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#loading_progress {
    font-family: Helvetica, Arial, sans-serif;
	font-size: 2em;
	font-weight: bold;
}

#loading_bar_container {
	display: flex;
	align-items: flex-start;
	width: 100%;
}

#loading_bar {
    height: 30px;
    background-color: #1e90ff;
}

#app_iframe, #instrbtn_cont {
	position: absolute;
	top: 0px;
	left: 400px;
	width: calc(100% - 400px);
	height: 100%;
	border: 0;
}

#flex-sidebar {
	display: flex;
	flex-direction: column;
	background-color: #F8F8F8;
	border: 2px solid #C1DAF0;
	align-items: center;
	justify-content: flex-start;
	width: 400px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#flex-sidebar > div {
	width: 80%;
	text-align: center;
	font-size: 1.2em;
	color: black;
	font-family: sans-serif;
}


/* Styling for main panel content*/

#height, #shelf {
	flex-direction: column;
	/*margin-top: auto;
	margin-bottom: 30px;*/
}

#height {
    display: flex;
}

#heightopts, #shelfopts {
	display: flex;
    flex-wrap: wrap;
    border: 2px solid DodgerBlue;
	border-radius: 10px;
	justify-content: space-evenly;
	margin: auto;
}


#shelf {
    display: flex;
}

#proj-mgmt {
	display: none;
	flex-direction: column;
}

.prevnextbtn {
	display: flex;
	flex-basis: auto;
}

.navbtn {
	flex-basis: 1;
	border-radius: 10px;
}

.panel-ctrls {
	display: flex;
}

/*styling for material hover menus*/

.proj-select, .navbtn {
	color: white;
	padding: 8px 4px;
	font-size: 1em;
	border: none;
	width: 75%;
	margin-top: 20px;
}

.htoptbtn, .shoptbtn {
	color: white;
	background-color: #1e73be;
	padding: 8px 4px;
	font-size: 1em;
	border: none;
	margin: 5px;
	border-radius: 10px;
}

.htoptbtn, .htoptbtn-selected {
	width: 75px;
}

.shoptbtn {
	width: 100px;
}

.htoptbtn:hover, .shoptbtn:hover {
	background-color: #91c2ee;
}

.htoptbtn-selected, .shoptbtn:active {
	color: white;
	padding: 8px 4px;
	font-size: 1em;
	border: none;
	margin: 5px;
	border-radius: 10px;
	background-color: #23428E;
}

#heightbtnsp, #shelfbtnsp {
	visibility: hidden;
}

.delbtn {
	color: white;
	background-color: red;
	padding: 8px 4px;
	font-size: 1em;
	border: none;
	border-radius: 10px;
	width: 100px;
	margin-top: 30px;
}

.delbtn:hover {
	background-color: #8b0000;
}

.delbtn:active{
	background-color: red;
}

.navbtn {
	background-color: #F7941D;
}

.navbtn:hover {
	background-color: #de7a00;
}

.navbtn:active{
	background-color: #ffb700;
}

#savebtn, #deletebtn {
	display: none;
}
#savebtn, #saveasbtn, #resetbtn {
	background-color: green;
}

#savebtn:hover, #saveasbtn:hover, #resetbtn:hover {
	background-color: #3cbc3c;
}

#savebtn:active, #saveasbtn:active, #resetbtn:active {
	background-color: green;
}


.colbtn {
	position: relative;
	display: flex;
	/* justify-content: space-around; */
	align-items: center;
	flex-direction: column;
}

.projlist {
    -webkit-user-select: none; /* Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
    padding: 5px 10px;
	line-height: 1em;
}

#project-list {
    max-height: 25vh;
    overflow-y: auto;
}

/***************************************************/
@media (max-aspect-ratio: 1/1) {
    #flex-sidebar {
	    height: 300px;
	    width: 100%;
		top: auto;
		bottom: 0;
    }
	
	#app_iframe, #instrbtn_cont {
	    height: calc(100% - 300px);
    	width: 100%;
		left: 0;
	}
	#heightopts, #shelfopts {
	width: 240px;
	justify-content: space-evenly;
    }
	
	.modal-content {
		width: 300px;
	}
	
	.htoptbtn, .htoptbtn-selected {
	width: 60px;
    }
}
/***************************************************/

#app_cont {
	position: fixed;
	width: 100%;
	height: 100%;
}


* {box-sizing: border-box}

button {
  background-color: #04AA6D;
  color: white;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  cursor: pointer;
  width: 100%;
  opacity: 0.9;
}

button:hover {
  opacity:1;
}

#instrbtn {
	position: absolute;
	bottom: 0px;
	right: 8px;
	z-index: 2;
	width: 112px;
	font-size: 1em;
	font-weight: bold;
	color: white;
	border: 1px solid black;
	border-radius: 20px;
	font-family: sans-serif;
	padding: 5px;
	background-color: #04AA6D;
	animation-name: animbtn;
	animation-duration: .5s;
	animation-iteration-count: 8;
}

@keyframes animbtn {
    50%{background-color:greenyellow;}
	100%{background-color:#04AA6D;}
}

#instr_text {
	font-size: 1em;
	font-family: sans-serif;	
}

#instr_text li {
	text-align: left;	
}

#instr_modal {
	width: 75vw;
	height: 80vh;
	box-shadow: 5px 10px 18px 10px #444;
	overflow-y: auto;
}

#instr_close {
	color: white;
	background-color: #04AA6D;
	padding: 10px;
}

#instr_scroll {
	display: none;
	color: green;
	font-weight: bold;
}

.indent {
	margin: 0 10%;
}

#cancelbtn, #okbtn, #donebtn {
  float: left;
  width: 50%;
}

#cancelbtn {
  background-color: #ccc;
  color: black;
}

#okbtn, #donebtn {
  background-color: #1e73be;
}

.container {
  padding: 16px;
  text-align: center;
}

.modal {
  display: none; 
  position: fixed;
  z-index: 2; 
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; 
  overflow: auto; 
  background-color: rgba(71, 78, 93, 0.5);
  padding-top: 50px;
}

.modal-content {
	background-color: #fefefe;
	border: 1px solid #888;
	width: 400px;
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

hr {
  border: 1px solid #f1f1f1;
  margin-bottom: 25px;
}

/* Clear floats */
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

#iframe_container {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}