:root {

	--bgcolor:#2a2a2a;
	--textcolor:#e5e7eb;
	--overlay-color:rgba(255,255,255,0.2);
	--accent-color:#88af9d;

	--deep-green:#11603c;
	--pale-green:#88af9d;
	--dark-gray:#2a2a2a;
	--off-white:#e5e7eb;
	--text-color:#e5e7eb;
	--transition-default:0.2s ease-in-out;
	--button-gradient:linear-gradient(to right, rgb(17, 96, 60), rgb(49, 46, 129));
	--button-gradient-vertical:linear-gradient(to bottom, #4d9f7a, #094a2c);
}

body, html {
	background-color:#000;
	color:#fff;
	font-family:"Lato", sans-serif;
	font-size:14pt;
	font-weight:300;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "Prata", serif;
	font-weight:400;
}
h1 {font-size:3rem;}
h2 {font-size:2.5rem;}
h3 {font-size:2rem;}
h4 {font-size:1.75rem;}
h5 {font-size:1.5rem;}
h6 {font-size:1.25rem;}

@media(max-width:600px) {
	body, html {
		font-size:13pt;
	}
	h1 {font-size:2.5rem;}
	h2 {font-size:2rem;}
	h3 {font-size:1.75rem;}
	h4 {font-size:1.5rem;}
	h5 {font-size:1.25rem;}
	h6 {font-size:1.2rem;}

}

a, a:hover {
	color:#fff;
	transition:0.2s ease-in-out;
}
a:hover {
	color:var(--pale-green);
	text-decoration:none;
}

button, .btn, input[type="button"] {
	background-color:var(--deep-green);
	background-image:var(--button-gradient);
	color:#fff;
	border:none;
	text-transform:uppercase;
	font-size:0.9rem;
	font-weight:300;
	height:45px;
	padding:0 15px;
	transition:0.1s ease-in-out;
}
button:hover, .btn:hover, input[type="button"]:hover {
	font-weight:400;
	text-shadow:0 0 5px #fff;
	background-color:var(--pale-green);
	background-image:linear-gradient(to right, rgb(25, 104, 68), rgb(57, 54, 137));
}

header {
	position:fixed;
	top:0; left:0;
	width:100vw; height:80px;
	transition:var(--transition-default);
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	padding:0 60px;
	border-bottom:1px solid var(--pale-green);
	background-color:#000;
	z-index:2;
}
header.scrolltop {
	height:96px;
}
header i {
	cursor:pointer;
}
header img {
	height:calc(100% - 39px);
	margin:19.5px 0;
}
header > div {
	width:33%; height:100%;
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
	align-items:center;
}
header i {
	font-size:23px;
	transform:scaleX(120%);
	padding:10px;
}
#jumbotron {
	display:flex;
	flex-direction:row;
	align-items:center;
	background-color:var(--deep-green);
	padding:126px 45px 30px 45px;
}
#jumbotron h1 {
	width:50%;
	line-height:2.6rem;
	-webkit-text-stroke: 0.5px var(--deep-green);
}
#jumbotron p {
	width:50%;
	text-align:right;
	font-size:0.9rem;
}
@media(max-width:600px) {
	#jumbotron {padding:110px 15px 5px 15px;}
	#jumbotron h1 {font-size:1.75rem; line-height:2rem; width:100%;}
	#jumbotron p {display:none;}
}

#main {
	padding:0 30px 45px 30px;
}

#main-inner {
	min-height:calc(100vh - 300px);
	margin:30px 0;
}

footer {
	border-top:1px solid var(--pale-green);
	display:flex;
	flex-direction:column;
	padding:75px 30px 0 30px;
	font-size:0.9rem;
}
footer ul {
	list-style-type:none;
	margin:0; padding:0;
}
.footer-section {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
}
.footer-col {
	flex:1;
}
#fs1 {
	justify-content:center;
	align-items:center;
}
#fs1 > * {
	margin:25px;
}
#fs1 img {
	height:64px;
}
#fs1 ul {
	list-style-type:none;
	margin:0 0 0 60px; padding:0;
}
#fs1 ul li {
	margin:10px 0;
	line-height:1.2rem;
	text-indent:-36px;
}
#fs1 i {
	color:var(--deep-green);
	width:25px;
	text-align:center;
	font-size:22px;
	margin-right:10px;
}
#fs2 {
	width:100%;
	max-width:1050px;
	margin:75px auto 30px auto;
}
#fs2 .footer-col:last-child {
	transform:scale(90%);
	margin-top:-30px;
}
#fs2 img {
	width:90px; height:90px;
	object-fit:contain;
	cursor:pointer;
	padding:0 5px;
	transition:var(--transition-default);
	opacity:0.75;
}
#fs2 img:hover {
	opacity:1;
	transform:scale(110%);
}
#fs2 img#affiliate-global,  #fs2 img#affiliate-dvc {
	height:70px;
}
#affiliate-fordney {
	filter:invert(100%);
}
#fs2 img#affiliate-premier {
	height:60px;
}
#fs2 img#affiliate-bob {
	width:150px;
	margin-top:-10px;
}

