@charset "utf-8";
/* CSS Document */

/* Variables */
:root {
	--black: #000;
	--white: #fff;

  --header-color: #132a46;
  --footer-color: #132a46;
  --conference-color: #e9817f;

	--header-btn-color: #72b6a0;
	--header-btn-color-hvr: #F38EA6;
	--header-btn-text-color: #132a46;
	--header-btn-text-color-hvr: #fff;

	--footer-text-color: #72b6a0;

	--register-btn-color: #F38EA6;
	--register-btn-hvr-color: #72b6a0;
	--register-btn-text-color: #fff;

	--btn: #e9817f;
	--btn-hvr: #77c8c0;
	--btn-text-color: #252c3b;
	--btn-text-color-hvr: #252c3b;

	--heading: #007e8b;
	--heading-alt: #7a388e;
	--highlight: #f38ea5;
	--link: #007e8b;

	--primary-text: #132a46;

	--side-text-border: #007e8b;

	--conf-details: #252c3b;

	--banner-overlay-text-color: #fff;
	--banner-description-color: #fff;
	--banner-divider-color: #f7e070;
}

/* Text Alignment */

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

/* Font Weight */
.font-thin       { font-weight: 100; }
.font-extralight { font-weight: 200; }
.font-light      { font-weight: 300; }
.font-normal     { font-weight: 400; }
.font-medium     { font-weight: 500; }
.font-semibold   { font-weight: 600; }
.font-bold       { font-weight: 700; }
.font-extrabold  { font-weight: 800; }
.font-black      { font-weight: 900; }

/* Font Family */
.font-poppins { font-family: 'Poppins', sans-serif; }
.font-opensans { font-family: 'Open Sans', sans-serif; }

/* Margin and Padding */
.m-0 { margin: 0; }
.p-0 { padding: 0; }

/* Display Utilities: Flex and Block */
.d-block { display: block; }
.d-flex  { display: flex; }

/* Flexbox Alignment Utilities */

.justify-between   { justify-content: space-between; }
.items-start       { align-items: flex-start; }
.items-center      { align-items: center; }
.items-end         { align-items: flex-end; }

a, button, input, select, textarea {
	transition-duration: .3s;
}

html,
body {
	padding: 0;
	margin: 0;
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	color: #fff;
}

@media screen and (max-width:557px) {
	html,
	body {
		font-size: 16px;
	}
}

/* TYPO */
p {
	font-size: 16px;
}

p > a {
	color: var(--link);
}

*:not(h1, h2, h3, h4, h5, h6) {
	font-family: 'Open Sans', sans-serif;
}

h1,
p>strong,
p>strong *,
.conf-supporters h3,
#conf-details strong {
	font-weight: 700;
}

h1 {
	font-weight: 700;
	font-family: 'Poppins', sans-serif;
}

.indent {
	max-width: 1000px;
	padding: 0px;
	height: auto !important;
	margin: 0px auto;
	position: relative;
}

@media (max-width: 1150px) {
	.indent {
		padding: 0px 40px;
	}
}

@media (max-width: 600px) {
	.indent {
		padding: 0px 25px;
	}
}

@media (max-width: 400px) {
	#topbar .indent {
		padding: 0px 10px;
	}
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

img {
	border: none;
}

p {
	margin: .25em 0 1.2em 0;
}

strong {
	font-weight: 600;
}

b {
	font-weight: 600;
}

hr {
	margin-top: 0;
	margin-bottom: 10px;
	border: solid 1px #C0C0C0;
}

.bodyText {
	padding: .25em 0 1.2em 0;
}

.clear-fix {
	clear: both;
	line-height: 1px;
}

#topbar {
	background-color: var(--header-color);
	padding: 0;
	margin: 0;
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
}

#isstd_logo {
	float: left;
	height: auto;
	margin: 17px 0 0 0;
	width: 136px;
	position: absolute;
}

#top_nav {
	list-style-type: none;
	padding: 0;
	margin: 0;
	position: relative;
	float: right;
	font-weight: 700;
}

#top_nav li {
	float: left;
}

