:root {
	--primary: #292d41;
	--primary_lighter: #5e637d;
	--primary_darker: #141724;
	--secondary: #f4b13b;
	--secondary_lighter: #f6c165;
	--secondary_darker: #d9951e;
	--tertiary: #0f74ba;
	--tertiary_lighter: #0f74ba;
	--tertiary_darker: #0f74ba;
	--red: #bb662f;
	--blue: #0f74ba;
	--black: #000000;
	--white: #FFFFFF;
	--h1: var(--secondary);
	--h2: var(--secondary);
	--h3: var(--tertiary);
	--h4: var(--secondary);
	--caption: var(--primary);
	--page_text_color: #282828;
	--page_text_color_alt: #ececec;
	--header_text_color: #dbb952;
	--url: #f2b24e;
	--url_hover: var(--primary);
	--page_width: 900px;
}

.primary {
	color: var(--primary);
}
.secondary {
	color: var(--secondary);
}

body {
	color: #ffffff;
	background: #000000;
	font: 12px Arial, Helvetica, sans-serif;
	background-image: url('images/RSSC_WebsiteBackground_A001.jpg');
	background-size: cover;
	background-position: 0 -80px;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

body, html {
	margin: auto;
	width: 100%;
	height: 100%;
	text-align: center;
}

div {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;  
}

img {
	border: 0;
}

#wrapper {
	position: relative;
	width: var(--page_width);
	height: 100%;
	margin: 0 auto;
	text-align: center;
	display: grid;
	grid-template-areas:
		/* "notification" */
		"header"
		"navbar"
		"content"
		"footer";
	grid-template-rows:
		/* 30px */
		250px
		50px
		auto
		180px;
}

#menu {
	width: 100%;
}

#header {
	position: relative;
	grid-area: header;
	display: flex;
	width: var(--page_width);
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
}

#header_text {
	/* position: absolute; */
	bottom: 0;
	width: 100%;
	/* height: 1px; */
}

#navbar {
	grid-area: navbar;
	width: var(--page_width);
	margin: 0 auto;
}

#header, #body, #footer {
	width: var(--page_width);
}

#content {
	vertical-align: top;
	width: 100%;
	height: auto;
	height: 100%;
	margin: 0 auto;
	grid-area: content;
	text-align: left;
	line-height: 1.5;
}

#notifications {
	height: 30px;
	grid-area: notification;
}

#footer {
	grid-area: footer;
	align-self: end;
	text-align: center;
	margin: 0 auto;
	min-height: 180px;
	padding: 0 10px;
	background: rgba(0, 0, 0, 0.45);
}

#navbar, #content {
	background: rgba(0, 0, 0, 0.45);
	padding: 10px;
}

#event_notice {
	font-weight: bold;
	font-size: 16px;
	color: var(--secondary);
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}

/*#sidebar_cell {
	background-color: #c0c0c0;
	width: 20%;
}*/

/*#hzlines {
	position: fixed;
	height: 160px;
	width: 100%;
	bottom: 0;
	background-image: url('images/bg_footer.jpg?v=0');
	background-repeat: repeat-x;
	z-index: -3;
	display: none;
}*/

/* Basics
--------------------------------------------------*/
h1 {
	font: bold 22px/30px Arial, Helvetica, sans-serif;
	margin: 5px 0;
	padding: 0;
	border-bottom: 1px solid #FFFFFF;
}

h2 {
	font: bold 18px/28px Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
}

h3 {
	font: bold 15px/28px Arial, Helvetica, sans-serif;
}

h1, h2, h3 {
	color: #ffffff;
}

#mapbox h3 {
	color: #17608b;
}

hr, .hr {
	clear: both;
	margin: 20px 0;
	border-top: 1px solid #c6c6c6 !important;
}

.divider {
	height: 15px;
	margin: 5px 0;
}

.important {
	font-weight: bold;
}

.centered {
	text-align: center !important;
}

.noteable {
	font-weight: bold !important;
	color: #0F5E90 !important;
}

.shadow {
	-moz-box-shadow: inset 0 0 10px #000000;
	-webkit-box-shadow: inset 0 0 10px #000000;
	box-shadow: inset 0 0 10px #000000;
}

