
html, body {
	overflow-x: hidden;
}

.fm_unsuccessful {
	/*border: 1px solid #FF5656;*/
}

#content_container {
	width: auto;
	display: block;
	box-shadow: none;
	max-width: none;
	margin-top: 0;
	border: none;
	margin-bottom: 0;
}

.fixed_width #content_container {
	box-shadow: 0 0 10px #000;
}

p {
	margin-bottom: 15px;
}

html {
	background: #FFF;
	font-family: sans-serif;
}

body {
	height: auto;
	background: #FFF;
}

body.fixed_width {
	background: #555;
}

select {
	width: 100%;
}

textarea {
	min-height: calc(230px + (.3 * max(0px, 1170px - 100vw)));
}

input[type="file"] {
	width: auto;
	height: auto;
	opacity: 1;
	position: relative;
	z-index: 0;
}

#nav {
	position: fixed;
	background: transparent;
	width: 100%;
	padding: 35px 0 10px 0;
	transition: all 0.2s linear 0s;
	color: #FFF;
	z-index: 1;
	height: auto;
	max-height: 36px;
	overflow: hidden;
	/*transition: max-height 0.25s ease-out;*/
}

#nav.fixed {
	margin-top: 0;
	position: fixed;
	top: 0;
	background: black;
	padding-top: 10px;
	top: 0;
	z-index: 2;
	box-shadow: 0 0 10px #000;
	
	/*background: linear-gradient(to bottom, rgba(255,255,255,0.15) 0%, rgba(0,0,0,0.15) 100%), radial-gradient(at top center, rgba(255,255,255,0.40) 0%, rgba(0,0,0,0.40) 120%) #989898;
	background-blend-mode: multiply,multiply;*/
	
	/*background-image: linear-gradient(to right, #434343 0%, black 100%);*/
	
	/*background-image: linear-gradient(to right, #868f96 0%, #596164 100%);*/
	
	/*background-image: linear-gradient(60deg, #29323c 0%, #485563 100%);*/
	
	/*background-image: linear-gradient(-20deg, #2b5876 0%, #4e4376 100%);*/
	
	/*background-image: linear-gradient(to right, #243949 0%, #517fa4 100%);*/
	
	/*background: #4b6cb7;
	background: -webkit-linear-gradient(to right, #182848, #4b6cb7);
	background: linear-gradient(to right, #182848, #4b6cb7);*/
	
	background: #283048;
	background: -webkit-linear-gradient(to right, #859398, #283048);
	background: linear-gradient(to right, #859398, #283048);
	
	/*background: #232526;
	background: -webkit-linear-gradient(to right, #414345, #232526);
	background: linear-gradient(to right, #414345, #232526);*/

	/*background: #0F2027;
	background: -webkit-linear-gradient(to right, #2C5364, #203A43, #0F2027);
	background: linear-gradient(to right, #2C5364, #203A43, #0F2027);*/

	/*background: #000000;
	background: -webkit-linear-gradient(to right, #434343, #000000);
	background: linear-gradient(to right, #434343, #000000);*/

}

.btn-grad {
	/*background-image: linear-gradient(to right, #1FA2FF 0%, #12D8FA  51%, #1FA2FF  100%);*/
	background-image: linear-gradient(to right, #f46b45 0%, #eea849  51%, #f46b45  100%);
	/*background-image: linear-gradient(to right, #56ab2f 0%, #a8e063  51%, #56ab2f  100%);*/
	
	display: inline-block;
	padding: 10px 20px;
	text-align: center;
	text-transform: uppercase;
	transition: 0.25s;
	background-size: 200% auto;
	color: white;
	border-radius: 10px;
	cursor: pointer;
	font-size: 15px;
	letter-spacing: 1px;
	border: 1px solid #FFF;
	user-select: none;
}

.btn-grad:hover {
	background-position: right center;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 0 10px #000;
}

.site_header .btn-grad {
	box-shadow: 0 0 3px #000;
}

#register .btn-grad {
	box-shadow: 0 0 3px #747474;
}

#nav_left, #nav_right {
	text-shadow: 1px 1px 2px #333;
}

#nav_left {
	float: left;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	padding: 8px 0;
	font-family: 'Mongoose', sans-serif;
}

#nav_right {
	float: right;
}

#nav_right li {
	display: inline-block;
	vertical-align: middle;
}

#nav_right li > a {
	color: #fff;
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 400;
	border-bottom: 1px solid transparent;
	padding: 10px calc(3px + 0.5vw);
	cursor: pointer;
	display: block;
}

