#reactroot {
	/* remove foundation "roboto" item in font-family, due to google maps element being added to page it can cause this page to get a different font */
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.center600,
.center800,
.center1000,
.center1200,
.center1600,
.centerMax {
	width: 100%;
	margin: 0px auto;
	clear: both;
}
.center600 { max-width: 600px; }
.center800 { max-width: 800px; }
.center1000 { max-width: 1000px; }
.center1200 { max-width: 1200px; }
.center1600 { max-width: 1600px; }

.row { /* apply to all pages */
	max-width: 1200px;
}

input.glowing_red,
select.glowing_red,
textarea.glowing_red {
	/*background-color: #f46b54;
	border-color: #f46b54;
	box-shadow: 0px 0px 30px #e00;*/
	box-shadow: inset 0 0 10px 5px #ee0000;
}
input.glowing_green,
select.glowing_green {
	box-shadow: inset 0 0 10px 5px #00aa00;
}

.input_glowing_border {
	background-color: #e8f8d8!important;
}

.alert-box > a,
small.error:not(.green_error) > a,
.alert_span > a,
.alert-box a {
	color: #FFF;
	text-decoration: underline;
}
.alert-box>ul {
	margin-bottom: 0rem;
	margin-right: 1rem;
}
.alert-box li {
	font-size: 0.8rem;
}

.text_size {
	font-size: 0.8rem;
}

.panel {
	font-size: 0.8rem;
}

.fixed-width>.button.postfix, {
	height: 2.2rem!important;
	margin-bottom: 0rem!important;
}

.green_error>a {
	color: #222;
}

#success_box {
	position: fixed;
	top: 25px;
	right: 5px;
	z-index: 99;
}

#error_box {
	position: fixed;
	top: 5px;
	right: 5px;
	z-index: 99;
}

#checkout_selected_button {
	position: fixed;
	bottom: 30px;
	right: 5px;
}

fieldset {
	font-size: 0.875rem;
	font-weight: bold;
}

div.switchLabel {
	margin-right: 0.5rem;
}

/* fixed-width columns */
div.fixed-width-row {
	position: relative;
}
div.fixed-width {
	position: absolute;
	right: 0;
	width: 35px;
	padding-left: 0px;
	padding-right:0px;
}
div.fixed-width-right {
	padding-left: 0px;
	padding-right: 35px;
}

.shrink_cell { /* td, or div with display:table-cell */
	width: 1%;
	white-space: nowrap;
}
.no_wrap {
	white-space: nowrap;
}

.unselectable {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}


#modal-container {
	z-index: 95 !important;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
#modal-container #modal-blocker {
	z-index: 96 !important;
	position: fixed;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	background: rgba(0,0,0,0.5);
}

#modal-container div.modal-item {
	z-index: 97 !important;
	display: none;
	flex: 0 1 auto;
	position: relative;
	overflow-y: auto;
	padding: 1.5rem 3rem 1.5rem 2rem !important; /* extra padding on the right for X button */
	margin: 0 auto;
	border-radius: 3px;
	background-color: #fff;
	border: solid 1px #666;
	box-shadow: 0 0 10px rgba(0,0,0,0.4);
	width: 100%;
}
/* adjust first flex param to adjust upwards/downwards shift (larger number on lower elem => shifted upwards */
/* adjust last flex param to adjust vertical margin */
#modal-container .modal-container-spaceupper { flex: 1 0 1rem; }
#modal-container .modal-container-spacelower { flex: 1 0 1rem; }
@media only screen and (min-width: 800px) {
	#modal-container .modal-container-spaceupper { flex: 1 0 2rem; }
	#modal-container .modal-container-spacelower { flex: 1.5 0 2rem; }
}


@media only screen and (min-width: 960px) and (max-width: 1800px) {
	#modal-container div.modal-item.modal-x-wide { min-width: 960px; width: 64%; }
}
@media only screen and (min-width: 1800px) {
	#modal-container div.modal-item.modal-x-wide { width: 1152px; }
}


@media only screen and (min-width: 640px) and (max-width: 1450px) {
	#modal-container div.modal-item.modal-wide { min-width: 640px; width: 64%; }
}
@media only screen and (min-width: 1450px) {
	#modal-container div.modal-item.modal-wide { width: 928px; }
}


@media only screen and (min-width: 420px) and (max-width: 1075px) {
	#modal-container div.modal-item.modal-narrow { min-width: 420px; width: 64%; }
}
@media only screen and (min-width: 1075px) {
	#modal-container div.modal-item.modal-narrow { width: 688px; }
}

#modal-container div.modal-item .close-modal-x {
	color: #999;
	cursor: pointer;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: 0.2rem;
	right: 0.6rem;
}
#modal-container div.modal-item .close-modal-x:hover {
	color: #333;
}

/* min-height required, otherwise foundation applies min-height:100vh, extends off bottom of screen */
/*@media only screen and (max-width: 40em) {
	#modal-container div.modal-item {
		min-height: 90%;
		width: 100%;
		padding: 0.5rem!important;
	}
}*/

body.modal-open {
	overflow: hidden;
	/*position: fixed;*/
}
body.modal-open #modal-container {
	display: flex!important;
}