.word_wrap {
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

pre {
	font: 12px/16px Arial, Helvetica, sans-serif;
	white-space: pre-wrap;       /* css-3 */
	white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
	white-space: -pre-wrap;      /* Opera 4-6 */
	white-space: -o-pre-wrap;    /* Opera 7 */
	word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

.right {
	float: right;
	text-align: right;
}

.subtitle {
	color: var(--primary_lighter) !important;
	font: bold 12px Arial, Helvetica, sans-serif;
}

.payment_receipt_box .subtitle {
	color: var(--white) !important;
}

/* Banners
--------------------------------------------------*/
.banner {
	color: var(--white);
	background: var(--primary);
	padding: 8px;
	margin-top: 0;
	text-shadow: none !important;
	border-radius: 15px;
	box-shadow: -2px 2px var(--secondary);
}

#banner a {
	color: var(--url);
}

#banner_req_group {
	/* display: none; */
}

#banner_req {
	color: var(--white);
	background: var(--primary);
	margin-bottom: 10px;
}

#banner_req i {
     color: var(--white);
}

/* Content
--------------------------------------------------*/
#content_body {padding: 10px;}

#inner {
	width: 100%;
	padding-bottom: 160px;
}

/* Menu
--------------------------------------------------*/
#navbar {
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
}

#menu_row {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-content: center;
	justify-content: space-between;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

#menu li {
	display: flex;
	align-items: center;
	list-style-type: none;
	height: 40px;
	border-radius: 14px;
}

#menu a {
	display: block;
	color: var(--white);
	text-transform: uppercase;
	font-weight: bold;
	text-decoration: none;
	margin: 0;
	padding: 10px;
	vertical-align: middle;
}

#menu .menu_on, #menu li:hover {
	background-color: var(--secondary);
	box-shadow: -2px 2px var(--primary);
}

#menu .menu_on a, #menu li:hover a {
	color: var(--primary);
}

/* Links
--------------------------------------------------*/
a {
	font-weight: bold;
	word-wrap: break-word;
}

a, a:hover, a:visited {
	color: var(--url);
}

a:focus {
	outline: none;
}

/* Header
--------------------------------------------------*/
#header_cell {
	margin: 0 auto;
	width: 100%;
	height: 200px;
	align-content: center;
	justify-items: center;
}

#header_text_row {
	/* display: flex; */
	/* position: relative; */
	/* width: 100%; */
	/* height: 100px; */
	/* flex-wrap: nowrap; */
	/* flex-direction: row; */
	/* justify-content: space-around; */
	/* gap: 20px; */
}

#header_left {position: relative;width: 100%;}

#header_right {
	display: none;
	text-align: left;
	text-transform: uppercase;
}

#header_title {
	position: relative;
	width: 700px;
	height: 180px;
	background-image: url('images/RSSC_Logo_Title_C010_Horizontal.svg');
	background-size: contain;
	background-position: 0;
	background-repeat: no-repeat;
	align-content: center;
	justify-items: center;
	/* top: 35px; */
	/* right: 210px; */
	/* width: 220px; */
	/* height: 200px; */
	/* background-image: url('images/RSSC_Logo_Title_C009.svg'); */
}

#header_program {
	color: var(--white);
	font-size: 35pt;
	font-weight: bold;
	text-align: center;
	vertical-align: bottom;
	text-shadow: 0 0 3px var(--primary);
	display: none;
}

#header_acronym {
	color: #133D6F;
	font-size: 28pt;
	font-weight: bold;
}

#header_type {
	color: #FFFFFF;
	font-size: 18pt;
	font-weight: bold;
	text-shadow: 0 0 5px var(--primary);
}

#header_dates {
    color: var(--primary);
    background: var(--secondary);
    font-size: 18pt;
    font-weight: bold;
    border-radius: 15px;
    box-shadow: -2px 2px var(--primary);
    width: auto;
    max-width: 500px;
    padding: 10px 20px;
    margin: 0 auto;
    /* position: absolute; */
    /* left: 20px; */
    /* bottom: 40px; */
}

/*	Agenda style
--------------------------------------------------*/
.agenda_col_altrows {
	background: #dfdfdf !important;
}

.agenda_col_time {
	text-align: center;
	vertical-align: middle;
	padding: 10px;
	font-weight: bold;
}

.agenda_col_event {
	font-weight: bold;
	vertical-align: middle !important;
	padding: 10px;
	border-left: 1px solid #FFF;
}