#top_nav li a {
	display: block;
	padding: 7px 13px;
	margin: 0 0 0 5px;
	text-decoration: none;
	color: var(--header-btn-text-color);
	font-size: 14px;
	text-align: center;
	background-color: var(--header-btn-color);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-family: 'Poppins', sans-serif;
}

#top_nav li a:hover {
	color: var(--header-btn-text-color-hvr);
	background-color: var(--header-btn-color-hvr);
}

@media screen and (max-width:1025px) {
	#top_nav {
		display: none;
	}
	.mobileOnly {
		display: block;
	}
	#topbar {
		height: 60px;
		position: relative;
	}
	#isstd_logo {
		margin: 10px 0 0 0;
		width: 130px;
		position: relative;
	}
	button#responsive-menu-button {
		top: 1px !important;
	}
}

.mobileOnly {
	display: none;
}

#header-banner {
	position: relative;
	text-align: center;
}

#header-banner .indent {
	position: absolute;
	z-index: 10;
	left: 0;
	right: 0;
	margin: auto;
	top: clamp(40px, calc(6.11vw), 150px);
}

@media (max-width:1400px) {
	#header-banner .indent {
		top: 40px;
	}
}

@media (max-width:1025px) {
	#header-banner .indent {
		top: 15px;
	}
}

#header-banner h2 {
	color: var(--banner-overlay-text-color);
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	margin: 0 0 35px 0;
	font-size: clamp(16px, 3.5vw, 50px);
	line-height: 1.2em;
	position: relative;
	display: inline-block;
}

#header-banner h2::after {
	content: "";
	position: absolute;
	left: 0;
	margin: 0;
	padding: 3px 0 3px;
	border-radius: 12px;
	background: var(--banner-divider-color);
	display: block;
	width: 0;
	bottom: -20px;
	animation: divider-expand 1s ease-out forwards;
}

@keyframes divider-expand {
	0% {
		width: 0;
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		width: 100%;
		opacity: 1;
	}
}

@keyframes fade-in {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fade-in-overlay {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@media screen and (max-width:840px) {
	#header-banner h2 {
		margin: 0 0 15px 0;
	}
	#header-banner h2::after {
		padding: 1px 0 1px;
		bottom: -10px;
	}
}

#header-banner p {
	color: var(--banner-description-color);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: clamp(14px, 2.2vw, 30px);
	line-height: 1.2em;
	max-width: clamp(300px, 42.8vw, 600px);
	margin: auto;
}

.overlay-text {
	opacity: 0;
}

#header-banner figure.image-loaded + .indent .overlay-text {
	animation: fade-in-overlay 1.25s ease-out forwards;
}

.conf-details-indent {
	position: relative;
	z-index: 1;
	padding: 0;
}

#conf-details {
	padding: 10px;
	text-align: center;
	color: var(--conf-details);
	background-color: var(--conference-color);
	line-height: 20px;
}

@media (min-width: 1000px) {
	#conf-details {
		padding: 10px 40px;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		border-radius: 100px 100px 0 0;

		max-width: 1130px;
    width: 100%;
	}
}

#conf-details .sep {
	display: inline-block;
	vertical-align: top;
	width: 3px;
	height: 20px;
	margin: 0 15px;
	/* background-color: #ed9f2f; */
	background-color: var(--conf-details);
}

#sponsors {
	width: 100%;
	height: auto;
	font-size: 21px;
	color: #0a0f58;
	text-transform: uppercase;
	background-color: #fff;
	line-height: 1.2em;
	font-weight: 600;
	text-align: center;
	display: block;
	position: relative;
	margin: 0 auto 0 auto;
}

#sponsors img {
	width: 240px;
	height: auto;
	display: inline-block;
	padding: 30px 20px 0px 20px;
}

@media screen and (max-width:340px) {
	#sponsors img {
		width: 90%;
		height: auto;
		display: inline-block;
		padding: 30px 0px 0px 0px;
	}
}

.footer-cityscape,
#footer-cityscape {
	display: block;
	width: 100%;
	pointer-events: none;
	user-select: none;
	animation: fade-in 0.5s ease-out forwards;
	animation-delay: 0.7s;
	opacity: 0;
}