#nav_right li > a:hover {
	text-decoration: none;
	border-bottom-color: #FFF;
}

#nav_mobile {
	/*display: none;*/
	clear: both;
	margin-top: 10px;
	border-top: 1px solid #CCC;
	margin-bottom: -10px;
}

#nav_mobile li {
	
}

#nav_mobile a {
	color: #FFF;
	padding: 10px calc(15px + 1vw) 10px;
	display: block;
	border-bottom: 1px solid #A2A2A2;
	text-shadow: 0 0 2px #000;
	
	background: #232526;
	background: -webkit-linear-gradient(to right, #414345, #232526);
	background: linear-gradient(to right, #414345, #232526);
}

#nav_mobile a:active {
	box-shadow: 0 0 4px #000 inset;
	color: #c4c4c4;
}

#nav_mobile a:hover {
	text-decoration: none;
	background: #505050;
}

/*#nav_mobile ul > li:last-of-type a {
	padding-bottom: 0;
}*/

/* right position of nav_hamburger is based on dynamic padding for content. We subtract 8px so that the right edge of hamburger icon without background color lines up with content */
#nav_hamburger {
	height: 36px;
	width: 36px;
	position: fixed;
	top: 10px;
	right: calc(15px + 1vw - 8px);
	display: none;
	cursor: pointer;
	opacity: 0.8;
	user-select: none;
}

#nav_hamburger:hover {
	opacity: 1.0;
	box-shadow: 0 0 3px #FFF;
}

#nav_hamburger:active, #nav_hamburger.clicked {
	box-shadow: 0 0 3px #000 inset;
}

#nav_hamburger:active img {
	opacity: 0.8;
}

#nav_hamburger.clicked {
	background: #333;
}

#nav_hamburger img {
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	right: 8px;
	margin-top: -10px;
}

button.over_picture {
	border: 1px solid #FFF;
	padding: 7px 10px;
	background-color: rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

button.over_picture:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.site_header {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	position: relative;
	text-align: center;
	background: #343434;
}

.site_header .bg_img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url("https://soms.ou.edu/img/catlett.jpg");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
	background-attachment: fixed;
	opacity: 0.4;
}

.site_header .container {
	color: #FFF;
	text-transform: uppercase;
	padding: 0 15px;
	z-index: 1;
	width: 100%;
	text-align: center;
	/*margin-top: 28px;*/
}

.site_header h1,
.site_header h2,
.site_header p {
	text-shadow: 1px 1px 2px #000;
}

.site_header h1 {
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 15px;
	line-height: 1.4;
}

.site_header h2 {
	font-size: 25px;
	font-weight: 300;
	margin-bottom: 15px;
}

.site_header p {
	font-size: 16px;
	font-weight: 300;
	margin-bottom: 22px;
	line-height: 1.4;
	font-size: 18px;
}

#bg_image {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("https://soms.ou.edu/img/catlett.jpg");
	background-repeat: no-repeat;
	background-position: top left;
	background-color: #F0F0F0;
	background-size: cover;
	background-attachment: fixed;
	opacity: 0.6;
}

/*.content {
	background: #FFF;
}*/

.content {
	background: #FFF;
	box-shadow: 0 0 10px #000;
}

.fixed_width .content {
	background: #333;
	padding: calc(15px + 1vw) 0;
	z-index: 1;
	position: relative;
}

.fixed_width_images_only .content {
	
}

.content_container_outer {
	box-shadow: 0 0 10px #000;
	z-index: 1;
	position: relative;
}

.fixed_width .content_container_outer {
	box-shadow: none;
}

.content_container_inner {
	position: relative;
	background: #FFF;
	width: 100%;
	box-sizing: border-box;
	max-width: 1170px;
	padding: calc(15px + 1vw);
	margin-right: auto;
	margin-left: auto;
}

.content_container_inner.pbn {
	padding-bottom: 0;
}

.content_container_inner.no-padding {
	padding: 0;
}

.fixed_width .content_container_inner {
	box-shadow: 0 0 10px #000;
	z-index: 1;
}

.content_divider {
	border-bottom: 1px solid #CCC;
	margin: 0 calc(-1*(15px + 1vw)) calc(15px + 1vw) calc(-1*(15px + 1vw));
	/*margin: 0 0 calc(15px + 1vw) 0;*/
}

.fixed_width .content_divider {
	margin: calc(15px + 1vw) calc(-1*(15px + 1vw));
}