.agenda_col_speaker {
	width: 20%;
	text-align: left;
	vertical-align: middle;
	padding: 10px;
	border-left: 1px solid #FFF;
}

.agenda_colspan {
	text-align: center;
	vertical-align: middle !important;
}

.agenda_spacer {
	height: 0px;
}

.agenda_title {
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 10px;
	height: 40px;
}

.agenda_header td {
	font-weight: bold;
	color: #FFF;
	border-top: 1px solid #FFF;
}

.agenda_banner {
	font-size: 16px;
	font-weight: bold;
	text-transform: unset;
	text-align: center;
	padding: 10px;
}

/*	Table styles
--------------------------------------------------*/
.table_col_altrows td {
	background: #d2d2d2 !important;
}

.table_col {
	vertical-align: middle !important;
	padding: 10px;
}

.table_col_left {
}

.table_col_mid {
	border-left: 1px solid #FFF;
}

.table_col_right {
	border-left: 1px solid #FFF;
}
.table_col_left_align {
	text-align: left;
}

.table_col_center_align {
	text-align: center;
}

.table_col_right_align {
	text-align: right;
}

.table_colspan {
	text-align: center;
	vertical-align: middle !important;
}

.table_spacer {
	height: 0px;
}

.table_title {
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 10px;
	height: 40px;
}

.table_header td {
	font-weight: bold;
	color: #FFF;
	border-top: 1px solid #FFF;
}

/* Calendar
--------------------------------------------------*/
#cal {
	float: left;
	margin-right: 5px;
	padding: 0;
	border: 2px solid #FFFFFF;
	height: fit-content;
	display: block;
	position: relative;
}

#cal>.ui-datepicker {
	/* border: 2px solid var(--primary) !important; */
}

/* Link behavior override */
#cal a {
	font-weight: normal;
	color: #000;
}

/* Link behavior override */
#cal a:hover {
	text-decoration: none !important;
	color: #000;
}

/* Item due date */
#cal td.highlighted_due a, .ui-state-default.ui-state-active {
	background: #D50000 !important;
	color: #FFFFFF !important;
}

/* Meeting date */
#cal td.highlighted_conf a {
	background: #0f5e90 !important;
	color: #FFFFFF !important;
}

/* Current day */
a.ui-state-default.ui-state-highlight {
	background: #2A89CD;
	border: 1px solid var(--primary) !important;
	color: #000000 !important;
}

a.ui-state-default.ui-state-hover {
	background: #CEEBFF;
	color: #000000;
}

.ui-datepicker {
	background: #FFFFFF !important;
	width: 200px !important;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
	display: table;
}

/* Fix width of indivdual cal */
/*.ui-datepicker-multi .ui-datepicker-group table {
	width: 250px !important;
}*/

/* Remove header shadow */
.ui-datepicker-title {
	text-shadow: none !important;
}

/* Width of calendar(s) container */
/*.ui-widget {
	width: 200px !important;
}*/

/* Border color */
.ui-widget-content {
	border: 2px solid #FFFFFF !important;
	background: #FFFFFF !important;
}

/* Header color */
.ui-widget-header {
	background: var(--primary) !important;
	border: var(--primary) !important;
	/* border-radius: 0 !important; */
}

.ui-widget-header .ui-icon {
	background-image: url('images/ui-icons-over.png') !important;
}

/* Each day */
.ui-state-default {
	border: 1px solid #DFDFDF !important;
	color: #666 !important;
}

/* Selected day */
.ui-state-default.ui-state-active {
	border: 1px solid #555555 !important;
	background: #DFDFDF !important;
}

/* Current day */
.ui-state-default.ui-state-highlight {
	border: 1px solid #555555 !important;
	background: #DFDFDF !important;
}

/* Hover over days */
.ui-state-default.ui-state-hover {
	border: 1px solid #8F8F8F !important;
	background: #DFDFDF !important;
	color: black !important;
}

.ui-datepicker-month {
	color: #FFF !important;
}

.ui-datepicker-year {
	color: #FFF !important;
}

/* Space around individual calendars */
.ui-datepicker-group {
	margin: 1px !important;
	width: 210px !important;
}

/* Minimize height of rows */
.ui-datepicker td span, .ui-datepicker td a {
	padding: 2px !important;
}
.ui-datepicker.ui-datepicker-multi {
	background: #555555 !important;
}

