﻿*, *:after, *:before {
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

:root {
	--clr-btn: #067CAC;
	--clr-btn-hover: #084964;
	--clr-btn-text: white;
}

html {
	height: 100%;
}

body{
    font-family: 'Lato', sans-serif;
	background-color: white;
	color: #343434;
	line-height: 1.5;
	height: 100%;
	display: flex;
	flex-direction: column;
}

fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.u-center {
	text-align: center;
}

.u-wc{
	width:100%;
	max-width: 980px;
	min-width:320px;
  	padding-left:40px;
  	padding-right:40px;
	margin:0 auto;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

@media screen and (max-width: 600px) {
	.u-wc{
		padding-left: 25px;
		padding-right: 25px;
	}
}

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

input, select{
	outline: none;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

form{
	margin: 0;
}

p {
	margin: 0 0 16px 0;
}

.p--sm {
	font-size: .8em;
	color: #656565;
}

em {
	font-style: italic;
}

a, .c-inlineBtn {
	color:#067CAC;
	transition: .3s color;
}

a:focus {
	outline: none;
}

a:focus-visible, .c-inlineBtn:focus-visible, .c-navIcon:focus-visible {
	outline: 2px solid #067CAC;
	outline-offset: 5px;
}

a:hover, .c-inlineBtn:hover {
	color: #084964;
}

.c-inlineBtn {
	background: none;
	border: none;
	text-decoration: underline;
	display: inline;
	padding: 0 4px;
	margin: 0;
}

.vh:not(:focus):not(:active) {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

hr {
	height: 1px;
	border: 0;
	display: block;
	background: #ececec;
	margin: 32px 0;
}

img{
	max-width:100%;
	height: auto;
}

.c-header__top {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid white;
	position: relative;
}

.c-mainMenu {
	display: flex;
	justify-content: flex-end;
	grid-gap: 20px;
}

.c-mainMenu__item {
	text-decoration: none;
	font-size: .9em;
	padding: 12px 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	transition: .3s color, .3s border;
}

.c-mainMenu__item--active, .c-mainMenu__item:hover {
	border-bottom: 4px solid #0EADED;
}

.c-mainMenu__item--active {
	color: #084964;
}


@media screen and (max-width: 600px) { 
	.c-mainMenu {
		position: absolute;
		z-index: 99;
		top: 100%;
		left: -25px;
		flex-direction: column;
		background: white;
		grid-gap: 0;
		width: calc(100% + 50px);
		border-top: 1px solid #ececec;
		box-shadow: 0 8px 8px rgba(0,0,0,.1);
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		transition: .3s opacity, .3s transform, 0s visibility .3s;
	}
	.c-mainMenu--active {
		opacity: 1;
		transform:none;
		visibility: visible;
		transition-delay: 0s;
	}

	.c-mainMenu__item {
		padding: 12px 25px;
	}

	.c-mainMenu__item--active {
		font-weight: 600;
	}
}

.c-header__lang {
	display: flex;
	justify-content: flex-end;
	grid-gap: 20px;
}

.c-header__lang a {
	text-decoration: none;
	font-size: .9em;
	padding: 12px 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	transition: .3s color, .3s border;
}

.c-header__lang a:hover {
	border-bottom: 4px solid #0EADED;
}

.c-navBtns {
	display: flex;
	justify-content: center;
}

.c-navBtns div {
	flex-grow: 1;
	text-align: center;
	width: 100%;
}

.c-navBtns div + div {
	margin-left: 10px;
}

.c-infoBox {
	border: 2px solid #ececec;
	padding: 20px;
	margin-bottom: 24px;
	font-size: .9em;
	border-radius: 8px;
}

.c-infoBox--flex {
	display: flex;
	justify-content: space-between;
}

.c-infoBox--flex p {
	margin: 0;
}

.c-infoBox p:last-child {
	margin-bottom: 0;
}

.c-infoBox img {
	vertical-align: middle;
	display: inline-block;
	margin: 0 5px;
	position: relative;
	top: -2px;
}

.col-third {
	float: left;
	width: calc((99.99% - 40px) / 3);
	margin-right: 20px;
}

.col-third:nth-of-type(3n) {
	margin-right: 0;
}

.col-half{
	float: left;
	width:49%;
	margin-right:2%;
}

.col-half:nth-of-type(2n) {
	margin-right: 0;
}

.c-banner {
	display: flex;
	margin: 0 auto;
	background-size: cover;
	background-position: center center;
	position: relative;
	color: white;
}

.c-banner--content {
	padding: 36px 0;
	min-height: 400px;
}

.c-banner .u-wc {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
}

.c-banner--image .u-wc {
	max-width: 1000px;
	padding: 0;
}

/* .c-banner__header img, .c-banner img {
	display: block;
	margin: 0;
} */

.c-banner__logo {
	display: block;
	margin-bottom: 36px;
}


.c-banner__content {
	display: flex;
	grid-gap: 36px;
	flex-grow: 1;
	/* padding: 36px 0; */
	/* aspect-ratio: 8 / 3; */
}

.c-banner__col {
	width:  100%;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.c-banner__subtext {
	/* color: #656565; */
	font-size: .9rem;
	margin-top: auto;
}

/* .c-banner__col:nth-of-type(n + 2) {
	border-left: 1px solid rgba(255,255,255,.3);
	padding-left: 35px;
} */

.c-banner__pretext{
	font-size: 1.3rem;
	padding-bottom: 12px;
}

.c-banner--multi .c-banner__pretext {
	font-size: 1.1rem;
}

.c-banner__title {
	font-size: 3.5em;
	font-weight: 700;
	margin-bottom: 24px;
	display: block;
	line-height: 1.2;
	max-width: 700px;
}

.c-banner--multi .c-banner__title {
	font-size: 2.8em;
}

.c-banner__subtitle {
	font-size: 1.1rem;
	padding-bottom: 16px;
}

.c-banner__subtitle:last-child {
	margin-top: auto;
	padding-bottom: 0;
}

.c-banner--multi .c-banner__subtitle {
	font-size: 1rem;
}

@media screen and (max-width: 980px) {

	.c-banner__content {
		display: flex;
		grid-gap: 4vw;
	}

	/* .c-banner__col:nth-of-type(n + 2) {
		padding-left: 4vw;
	} */

	.c-banner__pretext {
		font-size: max(2.1vw, 1em);
	}

	.c-banner--multi .c-banner__pretext {
		font-size: max(1.8vw, 1em);
	}

	.c-banner__title {
		font-size: max(5.7vw, 2.3em);
		max-width: calc(100vw - 30%);
	}

	.c-banner--multi .c-banner__title {
		font-size: max(4.58vw, 2.3em);
	}

	.c-banner__subtext {
		font-size: max(1.45vw, .8em);
	}

	.c-banner__subtitle {
		font-size: max(1.8vw, 1em);
	}

	.c-banner--multi .c-banner__subtitle {
		font-size: max(1.5vw, 1em);
	}
}

@media screen and (max-width: 600px) {

	.c-banner--content {
		min-height: 300px;
	}

	.c-banner__content {
		flex-direction: column;
		grid-gap: 20px;
	}
/* 
	.c-banner__col:nth-of-type(n + 2) {
		border-top: 1px solid rgba(255,255,255,.3);
		border-left: 0;
		padding-top: 20px;
		padding-left: 0;
	} */

	.c-banner__title {
		max-width: 100%;
	}
}



.c-body {
	padding: 40px 0 50px;
}

.c-body .u-wc {
	position: relative;
}

.c-footer {
	border-top:1px solid #eaeaea;
	padding: 15px 0;
	margin-top: auto;
}

.c-sponsorBar + .c-footer {
	margin-top: 0;
}

.c-footerNav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: .8em;
}

.c-poweredBy {
	display: flex;
	align-items: center;
	margin-left: auto;
}

.c-poweredBy a {
	transition: .3s opacity;
}

.c-poweredBy a:hover {
	opacity: .8;
}

.c-poweredBy img {
	display: block;
	margin: 0 0 0 4px;
}

h1 {
    font-size: 1.6em;
    margin-bottom: 20px;
    margin-top: 0;
}

h2 {
    font-size: 1.4em;
    margin-bottom: 20px;
    margin-top: 16px;
}


.c-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

/* hide if only one item */
@media screen and (max-width: 860px) {
	.c-breadcrumb:has(a:first-child:last-child) {
		display: none;
	}
}

.c-breadcrumb a {
	position: relative;
	font-size: .8em;
}

/* hide if only one item */
.c-breadcrumb a:first-child:last-child {
	visibility: hidden;
}

.c-breadcrumb a:not(:first-child) {
	margin-left: 20px;
}

.c-breadcrumb a:not(:first-child):before {
	content: '>';
	position: absolute;
	left: -13px;
	top: 0;
	color: black;
}


.c-breadcrumb__item--current {
	text-decoration: none;
	color: black;
}

.registration-form label, .registration-form legend {
	display: block;
	margin-bottom:8px;
	font-weight: 700;
}

.registration-form label .required, .registration-form legend .required  {
	font-weight: 400;
	color: red;
}

.registration-form fieldset.error  {
	border: 2px solid red;
	padding: 16px;
	border-radius: 4px;
}

.registration-form fieldset.error legend {
	padding: 0 8px;
}

.error-msg, .error-msg-global {
	margin-top: -11px;
	font-size: .9em;
	font-weight: 700;
	color: red;
}

.error-msg-global {
	margin-top: 0;
	font-size: 1em;
}

.registration-form label .opt {
	font-weight: 400;
	color: #656565;
}

.registration-form label.full-label{
	padding-top:2px;
}

.registration-form .desc {
	font-size: .9em;
	color: #656565;
	margin-top: -8px;
	margin-bottom: 16px;
}

.registration-form input[type="text"], .registration-form input[type="password"], .registration-form input[type="number"], .registration-form input[type="email"] {
	border: 0;
	border: 1px solid #ececec;
	width:100%;
	padding: 12px 16px;
	background: #f7f6f6;
	margin-bottom: 20px;
	border-radius: 4px;
	transition:.5s background;
	-webkit-transition:.5s background;
	-moz-transition:.5s background;
}

.registration-form input[type="text"]:focus, .registration-form input[type="password"]:focus, .registration-form input[type="number"]:focus, .registration-form input[type="email"]:focus, .registration-form select:focus, .registration-form textarea:focus{
	background-color: #eeebeb;
}

.registration-form textarea {
	border: 0;
	border: 1px solid #ececec;
	width:100%;
	padding: 12px 16px;
	height: 200px;
	background: #f7f6f6;
	margin-bottom: 20px;
	border-radius: 4px;
	transition:.5s background;
	-webkit-transition:.5s background;
	-moz-transition:.5s background;
}

.char-count {
	color: #656565;
	font-size: .8rem;
	margin-bottom: 20px;
	margin-top: -8px;
	display: block;
}

.registration-form input.error, .registration-form textarea.error {
	border: 2px solid red;
}

.registration-form select{
	border: 0;
	border: 1px solid #ececec;
	border-radius: 4px;
	width:100%;
	padding: 12px 16px;
	background: #f7f6f6 url('../images/select-arrow.png') no-repeat right 12px; 
	margin-bottom: 20px;
	 -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
	transition:.5s background;
	-webkit-transition:.5s background;
	-moz-transition:.5s background;
}

.registration-form select::-ms-expand{
	display: none;
}

.registration-form select.error {
    border: 2px solid red;
}

.c-btn{
	text-align: center;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	max-width:100%;
	padding: 15px 12px;
	text-decoration: none;
	font-size: 1.05em;
	color: var(--clr-btn-text);
	border-radius: 4px;
	background: var(--clr-btn);
	margin-bottom: 20px;
	transition: .3s background;
	margin-top: 5px;
	text-shadow: 0 1px 1px rgba(0,0,0,.3);
	border: none;
}

.c-btn:hover, .c-btn:focus{
	color: var(--clr-btn-text);
	background: var(--clr-btn-hover);
	outline: none;
}

.c-btn:disabled {
	opacity: .7;
}

.c-btn:focus-visible {
	outline: 2px solid var(--clr-btn);
	outline-offset: 5px;
}

.c-btn + .c-btn {
	margin-left: 10px;
}

.c-btn span {
	font-size: .8em;
	display: block;
}

.time {
	padding-top: 10px;
	color: #1f1f1f;
}

.c-testConnection {
	position: absolute;
	z-index: 2;
	right: 40px;
	top: -60px;
	font-weight: 400;
	display: inline-flex;
	align-items: center;
	grid-gap: 8px;
	padding: 8px 16px 8px 8px;
	background: white;
	border-radius: 50px;
	text-decoration: none;
	font-size: .9em;
	align-self: center;
	border: 1px solid #ececec;
	box-shadow: 0 2px 16px rgba(0,0,0,.1);
	transition: .3s background, .3s color;
}

.c-testConnection:hover {
	background: #067CAC;
	color: white;
}

.c-testConnection img {
	display: block;
	width: 20px;
	height: 20px;
	border: 2px solid rgba(255,255,255,.8);
	border-radius: 50%;
}
/* .c-testConnection a {
	display: block;
	font-weight: 700;
	font-size: 18px;
	text-decoration: underline;
	color: black;
} */

/* .c-testConnection--sticky {
	position: absolute;
	right: 20px;
	top: 0;
} */

@media screen and (max-width: 600px) {
	.c-testConnection {
		right: 20px;
	}

	.registration-form input[type="text"], .registration-form input[type="password"], .registration-form input[type="number"], .registration-form input[type="email"], select {
		margin-bottom: 16px;
	}

	.registration-form .desc {
		margin-bottom: 12px;
	}
}

.c-videoEmbed {
	max-width: 500px;
	margin: 40px auto;
}

.radio-inputs {
	display: flex;
	margin: 0 0 20px;
}


.radio-input input[type="radio"], .radio-input input[type="checkbox"] {
	position: absolute; 
  	overflow: hidden; 
  	clip: rect(0 0 0 0); 
  	height: 1px; width: 1px; 
  	margin: -1px; padding: 0; border: 0;
}

.radio-input {
	margin: 0 12px 0 0;
}

.radio-input label {
	position: relative;
	cursor: pointer;
	padding: 12px 12px 12px 40px;
	margin: 0;
	font-weight: 400;
	border-radius: 4px;
	border: 1px solid transparent;
	border-bottom: 3px solid transparent;
	transition: .3s border;
}

.radio-input label:before {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	margin-top: -10px;
	border: 1px solid #cccccc;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #f7f6f6;
	transition: .3s background;
}

.radio-input input:focus-visible + label {
	outline: 2px solid #067CAC;
	outline-offset: 5px;
}

.radio-input label:after {
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -5px;
	left: 17px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #067CAC;
	opacity: 0;
	transition: .3s opacity;
}

.radio-input input:checked + label {
	background: #EBF5F8;
	border: 1px solid #90d8f5;
	border-bottom: 3px solid #067CAC;
}

.radio-input input:checked + label:after {
	opacity: 1;
}

.radio-input input:checked + label:before {
	background: white;
}

.radio-input input[type="checkbox"] + label:before {
	border-radius: 4px;
	left: 12px;
	margin-top: -9px;
	width: 18px;
	height: 18px;
}


.radio-input input[type="checkbox"] + label:after {
	display: none;
}

.radio-input input[type="checkbox"]:checked + label:before {
	background: #067CAC url('../images/check.svg') no-repeat center center / 10px 10px;
	border: none;
}

@media screen and (max-width: 600px){
	.radio-inputs {
		flex-direction: column;
	}
}

@media screen and (max-width: 930px){

	.col-half {
	    float: left;
	    margin-bottom: 10px;
	    margin-right: 0;
	    width: 100%;
	}

	.col-third {
		width: 100%;
		margin-right: 0;
	}

	.pre-registered-box p{
		float: none;
		text-align: center;
		margin-bottom:10px;
	}

	.pre-registered-box form {
	    float: none;
	    margin: 0 auto;
	    text-align: center;
	}

}



@media screen and (max-width: 600px) {


	.c-navBtns {
		display: block;
	}

	.c-btn {
		display: block;
		width: 100%;
		margin-bottom: 10px;
	}

	.c-btn + .c-btn, .c-navBtns div + div {
		margin-left: 0;
	}

	/* .c-body {
		padding: 20px 0 30px;
	} */

	.c-infoBox--flex {
		display: block;
	}
	
	.c-infoBox--flex p:nth-of-type(n + 2) {
		margin-top: 4px;
	}
}

@media screen and (max-width: 430px){

	body {
		font-size: .95em;
	}

}

.c-navIcon {
	display: none;
	position: relative;
	padding: 0;
	width: 41px;
	height: 41px;
	background: #067CAC;
	border: none;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
	transition: .3s background;
	border-radius: 4px;
	align-self: center;
  }

  @media screen and (max-width: 600px) {
	.c-navIcon {
		display: block;
	}
  }
  
  .c-navIcon:before, 
  .c-navIcon:after {
	content: "";
	width: 21px;
	height: 1px;
	position: absolute;
	left: 10px;
	background: #fff;
	transition: .3s transform, .3s top, .3s bottom, .3s width;
  }
  
  .c-navIcon:before {
	width: 14px;
  }
  
  .c-navIcon span {
	width: 21px;
	height: 1px;
	position: absolute; 
	top: 20px;
	left: 10px;
	background: #fff;
	transition: .3s opacity;
  }
  
  .c-navIcon:before {
	top: 14px;
  }
  
  .c-navIcon:after {
	bottom: 14px;
  }
  
  .c-navIcon:not(.c-navIcon--active):hover:before {
	top: 21px;
	width: 21px;
  }
  
  .c-navIcon:not(.c-navIcon--active):hover:after {
	bottom: 19px;
	transform: rotate(90deg);
  }
  
  .c-navIcon--active:before {
	top: 21px;
	width: 21px;
	transform: rotate(45deg);
  }
  
  .c-navIcon--active:after {
	bottom: 19px;
	transform: rotate(135deg);
  }
  
  .c-navIcon:hover span, .c-navIcon--active span  {
	opacity: 0;
  }

  .c-agendaItem {
	padding: 12px;
	border-radius: 4px;
	margin-bottom: 12px;
	border: 1px solid #ececec;
	border-left: 4px solid #0EADED;
	padding-left: 16px;
  }

  .c-agendaItem--secondary {
	border-left: 4px solid #cccccc;
  }

  .c-agendaItem :last-child {
	margin-bottom: 0;
  }

  .c-agendaItem__time {
	font-size: .8em;
	color: #656565;
  }

  .c-agendaItem__title {
	font-size: 1.2em;
	margin-top: 4px;
	margin-bottom: 4px;
  }

  .c-agendaItem__speakers {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	row-gap: 12px;
	margin-top: 8px;
	margin-bottom: 12px;
  }

  /* .c-agendaItem__speakers .c-speakerItem {
	width: calc((100% - 48px) / 4);
  } */

  .c-speakerItem {
	display: flex;
	align-items: center;
	grid-gap: 12px;
  }

  .c-speakerItem__thumb {
	flex-shrink: 0;
  }

  .c-speakerItem__thumb img {
	border-radius: 50%;
	width: 36px;
	height: 36px;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	display: block;
  }

  .c-speakerItem h5 {
	margin: 0;
	font-weight: 600;
	font-size: .9rem;
  }

  .c-speakerItem h5 span {
	display: block;
	font-weight: 400;
	color: #656565;
	font-size: .8rem;
  }

  .c-sponsorBar {
	margin-top: auto;
  }

  .c-sponsorsGrid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 32px;
  }

  .c-sponsorsGrid:last-child {
	margin-bottom: 0;
  }

  .c-sponsor {
	width: calc(100% / 5);
	padding: 20px;
	border-right: 1px solid #ececec;
	transition: .3s opacity;
	display: flex;
	align-items: center;
  }

  .c-sponsor img {
	display: block;
	margin: 0 auto;
	max-width: 140px;
	max-height: 70px;
	object-fit: contain;
	width: 100%;
  }

  .c-sponsor:last-child {
	border-right: 0;
  }

  @media screen and (max-width: 600px) {
	.c-sponsor {
		width: calc(100% / 3);
	}

	.c-sponsor:nth-of-type(3n) {
		border-right: 0;
	}
}

@media screen and (min-width: 600px) {
	.cols {
	  display: flex;
	  grid-gap: 48px;
	}

	.cols .col {
		width: calc((100% - 48px) / 2);
	}
}

.message {
	padding: .75rem;
	border-radius: .25rem;
	font-size: .9rem;
}

.message.warning {
	background: #ffc107;
	color: black;
}

.message.info {
	background: #17a2b8;
	color: white;
}