html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

body {
	margin: 0;
	padding: 0;
	color: #022c3e;
	background: #fff url('background.jpg') left top / cover;
	font: 1em/1.2 'Roboto', Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 .5em;
	font-weight: 800;
	line-height: 1.2;
}

h1 { font-size: 2em; color: #148d8d; }
h2 { font-size: 1.5em; color: #148d8d; }
h3 { font-size: 1.3em; color: #148d8d; }
h4 { font-size: 1.1em; color: #148d8d; }

p {
	margin: 0 0 0.8em;
	line-height: 1.5;
}

a:link,
a:visited {
	color: #000;
	text-decoration: underline;
	text-decoration-style: dotted;
}

a:focus,
a:hover,
a:active {
	color: blue;
	text-decoration: underline;
	text-decoration-style: dotted;
}

hr {
	height: 0;
	margin-top: 1em;
	margin-bottom: 2em;
	border: 0;
	border-top: 2px solid #022c3e;
}

table {
	background-color: transparent;
	border-spacing: 0;
	border-collapse: collapse;
}

th,
td {
	padding: .4em .8em;
	vertical-align: top;
	text-align: left;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
}

.header {
	color: #fff;
	background-color: transparent;
	padding: 1em 1.25em;
}

.nav-bar {
	background-color: transparent;
	padding: 0;
}

.content {
	padding: 1em 1.25em;
}

.semitransparent {
	background: rgba(255, 255, 255, 0.9);
	padding: 18px;
}

.img-responsive {
	max-width: 100%;
}

.nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav li {
	display: inline;
	margin: 0;
}

.nav a {
	display: block;
	padding: .8em 1.25em;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid gray;
}

.nav a:link,
.nav a:visited {
	color: #022c3e;
}

.nav a:focus {
	color: black;
	background-color: white;
}

.nav a:hover {
	color: #002058;
	background-color: #d1da27;
}

.flash {
	max-width: 1200px;
	margin: 10px auto;
	padding: 10px 15px;
	background: rgba(255, 255, 255, 0.95);
	border-left: 5px solid #025c53;
}

.form-errors {
	margin: 0 0 20px;
	padding: 12px 15px 8px 35px;
	border: 1px solid #a42840;
	background: #fff5f7;
	color: #a42840;
}

.form-errors li {
	margin-bottom: 6px;
}

form.registration input.input,
form.registration textarea.textarea {
	width: 64%;
	border: 1px solid #ddd;
	padding: 15px 10px;
	background: white;
	font-size: 17px;
}

form.registration textarea.textarea {
	width: 64% !important;
}

form.registration input.input.error,
form.registration textarea.error,
form.registration .error input,
form.registration .error select,
form.registration .error textarea {
	border: 1px solid #a42840 !important;
}

form.registration label {
	display: inline-block;
	width: 240px;
	color: #000;
	vertical-align: baseline;
	margin-right: 15px;
	margin-top: 5px;
	float: left;
}

form.registration p {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 3px !important;
	margin-bottom: 7px !important;
	text-align: left;
}

form.registration input.small {
	width: 19%;
	font-size: 100% !important;
	margin-right: 7px;
}

form.registration input.telfax {
	width: 40%;
}

form.registration input.middle {
	width: 44%;
	margin-right: 7px;
}

form.registration input.micro {
	width: 14%;
	margin-right: 7px;
}

form.registration table {
	width: 99%;
	margin-bottom: 30px;
	border-collapse: collapse;
}

form.registration table th {
	text-align: left;
}

form.registration td input {
	height: 30px !important;
}

form.registration table th,
form.registration table td {
	padding: 4px;
	color: black;
	background: none;
}

form.registration table tbody th {
	background-color: #025c53;
	color: white;
	padding: 15px;
	width: 210px;
	border-bottom: 1px solid #fff;
}

form.registration table thead td {
	background-color: #3a559f;
}

form.registration table thead th {
	color: black;
	padding: 7px 15px;
}

form.registration table tbody td {
	background-color: #fff;
	border: 1px #cfcfcf solid;
	padding: 10px 15px;
}

form.registration table tbody td.subtotal {
	background-color: #e1e1e1;
	text-align: right;
	padding-right: 15px;
	white-space: nowrap;
	border: 1px #fff solid;
}

form.registration table tfoot th {
	font-size: 20px;
	line-height: 35px;
}

form.registration table tfoot td.subtotal {
	background-color: #025c53;
	color: white;
	font-weight: bold;
	text-align: right;
	padding-right: 15px;
}

form.registration table td.cost {
	text-align: right;
	padding-right: 10px;
	white-space: nowrap;
	font-size: 17px;
	line-height: 35px;
}

form.registration select {
	background-color: white;
	border: 1px solid #ddd;
	padding: 15px 10px;
	width: 25% !important;
	height: 56px;
	font-size: 17px;
}

form.registration span.label {
	display: block;
	margin-left: 30px;
	color: #014941;
	font-size: 19px;
	line-height: 35px;
	text-align: left;
	font-family: Arial, sans-serif;
}

form.registration input.invisible {
	border: none;
	background: none;
	text-align: right;
	width: 60px;
	font-size: 17px;
	padding: 0;
	margin: 0;
	color: black;
	visibility: visible;
}

form.registration input.invisible.total {
	color: #fff;
	font-weight: bold;
	width: 140px;
}

form.registration .currint {
	background-color: #025c53;
	color: white;
}

form.registration input.submit,
form.registration input.reset {
	background: #025c53;
	color: white;
	border: 1px solid #025c53;
	line-height: 18px;
	padding: 8px 20px;
	font-size: 14px;
	overflow: visible;
	cursor: pointer;
}

form.registration input.submit:hover {
	background: #014941;
	border-color: #014941;
}

form.registration p.buttons {
	text-align: center !important;
	background-color: #025c530a;
	border: 1px solid #025c530a;
	padding: 10px !important;
	margin-top: 30px !important;
	margin-bottom: 20px !important;
}

form.registration p.checkbox-line {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

form.registration p.checkbox-line input[type='checkbox'] {
	flex: 0 0 auto;
	margin-top: 5px;
}

form.registration p.checkbox-line label {
	float: none;
	width: auto;
	margin: 0;
}

form.registration h3 {
	margin-top: 50px;
}

form.registration ul.paymenttype {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

form.registration ul.paymenttype li {
	padding: 15px !important;
	margin-bottom: 20px;
	background-color: #025c530a;
	border: 1px solid #025c530a;
	display: block;
	margin-left: 0;
	position: relative;
	list-style: none;
}

form.registration ul.paymenttype li table.regular {
	background-color: #025c53;
}

form.registration ul.paymenttype li table.regular td,
form.registration ul.paymenttype li table.regular th {
	border-color: #ddd;
}

.registration.preview .preview-table {
	width: 99%;
	margin-bottom: 30px;
	border-collapse: collapse;
}

.registration.preview .preview-table th {
	background-color: #025c53;
	color: white;
	padding: 15px;
	width: 240px;
	border-bottom: 1px solid #fff;
}

.registration.preview .preview-table td {
	background-color: #fff;
	border: 1px #cfcfcf solid;
	color: black;
	padding: 15px;
}

form.registration.preview-actions input.secondary {
	background: #fff;
	color: #025c53;
}

.note {
	display: block;
	padding: 5px 5px 5px 30px !important;
	background-position: 7px 7px;
	background-repeat: no-repeat;
	border: 1px solid #025c530a;
	margin: 20px 0 10px !important;
}

.note.privacypolicy {
	background: #025c530a;
	margin-bottom: 0;
	text-align: center;
	padding: 25px 15px !important;
}

.req-marker {
	display: inline-block;
	width: 9px;
	height: 9px;
	margin: 10px 0 0 5px !important;
	vertical-align: top;
	background: #d21d1d;
	border-radius: 50%;
}

.info {
	font-size: 90%;
}

.abstract-file {
	position: relative;
	background: #fff;
	width: 350px;
	border: 1px solid #808080;
	height: 40px;
	line-height: 40px;
	padding: 5px 20px;
	font-size: 17px;
}

@media (min-width: 42em) {
	.header { padding: 0; }
	.nav-bar { padding: 1em 3em; }
	.content { padding: 2em 3em; }

	.nav li {
		display: inline;
		margin: 0 2em 0 0;
	}

	.nav a {
		display: inline;
		padding: 0;
		border-bottom: 0;
	}
}

@media only screen and (max-width: 992px) {
	form.registration label {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	h1 {
		font-size: 30px;
	}

	form.registration label {
		width: 100%;
	}

	form.registration table tbody th {
		width: 100%;
	}

	form.registration input.middle {
		width: 71% !important;
	}

	form.registration input.micro {
		width: 20% !important;
	}

	form.registration input.telfax {
		width: 68% !important;
	}

	form.registration input.input,
	form.registration textarea.textarea {
		width: 94% !important;
	}

	form.registration table {
		width: 100%;
	}

	table,
	td,
	th,
	tr,
	thead,
	tbody {
		display: block;
		float: left;
		width: 100%;
	}

	thead th {
		width: 33.33%;
		float: left;
	}

	td.cost {
		width: 50%;
		float: left;
	}

	td.subtotal {
		width: 100%;
		float: right;
	}

	form.registration input.invisible {
		font-size: 20px;
		width: 90%;
	}

	form.registration span.label {
		font-size: 15px;
	}

	form.registration select {
		width: 94% !important;
		padding: 12px 8px;
	}

	input[type=checkbox],
	input[type=radio] {
		margin: 0 0 10px;
	}

	.noprint {
		display: none;
	}
}