.footer-cityscape,
#footer-cityscape {
	max-width: 1288px;
	margin: 50px auto 0 auto;
}

#footer {
	width: 100%;
	height: auto;
	padding: 45px 0 100px 0;
	font-size: 14px;
	color: var(--footer-text-color);
	background: var(--footer-color);
	line-height: 1.6em;
	position: relative;
}

#footer .d-flex {
	gap: 16px;
}

#f-left {
	text-align: left;
}

#f-right {
	text-align: right;
	flex-shrink: 0;
}

#footer a:link {
	color: var(--footer-text-color);
	text-decoration: none;
}

#footer a:visited {
	text-decoration: none;
	color: var(--white);
}

#footer a:hover {
	text-decoration: none;
	color: var(--white);
}

#footer a:active {
	text-decoration: none;
	color: var(--white);
}

@media screen and (max-width:840px) {
	#footer {
		padding: 35px 0 35px 0;
	}
	#footer .d-flex {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}
	#f-left {
		width: 100%;
		float: none;
		text-align: center;
	}
	#f-right {
		width: 100%;
		float: none;
		text-align: center;
	}
}

h1, .h1 {
	color: var(--highlight);
	font-weight: bold;
}

h2, .h2, #stepPageHeader, h3, .h3, h6, .h6 {
	font-weight: bold;
	color: var(--heading);
}

h1,
.h1 {
	font-size: 53px;
	margin: 0 0 .5em 0;
	line-height: 1.2em;
}

h2,
.h2,
#stepPageHeader {
	font-size: 25px;
	margin: .1em 0 .5em 0;
	line-height: 1.2em;
}

h2 a,
.h2 a,
#stepPageHeader a {
	text-decoration: none;
}

h2 a:hover,
.h2 a:hover,
#stepPageHeader a:hover {
	text-decoration: underline;
}

h3,
.h3 {
	font-size: 26px;
	margin: 1.2em 0 .5em 0;
	line-height: 1.2em;
}

h3 a,
.h3 a {
	text-decoration: none;
}

h3 a:hover,
.h3 a:hover {
	text-decoration: underline;
}

h6,
.h6 {
	font-size: 17px;
	margin-top: 0;
	margin-bottom: .5em;
	line-height: 1.2em;
}

h6 a,
.h6 a {
	text-decoration: none;
}

h6 a:hover,
.h6 a:hover {
	text-decoration: underline;
}

.bold-blue {
	font-weight: 600;
	color: #0a0f58;
}

@media screen and (max-width:530px) {
	h1, .h1, html .has-x-large-font-size {
		font-size: 32px !important;
	}
	h2,
	.h2,
	#stepPageHeader {
		font-size: 23px;
	}
}

@media screen and (max-width:450px) {
	h1, .h1, html .has-x-large-font-size {
		font-size: 30px !important;
	}
	h2,
	.h2,
	#stepPageHeader {
		font-size: 22px;
	}
	h3,
	.h3 {
		font-size: 19px;
	}
	h6,
	.h6 {
		font-size: 15px;
	}
}

@media screen and (max-width:400px) {
	h1, .h1, html .has-x-large-font-size {
		font-size: 28px !important;
	}
}

#secondary_container {
	width: 100%;
	height: auto;
	background-color: #fff;
	position: relative;
	color: var(--primary-text);
	padding-top: 64px;
	display: block;
}

#content {
	padding: 0 0 100px 0;
	animation: fade-in 0.5s ease-out forwards;
	animation-delay: 0.3s;
	opacity: 0;
	line-height: 1.4em;
	width: 60%;
}

#content ul {
	margin-top: 1em;
	margin-bottom: 1.3em;
}

#content a {
	color: var(--link);
}

#content a:hover {
	color: var(--highlight);
}

#content .ab-button {
	background-color: var(--btn);
	color: var(--btn-text-color);
}

#content .ab-button:hover {
	background-color: var(--btn-hvr);
	color: var(--btn-text-color-hvr);
}