.ui-datepicker-prev.ui-datepicker-prev-hover, .ui-datepicker-next.ui-datepicker-next-hover {
	border: none !important;
	background: none !important;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
	background: #e9e9e9 !important;
}

/* Tables
--------------------------------------------------*/
#dates_table, .agenda_table, #registration_table_container, #download_table, #location_table, #attendee_table {
	color: black;
	/* border: 2px solid var(--primary); */
	/* border-spacing: 2px;
	border-collapse: seperate; */
	background: #FFFFFF;
}

.agenda_table, #registration_table_container, #download_table, #location_table, #attendee_table {
	margin: auto;
	color: black;
	width: 100%;
	margin: 0;
}

/* Table cells */
#dates_table td, .agenda_table tr, #location_table tr, #registration_table_container td, #download_table td, #attendee_table td {
	background: #E9E9E9;
}

/* Table Headers */
.agenda_header, #dates_table th, .agenda_table thead th, #download_table thead th, #location_table thead th, #attendee_table thead th {
	background: var(--primary);
	color: #FFFFFF;
	font-weight: bold;
	font-size: 14px;
	height: 27px;
	text-align: center;
}

/* Table Footers */
.agenda_table tfoot td, #download_table tfoot td, #location_table tfoot td, #attendee_table tfoot td {
	background: #999999;
	color: #000000;
	padding: 2px;
	font-weight: bold;
}

/* Table Captions */
.agenda_table caption, #registration_table caption, #download_table caption, #location_table caption, #attendee_table caption {
	color: #4781BE;
	font-weight: bold;
	font-size: 16px;
	line-height: 150%;
	text-align: left;
}

.agenda_table a, #registration_table a, #download_table a, #location_table a, #attendee_table a {
	color: #4781BE;
}

/* Dates table
--------------------------------------------------*/
#dates_column {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: space-between;
	justify-content: space-between;
}

#dates_table {
	width: 546px;
	float: right;
}

#dates_table td {
	padding: 5px 10px;
}

#dates_table .highlighted_meeting {
	color: #0F5E90;
}

#dates_table .highlighted_due {
	color: #D50000;
}

#dates_table a {
	color: var(--primary);
}

.dates_tablecell {
	padding: 5px 10px;
	width: 90px;
	background: #DFDFDF;
	font-weight: bold;
}

.events_col_left {
	width: 40%;
}

.events_col_right {
	width: 60%;
}

/* Registration
--------------------------------------------------*/
#registration_table {
	margin: 0 auto;
	width: 80%;
}

#registration_table input[type=text] {
	width: 220px;
}

#registration_table select {
	width: 225px;
}

#registration_table h2 {
	color: var(--primary);
}

#billing_online_table {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid white;
	color: black;
	background: #CCCCCC;
}

#alt_info_fields {
	color: black;
}

.reg_left_column {
	width: 50%;
	font-weight: bold;
	vertical-align: top;
	text-align: right;
}

.reg_right_column {
	width: 50%;
	/* word-wrap: break-word; */
	/* word-break: break-all; */
}

#attending_table {
	width: 50%;
}

.regemail {
	padding: 5px;
	width: 98% !important;
}

.regemail h2 {
	text-align: center;
}

.print {
	background: #FFFFFF !important;
	color: #000000 !important;
}

.disabled {
	color: grey;
}

.ScholarshipDrop td {
	color: #3387b6;
}

.ScholarshipDrop input[type="checkbox"]::before {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	border-radius: 10%;
	border: 2px solid #3387b6 !important;
	background: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
}

.ScholarshipDrop input[type="checkbox"]:checked {
	background: #3387b6 !important;
	border-radius: 10%;
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
}

/* Location
--------------------------------------------------*/
.qr_container {
	width: 40%;
	height: 100%;
	padding: 10px !important;
	vertical-align: top;
	color: black;
}

.qr_container_empty {
	display: none;
}

.qr_container_banded {
	width: 250px;
	padding-right: 5px;
	float: left;
}

.qr_image {
	position: absolute; /*leave this and next 3 values alone*/
	z-index: 3;
	display: none;
}

.qr_left_tooltip {
	position: absolute;
	display: none;
	z-index: 5;
	width: 190px;
	height: 190px;
	margin-left: 250px;
	margin-top: -50px;
	padding: 2px;
	background: url('images/WhiteTooltipBG.png') no-repeat;
	background-size: 100% auto;
}