#subfooter {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
	background-color:#000;
	border-top:1px solid var(--pale-green);
	padding:15px 9%;
	font-size:0.9rem;
}
#subfooter div:first-child span {
	margin-right:45px;
}
#subfooter div:first-child a {
	margin:0 10px;
}
#subfooter div:last-child {
	display:flex;
	flex-direction:row;
	justify-content:flex-end;
	align-items:center;
}
#subfooter div:last-child a {
	color:var(--pale-green);
	height:30px;
}
#subfooter i {
	height:30px;
	font-size:24px;
	padding:0 12.5px;
	transition:var(--transition-default);
}
#subfooter img {
	height:30px;
	padding:3px 5px;
	margin-top:-5px;
	transition:var(--transition-default);
}
#subfooter i:hover, #subfooter img:hover {
	transform:translateY(-10px);
}


/* ================= ONLINE REGISTRATION ==================== */

.co-login-headline {
	font-family: "Prata", serif;
	font-size:1.4rem;
	font-weight:400;
}
.co-login-window .co-login-forgot a:hover {text-decoration:none;}

.onlinereg .subheadline {
	margin-bottom:60px;
}
.onlinereg .breadcrumb {
	padding:0 15px;
	background:none;
}
.onlinereg .breadcrumb span:last-child {
	font-weight:bold;
}
.onlinereg-main-menu  ul li {
	color:rgba(255,255,255,0.75);
	transition:0.2s ease-in-out;
}
.onlinereg-main-menu  ul li:hover {
	color:var(--pale-green);
	transform:scale(1.1);
	text-shadow:0 0 5px rgba(0,0,0,0.5);
}
.onlinereg input, .onlinereg .custom-select {
	background-color:rgba(255,255,255,0.1);
	color:#fff;
	border:1px solid rgba(255,255,255,0.2);
	border-radius:4px;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
}
.onlinereg input:focus, .onlinereg .custom-select select:focus {
	outline:none;
	border:1px solid rgba(255,255,255,0.3);
	box-shadow:inset 0 0 15px rgba(255,255,255,0.2);
}
.onlinereg input, .onlinereg .custom-select select {
	color:#fff;
	height:42px;
	line-height:30px;
}
.onlinereg input, .onlinereg .custom-select:after {
	top:7.5px;
}
.onlinereg input[type="checkbox"] {
	height:auto;
}
.onlinereg input::placeholder {
	color:#555;
}
.onlinereg input[type="button"] {
	border:none;
}
.onlinereg input.button-disabled {
	background:#333;
}

.school-info {
	background-color:rgba(255,255,255,0.1);
	border:1px solid rgba(255,255,255,0.2);
}

.partnerships-container .person-edit-button {
	background:none;
}
.partnerships-container .person-edit-button:hover {
	background-color:var(--deep-green);
	background-image:var(--button-gradient);
	color:#fff;
}
.partnerships-container table tr td:last-child .button {
	height:33px;
	margin-right:-5px;
}
.partnerships-container table tr td:last-child .button:hover {
	color:#fff;
}

#partnerships-filter {
	width: calc(100% + 20px);
	height: 40px;
}

.partner-tabs {
	justify-content:space-between;
}
.partner-tab a {
	background-color:var(--deep-green);
	background-image:var(--button-gradient);
	color:rgba(255,255,255,0.75);
}
.partner-tab:hover a {
	color:#fff;
	text-shadow:0 0 5px rgba(255,255,255,0.5);
}