#content p > a {
	color: var(--link);
}

#content a:hover {
	text-decoration: underline;
}

#sidebar {
	padding: 0 0 60px 0;
	width: 28%;
	font-size: 18px;
	line-height: 1.4em;
	padding-left: 6%;
	border-left: solid 1px var(--side-text-border);
	animation: fade-in 0.5s ease-out forwards;
	animation-delay: 0.5s;
	opacity: 0;
}

#sidebar p {
	font-size: 18px;
}

#sidebar a:hover {
	color: var(--primary-text);
}

.register {
	position: relative;
	overflow: hidden;
}

.register::before,
.register::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 14px;
	border-radius: 100%;
	background-color: #fff;
}

.register::before {
	top: -7px;
}

.register::after {
	bottom: -7px;
}

.register a {
	display: block;
	background-color: var(--register-btn-color);
	color: var(--register-btn-text-color);
	text-align: center;
	padding: 20px;
	font-weight: 600;
	font-size: 20px;
	text-transform: uppercase;
	transition: all .3s ease;
	text-decoration: none;
}

.register a:hover {
	background-color: var(--register-btn-hvr-color);
	color: var(--register-btn-text-color);
	transition: all .3s ease;
}

#side-text .wp-block-heading {
	margin-top: 0;
	margin-bottom: 1em;
}

#side-text p strong {
	color: var(--highlight);
}

.sidebar-heading {
	font-weight: 600;
	color: #ed9f2f;
	text-transform: uppercase;
	font-size: 22px;
	margin-bottom: .5em;
	line-height: 1.15em;
}

@media screen and (max-width:900px) {
	#secondary_container .d-flex {
		flex-wrap: wrap;
	}

	#content {
		width: 100%;
		padding: 0 0 30px 0;
		margin-right: 0px;
		line-height: 1.4em;
	}
	#sidebar {
		padding: 30px 0 30px 0;
		width: 100%;
		margin-left: 0;
		border-left: 0;
		border-top: solid 1px var(--side-text-border);
	}
	#sidebar img {
		display: none;
	}
	#side-text {
		padding: 25px 0px 0px 0px;
		border-left: none;
	}
	.sidebar-heading br {
		display: none;
	}
}

@media (max-width: 450px) {
	#secondary_container {
		padding-top: 45px;
	}
}

@media (max-width: 400px) {
	#secondary_container {
		padding-top: 35px;
	}
}

.rwd-table {
	margin: 1em 0;
	min-width: 300px;
}

.rwd-table tr {
	border-top: 1px solid #edf0f3;
	border-bottom: 1px solid #edf0f3;
}

.rwd-table th {
	display: none;
	background-color: #edf0f3;
	color: #0a0f58;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .01em;
}

.rwd-table tr:first-child {
	border: none;
	font-weight: bold;
}

.rwd-table td {
	display: block;
	padding: 10px;
	font-size: 16px;
	font-weight: 500;
}

.rwd-table td:first-child {
	padding-top: .5em;
}

.rwd-table td:last-child {
	padding-bottom: .5em;
}

.rwd-table td:before {
	content: attr(data-th) "";
	font-weight: 700;
	width: 100%;
	display: inline-block;
	font-size: 16px;
	text-transform: uppercase;
	background-color: #edf0f3;
	color: #0a0f58;
	padding: 5px;
	margin-bottom: 3px;
}

.rwd-table td:first-child:before {
	content: none;
}

@media (min-width: 700px) {
	.rwd-table td:before {
		display: none;
	}
}

.rwd-table th {
	text-align: center;
}

.rwd-table td {
	text-align: center;
}

.rwd-table td:first-child {
	text-align: left;
}

.rwd-table th,
.rwd-table td:nth-child(2):before {
	color: #0a0f58;
	content: "Early (Until Dec. 17): ";
	text-align: center;
}

.rwd-table th,
.rwd-table td:nth-child(3):before {
	color: #0a0f58;
	content: "Regular (Dec. 18 - Feb. 14): ";
	text-align: center;
}