#nav_container {
	padding: 0 10px;
	margin: 0 auto;
	height: 36px;
	width: 100%;
	box-sizing: border-box;
	max-width: 1170px;
	/* Subtracting from padding on right based on right padding on nav item */
	padding: 0 calc(15px + 1vw - (3px + 0.5vw)) 0 calc(15px + 1vw);
	margin: 0 auto;
}

.content_container_inner h1, .form_header {
	font-size: 18px;
	font-weight: 700;
	color: #666;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: calc(15px + 1vw);
}

.form_header {
	margin-bottom: 0;
	border-bottom: 1px solid #CCC;
	background: #E0E5F6;
	padding: 20px 15px;
}

.no-padding .form_header {
	padding: calc(15px + 1vw);
}

#register .button_container {
	text-align: left;
	background: #E0E5F6;
	padding: 20px 15px;
}

.no-padding #register .button_container {
	padding: calc(15px + 1vw);
}

.content_container_inner > p:last-of-type {
	margin-bottom: 0;
}
.content_container_inner p {
	line-height: 1.4;
}

/*.parallax {
	background-image: url("https://soms.ou.edu/imc/img/catlett_night.jpg");
	height: 400px;
	background-repeat: no-repeat;
	background-position: top left;
	background-attachment: fixed;
	background-size: cover;
}*/

.parallax_container_outer {
	width: 100%;
	max-height: 600px;
	overflow: hidden;
}

.fixed_width .content, .parallax_container_outer {
	/*background: #8a8a8a;*/
	/*background: url('https://soms.ou.edu/img/toptal_subtle_patterns/53_opacity_30.png');*/
	/*background: url('https://soms.ou.edu/img/toptal_subtle_patterns/51.png');*/
	/*background-image: linear-gradient(to right, #868f96 0%, #596164 100%);*/
	background: url('https://soms.ou.edu/img/toptal_subtle_patterns/57.png');
}

.parallax_container_inner {
	width: 100%;
	margin: 0 auto;
	box-shadow: 0 0 10px #000;
	z-index: 1;
	background: #8a8a8a;
}

/* This can also be specified per-image as a style on .parallax_container_inner if some images cannot be as wide */
.fixed_width .parallax_container_inner, .fixed_width_images_only .parallax_container_inner {
	max-width: 1170px;
}

.parallax {
	width: 100%;
	height: auto;
}

.anchor {
	position: absolute;
	top: -55px;
	/*top: calc(-1*(15px + 1vw));*/
	left: 0;
}

.content li {
	list-style: disc;
	line-height: 1.5;
}

.gmaps_embed {
	border: 2px solid #CCC;
	max-width: 400px;
	height: 300px;
	width: 100%;
	box-sizing: border-box;
}

.conference_location {
	
}

.maps_button_container {
	margin-bottom: calc(15px + 1vw);
}

.maps_button {
	border: 1px solid #CCC;
	display: inline-block;
	padding: 5px 5px 5px 10px;
	border-radius: 5px;
	color: #555;
	background: #EEE;
	margin: calc(15px + 1vw) 10px 0 0;
	background-image: linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%);
	user-select: none;
}

.pdf_button, .video_button {
	border: 1px solid #CCC;
	display: inline-block;
	padding: 5px 5px 5px 10px;
	border-radius: 5px;
	color: #555;
	background: #EEE;
	margin-top: 10px;
	background-image: linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%);
	user-select: none;
}

.maps_button:hover, .pdf_button:hover, .video_button:hover {
	box-shadow: 0 0 3px #AAA;
}

.maps_button:active, .pdf_button:active, .video_button:active {
	box-shadow: 0 0 3px #AAA inset;
}

.maps_button span, .pdf_button span, .video_button span {
	display: inline-block;
	vertical-align: middle;
	padding-right: 5px;
	line-height: 30px;
}

.maps_button img, .pdf_button img, .video_button img {
	width: auto;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
}

.pdf_button img {
	height: 20px;
	padding-right: 5px;
}

.interest_session .video_button {
	margin-top: 0px;
}

.dining_container .maps_button {
	margin-top: 15px;
}

.hotel_container {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: calc(15px + 1vw) 0;
	gap: calc(15px + 1vw);
}

.hotel {
	display: inline-block;
	line-height: 1.4;
	vertical-align: top;
	border: 1px solid #CCC;
	padding: 15px;
	border-radius: 5px;
	background-image: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%);
}

.flex_button_container {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 15px;
}

.dining {
	margin-top: calc(15px + 1vw);
}

.dining ul {
	margin-left: 15px;
}

.hotel_name, .dining_name {
	font-size: 16px;
	font-weight: bold;
	color: #494949;
}