.partner-search-container {
	background-color:var(--dark-gray);
}
.partner-search-container h5 {
	margin:15px 0;
}
.partner-role {
	margin-bottom:10px;
}
.partner-search-enable, .partner-search-disable {
	font-size:11pt;
	margin-left:5px;
}
.partner-input-row input[type="button"] {
	top: 0;
	margin-right: -3px;
	border: 1px solid rgba(255, 255, 255, 0.25);
}
.partner-search-container .fa-times {
	font-weight:300;
}
.partner-search-container .fa-times:after {
	content:"\00D7";
	font-size:28px;
	color:#aaa;
	transition:0.2s ease-in-out;
}
.partner-search-container .fa-times:hover:after {
	color:#fff;
}
.partner-search-results {
	background-color:#333;
	top:120px;
	width:calc(100% - 60px);
	border-color:#666;
}
.partner i.partner-check {top:1px;}
.padd button {
	height:90px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.padd button i {
	margin-left:10px;
}
.padd button.add-button-disabled:hover {
	text-shadow:none;
}
.padd button.add-button-disabled i {
	color:rgba(255,255,255,0.25);
}


.fancybox-skin {background:none;}
.popup-title, #popup-message .popup-title {
	background-color:var(--deep-green) !important;
}
.popup-content {
	background-color:#333;
	background:linear-gradient(to bottom, #444, #222);
	color:#ccc;
	border:1px solid #444;
}
.fancybox-close {
	padding:15px;
}
.fancybox-close:after {
	color:rgba(255,255,255,0.5);
	transition:0.2s ease-in-out;
}
.fancybox-close:hover:after {
	color:#fff;
	text-shadow:0 0 5px rgba(255,255,255,0.5);
}
.popup-footer, #popup-message .popup-footer {
	background:none;
}

#multi-dance-wrapper h5 {
	border-bottom:1px solid #666;
}
.multi-dance-list {
	margin-bottom:45px;
}
.multi-dance-list li {
	border:none;
	padding:2px 0;
}

#single-dance-wrapper .grid-subheader {
	font-size:1.5rem;
}
.grid-wrapper {
	margin-top:15px;
	margin-bottom:45px;
}
.freestyle-grid {

}


.grid-seal {
	background-color:rgba(0,0,0,0.5);
	border:none;
}
.freestyle-grid td {
	background: #545454;
	background: -moz-linear-gradient(top, #555 0%, #222 100%);
	background: -webkit-linear-gradient(top, #555 0%, #222 100%);
	background: linear-gradient(to bottom, #555 0%, #222 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555', endColorstr='#222',GradientType=0 );
}
.age-tab-container {
	padding:0 0 5px 0;
}
.age-tab {
	font-weight:600;
	font-family:Arial, Helvetica, sans-serif;
	border:2px solid rgba(255,255,255,0.5);
	color:rgba(255,255,255,0.5);
	border-radius:5px;
	padding:5px 10px;
	margin:0 10px;
	transition:0.2s ease-in-out;
}
.age-tab-selected {
	border:2px solid var(--pale-green);
	color:var(--pale-green);
	background-color:rgba(136, 175, 157, 0.4);
	box-shadow:0 0 15px var(--pale-green);
}
.age-tab:hover {
	text-decoration:none;
	border:2px solid var(--pale-green);
}
.proficiency-selector {
	height:44px;
}


.onlinereg .invoice-line-item td {
	font-size:1em;
}
.onlinereg-invoice .invoice-entries-spacer-below td {
	height:10px;
}
.onlinereg-invoice td.entry-label .entry-ctype {
	border-color:var(--accent-color);
}
.onlinereg-invoice .invoice-entries-header td.entries-for, .onlinereg-invoice .invoice-entries-header td.invoice-subtotal {
	padding-bottom:5px;
	border-bottom:1px solid var(--text-color);
}
.entries-for small {
	border:1px solid var(--text-color);
	background-color:#000;
	display:inline-block;
	width:90px;
	padding:5px 10px;
	line-height:1em;
	text-align:right;
	border-bottom:none;
	margin-right:15px;
	position:relative;
	top:5px;
	min-height:40px;
}
.entries-for span {
	font-size:1.2em;
	color:var(--accent-color);
	position:absolute;
	bottom:5px;
}
.onlinereg-invoice .invoice-entries-header td.invoice-subtotal {
	padding-bottom:5px;
}
.onlinereg-invoice .invoice-entries-header td.invoice-subtotal div span:last-child {
	font-size:1.25rem;
	font-weight:bold;
	margin-left:10px;
}
.onlinereg-invoice .invoice-subtotal span {
	color:var(--accent-color);
}

.onlinereg .invoice-line-item .cat-icon {
	font-size:1.5rem;
	color:var(--accent-color);
}

.invoice-total h1 {
	color: var(--accent-color);
	position: relative;
	padding: 0 0 15px 0;
	font-weight: 500;
	font-size:4rem;
}
#onlinereg-invoice-inner > p {
	text-align:center;
}
.onlinereg .invoice-line-item.selected td {
	background-color:rgba(255,255,255,0.2);
}
.invoice-total h1 sup {
	position:initial;
}
.entries-for small {border-color:#666;}
.onlinereg-invoice .invoice-entries-header td.entries-for, .onlinereg-invoice .invoice-entries-header td.invoice-subtotal {border-bottom-color:#666;}



/* ----------------- ONLINE REG V2 ----------------- */

#orv2-entry-form, #orv2-purchase-form, #new-competitor, #or-invoice-entries, #or-invoice-purchases, #or-invoice-payments, #or-invoice-summary {
	background-color:rgba(255,255,255,0.1);
}
.orv2-empty-content a {
	color:var(--link-color);
}

.orv2-menu {margin-bottom:45px;}
.orv2-menu a span {
	padding:5px 10px;
	margin:0;
}
.orv2-menu a.selected span {
	background-color:var(--deep-green);
	border-radius:7.5px;
	border:1px solid var(--accent-color);
}

#orv2 input, #orv2 textarea, #orv2 select, #orv2 #reg-search {
	border-color:rgba(255,255,255,0.5);
	background-color:rgba(255,255,255,0.1);
}
#orv2 input:focus, #orv2 textarea:focus, #orv2 select:focus, #orv2 #reg-search:focus {
	highlight:none;
}
#reg-search-container .search-icon {
	color:var(--accent-color);
	opacity:0.5;
}
#reg-search-results {margin-bottom:45px;}
#reg-search-results ul li i {
	color:var(--overlay-color);
}
#reg-search-results ul li img {
	border-color:var(--overlay-color);
}