.rwd-table th,
.rwd-table td:nth-child(4):before {
	color: #0a0f58;
	content: "Late (After Feb. 14): ";
	text-align: center;
}

@media (min-width: 700px) {
	.rwd-table th,
	.rwd-table td {
		display: table-cell;
		padding: .25em .1em;
	}
	.rwd-table th:first-child,
	.rwd-table td:first-child {
		padding-left: 0;
	}
	.rwd-table th:last-child,
	.rwd-table td:last-child {
		padding-right: 0;
	}
}

.rwd-table {
	background: none;
	overflow: hidden;
	color: #0a0f58;
}

.rwd-table tr {
	border-color: #0a0f58;
}

.rwd-table th,
.rwd-table td {
	margin: 0 1em 0 0;
}

@media (min-width: 700px) {
	.rwd-table th {
		padding: .8em 1em .8em 0 !important;
	}
	.rwd-table td {
		padding: 1em 1em 1em 0 !important;
	}
}

.date {
	font-size: 14px;
	line-height: 1em;
	font-weight: 600;
	font-style: italic;
}

.rwd-table2 {
	margin: 2em 0 1em 0;
	min-width: 100%;
	line-height: 1.3em;
}

.rwd-table2 tr {
	border-bottom: .75px solid #0a0f58;
}

.rwd-table2 tr:last-child {
	border-bottom: none;
}

.rwd-table2 th {
	display: none;
	font-weight: 700;
}

.rwd-table2 td {
	display: block;
	font-weight: 500;
}

.rwd-table2 td:first-child {
	padding-top: .5em;
}

.rwd-table2 td:last-child {
	padding-bottom: .5em;
}

.rwd-table2 td:before {
	font-weight: 700;
	display: block;
	padding-bottom: 2px;
}

.rwd-table2 .member:before {
	display: none;
}

.rwd-table2 .member {
	background: #0a0f58;
	color: #edf0f3;
	font-weight: 700;
	font-size: 19px;
	padding: .6em 1em !important;
	margin: 0px;
}

.rwd-table2 th,
.rwd-table2 td {
	text-align: center;
}

.rwd-table2 {
	background: #edf0f3;
	overflow: hidden;
	color: #0a0f58;
}

.rwd-table2 tr {}

.rwd-table2 th,
.rwd-table2 td {
	margin: .5em 1.3em;
}

.rwd-table2 th,
.rwd-table2 td:before {
	color: #0a0f58;
}

.rwd-table2 th:first-child {
	text-align: left;
}

.rwd-table2 th:nth-child(2),
.rwd-table2 th:nth-child(3) {
	text-align: center;
}

.rwd-table2 th,
.rwd-table2 td:first-child:before {
	color: #0a0f58;
	content: "Registration Category: ";
	text-align: center;
}

.rwd-table2 th,
.rwd-table2 td:nth-child(2):before {
	color: #0a0f58;
	content: "Early Bird Thru 24 Jan 2018: ";
	text-align: center;
}

.rwd-table2 th,
.rwd-table2 td:nth-child(3):before {
	color: #0a0f58;
	content: "Regular as of 25 Jan 2018: ";
	text-align: center;
}

.rwd-table2 td p {
	margin: .25em 0;
}

@media (min-width: 600px) {
	.rwd-table2 td:before {
		display: none;
	}
	.rwd-table2 th,
	.rwd-table2 td {
		display: table-cell;
		padding: .25em .5em;
		text-align: left;
	}
	.rwd-table2 th:first-child,
	.rwd-table2 td:first-child {
		padding-left: 0;
		width: 320px;
	}
	.rwd-table2 th:last-child,
	.rwd-table2 td:last-child {
		padding-right: 0;
	}
	.rwd-table2 th,
	.rwd-table2 td {
		padding: .8em 1.3em !important;
	}
}

.conf-supporters {
	border-top: solid 1px var(--header-color);
	padding-top: 32px;
	text-align: center;
	margin-bottom: 48px;
}

.conf-supporters h3 {
	margin-top: 0;
	margin-bottom: 32px;
}

.conf-supporters-icons {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