.hotel_address {
	font-size: 14px;
	color: #4a4a4a;
}

.hotel .maps_button {
	margin: 0;
}

.no-mb {
	margin-bottom: 0 !important;
}

#campus_corner_link {
	margin-top: 0;
	margin-right: 0;
}

#image_too_large a {
	cursor: pointer;
}

#image_too_large a:hover {
	text-decoration: underline;
	cursor: pointer;
}

#form_messages_interior_container,
#form_messages_interior_container.highlight {
	box-shadow: 0 0 10px #000;
}

#form_messages_interior_container.highlight {
	animation: fm_red_shadow 1s;
}

#form_messages_interior_container {
	border: none;
}

@keyframes fm_red_shadow {
	0% { box-shadow: 0 0 10px #000; }
	25% { box-shadow: 0 0 15px #0070ff; }
	50% { box-shadow: 0 0 10px #000; }
	75% { box-shadow: 0 0 15px #0070ff; }
	100% { box-shadow: 0 0 10px #000; }
}

#register {
	/*border: 1px solid #CCC;*/
}

.form_item {
	background: #E8E8E8;
}

.no-padding .form_item {
	padding: calc(15px + 1vw);
}

#registration_cco {
	background: url('https://soms.ou.edu/img/toptal_subtle_patterns/57.png');
	box-shadow: none;
}

#registration_cco .content_container_inner {
	box-shadow: 0 0 10px #000;
}

#form_messages_interior_container {
	max-width: 1170px;
	margin: 0 auto;
}

#contact_container {
	-webkit-clip-path: inset(0px -10px -10px -10px);
	clip-path: inset(0px -10px -10px -10px);
	border-top: 1px solid #CCC;
	background: #323232;
}

#contact_container h1 {
	color: #A4A4A4;
}

#contact_container {
	color: #A4A4A4;
}

#contact_container a {
	color: #A4A4A4;
	text-decoration: underline;
}

#contact_container a:hover {
	color: #FFF;
}

#success_notice, #cancellation_notice, #redirect_notice {
	padding: 20px;
}

#success_notice .contents, 
#cancellation_notice .contents,
#redirect_notice .contents {
	padding: 0 0 15px 0;
}

#success_notice {
	background: #dfffdf;
}

#cancellation_notice,
#redirect_notice {
	background: #fffae8;
}

.lightbox_dialog {
	width: 290px;
}

.lightbox_dialog .button_container button {
	margin: 0;
	border: 1px solid #CCC;
	padding: 4px 7px;
	font-size: 16px;
	background: #FFF;
	border-radius: 5px;
	cursor: pointer;
	background-image: linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%);
}

.lightbox_dialog .button_container button:hover {
	box-shadow: 0 0 3px #AAA;
}

.lightbox_dialog .button_container button:active {
	box-shadow: 0 0 3px #AAA inset;
}

.form_item > label span {
	font-weight: bold;
	color: #757575;
}

#register p {
	color: #555;
}

body.payment_redirect {
	padding: 20px;
}

#redirecting_text a {
	color: #55F;
	text-decoration: underline;
	cursor: pointer;
}

#redirecting_text a:hover {
	color: blue;
}

#ensemble_photo_selector_container + #ensemble_photo_upload_container {
	margin-top: 15px;
}

#amount_due_note {
	color: red;
}

.featured_group {
	background: #515151;
	border: 1px solid #FFF;
	display: inline-block;
	margin-bottom: 15px;
	font-size: 16px;
	text-transform: none;
	box-shadow: 0 0 5px #000;
	color: #B5B5B5;
	line-height: 1.4;
	max-width: 80%;
}

.fg_text {
	padding: 8px;
}

.fg_text span {
	display: inline-block;
}

.featured_group img {
	width: 100%;
	max-width: 350px;
	display: block;
	border-top: 1px solid #FFF;
}

.featured_group a {
	color: #FFF;
	text-decoration: underline;
}

.featured_group a span {
	display: inline-block;
}

#other_performers {
	/*overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;*/
	-webkit-overflow-scrolling: touch;
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	margin-left: -3px;
	align-items: flex-start;
}

.other_performer {
	flex: 0 0 auto;
	width: 340px;
	vertical-align: top;
	white-space: wrap;
	line-height: 1.4;
	margin-right: 17px;
	margin-bottom: calc(15px + 1vw);
	box-shadow: 0 0 3px #555;
	margin-left: 3px;
	background-image: linear-gradient(to top, #d9dfec 0%, #e4e4e4 100%);
	cursor: default;
}

#other_performers .other_performer:last-of-type {
	margin-right: 3px;
}