.qr_right_tooltip {
	position: absolute;
	display: none;
	z-index: 6;
	width: 190px;
	height: 190px;
	margin-left: 250px;
	margin-top: -50px;
	padding: 2px;
	background: url('images/WhiteTooltipBG.png') no-repeat;
	background-size: 100% auto;
}

.qr_bg {
	background: #CFDBE5;
}

/* Footer
--------------------------------------------------*/
#footer_cell {
	position: relative;
	padding: 0 10px;
	margin: 0;
}

#footer_cell hr { clear: both; }

#footer_cell .title {
	text-transform: uppercase;
	font-weight: bold;
}

#footer_cell p {
	text-align: center;
}

#footer_cell .pocs {
}

#footer_cell .notice {
	font-size: 12px;
	font-weight: bold;
	line-height: 10px;
}

#footer_cell .disclaimer {
	font-size: 10px;
	line-height: 10px;
}

/* Warning messages
--------------------------------------------------*/
.warning {
	color: red;
	font-weight: bold;
	font-size: 14px;
	text-align: center;
}

/* Errors
--------------------------------------------------*/
.jquery_form_error_message {
	color: red;
	display: block;
	font-size: 10pt;
	margin-top: 2px;
	margin-left: 5px;
}

/* Buttons
--------------------------------------------------*/
.submit_button {
	background-color: var(--primary);
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	border: none;
	display: inline-block;
	color: var(--white);
	font-family: arial;
	font-size: 12px;
	font-weight: bold;
	padding: 6px;
	text-decoration: none;
}

.submit_button:hover {
	background-color: var(--primary_darker);
}

.submit_button:active {
	position: relative;
	top: 1px;
}

.submit_button_disabled {
	border: none;
}

.button {
	background-color: #f9f9f9;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	border: 1px solid #b8b8b8;
	display: inline-block;
	color: #666666;
	font-family: arial;
	font-size: 12px;
	font-weight: bold;
	padding: 6px;
	text-decoration: none;
	border: none;
}

.button:hover {
	background-color: var(--white);
}

.button:active {
	position: relative;
	top: 1px;
}

/* Timeout dialog
--------------------------------------------------*/
/* Add a drop shadow to the dialog */
div.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-draggable.ui-resizable {
	-moz-box-shadow: 0 0 0 20px var(--black);
	-webkit-box-shadow: 0 0 0 20px var(--black);
	box-shadow: 0 0 20px var(--black);
	width: auto !important;
}

/* Remove borders from text boxes inside dialog */
div.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-draggable.ui-resizable div {
	border: none !important;
	text-align: center;
}

/* Button alignment */
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: none !important;
}

/* Overlay */
.ui-widget-overlay {
	opacity: .80 !important;
}

/* Location hotel images
--------------------------------------------------*/

#venue, #venue span {
	font-size: 1.2em !important;
}

.hotelimages {
	display: flex;
	position: relative;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.hotelimg {
	/* width: 375px; */
	width: 100%;
	margin-bottom: 10px;
}

.corner-only{
	--s: 50px;
	border: 8px solid #B38184;
	padding: 10px;
	height: 250px;
	width: 300px;
	/* background: #f2f2f2 content-box; */
	mask: 
		conic-gradient(#000 0 0) content-box,
		conic-gradient(at var(--s) var(--s),#0000 75%,#000 0) 
		0 0/calc(100% - var(--s)) calc(100% - var(--s));
	position: relative;
	width: 200px;
	height: 200px;
	border: 2px solid var(--primary);
}

#co-checkin {
	position: absolute;
	width: 150px;
	height: 150px;
	left: 600px;
	top: 375px;
}

#co-gensession {
	position: absolute;
	width: 200px;
	height: 190px;
	left: 80px;
	top: 271px;
}

#co-demos {
	position: absolute;
	width: 170px;
	height: 160px;
	left: 497px;
	top: 275px;
}

#co-meals-0 {
	position: absolute;
	width: 220px;
	height: 210px;
	left: 71px;
	top: 264px;
}
#co-meals-1 {
	position: absolute;
	width: 132px;
	height: 90px;
	left: 268px;
	top: 229px;
}

#co-reception {
	position: absolute;
	width: 203px;
	height: 140px;
	left: 236px;
	top: 320px;
}