.team-pill {
	background-image:var(--button-gradient-vertical);	
}
.team-pill i {
	background-color:rgba(0,0,0,0.2);
	color:#fff;
}
.team-pill .team-pill-name {color:#fff;}
.team-pill-role {
	color:var(--text-color);
}

.orv2-ec-event-container table td.orv2-event {
		background-image: linear-gradient(#555, #222);
		border-color:#000;
}
.orv2-ec-event-container table td.orv2-event.checked {
	background-image: linear-gradient(#666, #444);
	box-shadow: inset 0 0 3px #fff;
	-webkit-box-shadow: inset 0 0 3px #fff;
	-moz-box-shadow: inset 0 0 3px #fff;
}


#activity-panel {
	background-color: #000;
	border-top: 2px solid rgba(255,255,255,0.6);
	backdrop-filter: blur(10px);
	background-image: var(--button-gradient-vertical);
	border-radius:0;
	-webkit-border-radius:0;
	-moz-border-radius:0;
	bottom:0; left:0;
	width:100vw;
	color:#fff;
}
#activity-panel label {
	color:#fff;
}
#activity-panel.ap-entry-form label {
	border-right: 1px dotted rgba(255,255,255,0.5);
}
#activity-panel strong  {
	color:#fff;
	background-color:rgba(0,0,0,0.2);
}

#activity-panel button {
	width:180px !important;
}
#activity-panel button, #activity-panel span, #activity-panel button i {
	color:#fff;
	font-weight:500;
}
#activity-panel #activity-panel-inner button {
	border:2px solid #fff;
	color:#fff;
}

.orv2-ec-header-text {font-size:1.1rem;}
#orv2-purchase-form > ul > li .pi-name div {font-weight:400;}
#orv2-purchase-form > ul > li .pi-name small {font-weight:300;}
#save-purchase-button {
	width:10rem;
}

.modal-header {background-color:var(--deep-green);}
.modal-header * {color:#fff;}
.orv2-modal .modal-title {
	font-size:17pt;
}
.orv2-modal .modal-footer {
	background-color: var(--bgcolor);
}

#orv2-entry-form .orv2-ec-ages ul li {font-weight:bold;}
#team-entries > small {
	font-size:
}
#new-competitor-chooser .reg-match img {
	background-color:#666;
	border:1px solid #aaa;
}