.op_name {
	font-weight: bold;
	padding: 10px;	
	background-image: linear-gradient(to right, #868f96 0%, #596164 100%);
	color: #FFF;
	text-shadow: 1px 1px 2px #333;
	text-align: center;
}

.op_img {
	width: 100%;
	border-top: 1px solid #AAA;
	border-bottom: 1px solid #AAA;
	display: block;
}

.op_description {
	padding: 10px;
}

@media(max-width: 550px) {
	
	.fp_h1 {
		line-height: 1.4;
	}
	
	.fp_h1 b {
		display: block;
	}
	
}

.featured_performer {
	width: 100%;
	max-width: 280px;
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

#imc_join_info {
	border: 1px solid #CCC;
	background: #ffffe1;
	padding: 10px;
	margin-top: 10px;
}

.horizontal_scroll_indicator {
	width: 10px;
	opacity: 0.55;
	margin-left: 10px;
	cursor: pointer;
}

h1 span,
h1 .horizontal_scroll_indicator {
	display: inline-block;
	vertical-align: middle;
}

.schedule_date {
	font-size: 18px;
	margin-bottom: 20px;
	margin-top: 20px;
	/*text-decoration: underline overline red;*/
	color: #000;
	font-weight: bold;
}

.schedule_item {
	margin-bottom: 20px;
	line-height: 1.5;
	border: 1px solid #DDD;
	border-radius: 5px;
	/*display: inline-block;*/
	/*margin-left: 10px;*/
	color: #333;
}

.schedule_header {
	border-bottom: 1px solid #DDD;
	padding: 10px;
	background-image: linear-gradient(to top, #e5efff 0%, #dbdfe8 100%);
	color: #555;
}

.schedule_item .time {
	display: inline-block;
	vertical-align: baseline;
}

.schedule_item .location {
	display: inline-block;
	vertical-align: baseline;
}

.schedule_item .description {
	padding: 10px;
	background-image: linear-gradient(-20deg, #f4f4f4 0%, #f1f7f9 100%);
}

.schedule_item:last-of-type {
	margin-bottom: 0;
}

.schedule_item ul {
	margin-left: 20px;
}

.interest_session {
	background: #ffdbad;
	background-image: linear-gradient(to top, #d9dfec 0%, #e4e4e4 100%);
	background-image: linear-gradient(to top, #fff1e3 0%, #fff8f0 100%);
	padding: 15px 15px 0 15px;
	border-radius: 0;
	margin-top: 10px;
	clear: both;
	margin-left: -10px;
	margin-right: -10px;
	margin-bottom: -10px;
	border-top: 1px solid #DDD;
	color: #333;
}

.is_title {
	margin-bottom: 15px;
}

.is_description {
	margin-bottom: 15px;
}

.is_presenter {
	margin-bottom: 15px;
}

.is_presenter_bio img {
	max-width: 200px;
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

.is_presenter_bio {
	padding-bottom: 15px;
}

.is_cf {
	clear: both;
}

@media(max-width: 430px) {
	
	.is_presenter_bio img {
		display: block;
		float: none;
		width: 200px;
		max-width: 100%;
	}
	
}

@media(max-width: 500px) {
	
	.featured_performer {
		max-width: none;
		float: none;
		margin-right: 0;
	}
	
}

@media(max-width: 1270px) {
	
	.fixed_width .content {
		padding: calc((100% - 1170px) / 2) 0;
	}
	
}

@media(max-width: 1170px) {
	
	.content_divider {
		margin: 0 calc(-1*(15px + 1vw)) calc(15px + 1vw) calc(-1*(15px + 1vw));
	}
	
}

@media(min-width: 651px) {
	
	#nav_mobile {
		display: none;
	}
	
}

@media(max-width: 650px) {
	
	#nav_right {
		display: none;
	}
	
	#nav_container {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	#nav {
		margin-top: 0;
		position: fixed;
		top: 0;
		padding-top: 10px;
		top: 0;
		z-index: 2;
		box-shadow: 0 0 5px #1F1F1F;
		
		background: #283048;
		background: -webkit-linear-gradient(to right, #859398, #283048);
		background: linear-gradient(to right, #859398, #283048);
	}
	
	#nav_hamburger {
		display: inline;
	}

}

@media(max-width: 400px) {
	
	.site_header h1 {
		font-size: 24px;
	}
	
	
	.site_header h2 {
		font-size: 22px;
	}
}

@media(max-width: 415px) {
	
	
	
}