/* OR V2 */

#orv2 {
	margin:30px 0 60px 0;
}

.orv2-headline, .co-login-headline, #orv2-entry-form > h3, #team-entries > h3, #new-competitor h3 {
	font-family:"Lora", serif;
	color:var(--med-blue);
	letter-spacing:-0.5px;
}
.orv2-headline {
	font-weight:700;
	margin-top:15px;
}

/* BUTTONS */

#orv2 .btn-primary, .orv2-modal .btn-primary {
	background-color:var(--med-blue);
	border-color:var(--med-blue);
	color:#fff;
}
#orv2 .btn-primary:hover, #orv2 .btn-primary:focus, .orv2-modal .btn-primary:hover, .orv2-modal .btn-primary:focus {
	background-color:var(--bg-blue);
	border-color:var(--bg-blue);
	color:#fff;
}
#orv2 .btn-none:hover, .orv2-modal .btn-none:hover, #co-signup-submit:hover {
	background-color:rgba(47,99,172,0.1);
}

/* LOGIN */

#co-login-window {
	background-color:#fff;
	border:1px solid var(--bg-blue);
	border-radius:10px;
	padding:15px 45px 5px 45px;
	box-shadow:0 5px 20px rgba(16,27,43,0.08);
}
.co-login-headline {
	font-size:1.75rem;
	font-weight:700;
	margin:10px 0 5px 0;
}
.co-login-row label {
	font-weight:600;
	color:var(--med-blue);
}
#co-login-email, #co-login-password {
	background-color:var(--bg-color);
	border:1px solid var(--overlay-color);
	border-radius:5px;
}
#co-login-email:focus, #co-login-password:focus {
	outline:none;
	border-color:var(--bg-blue);
	box-shadow:0 0 0 3px rgba(47,99,172,0.15);
}
#co-login-submit {
	background-color:var(--med-blue);
	color:#fff;
}
#co-login-submit:hover {background-color:var(--bg-blue); border-color:var(--bg-blue);}
@media(max-width:600px) {
	#co-login-window {padding:15px 20px 5px 20px;}
}

/* MENU */

.orv2-menu {
	flex-wrap:wrap;
	gap:5px;
	margin:15px auto 30px auto;
}
.orv2-menu a {
	padding:8px 18px;
	border-radius:20px;
	color:var(--med-blue);
	font-weight:600;
	transition:0.2s ease-in-out;
}
.orv2-menu a:hover {
	background-color:rgba(47,99,172,0.1);
	color:var(--med-blue);
}
.orv2-menu a.selected, .orv2-menu a.selected:hover {
	background-color:var(--med-blue);
	color:#fff;
}
.orv2-menu a.selected span {border:none;}
.orv2-menu a.logout-link {color:var(--dark-orange);}
.orv2-menu a.logout-link:hover {background-color:rgba(239,132,96,0.15);}
@media(max-width:767px) {
	.orv2-menu a {margin:0;}
}

/* PANELS */

#orv2-entry-form, #orv2-purchase-form, #new-competitor, #reg-search-results,
#or-invoice-entries, #or-invoice-purchases, #or-invoice-payments, #or-invoice-summary, #orv2-invoice-gatekeeper {
	background-color:#fff;
	border:1px solid var(--overlay-color);
	border-top:4px solid var(--bg-blue);
	border-radius:10px;
	box-shadow:0 5px 20px rgba(16,27,43,0.06);
}
#reg-search-results {border-top-width:1px;}

#orv2 .orv2-empty-content a {font-weight:600;}

/* SEARCH */

#orv2 #reg-search {
	background-color:#fff;
	border:2px solid var(--med-blue);
	border-radius:20px;
}
#orv2 #reg-search:focus {
	outline:none;
	box-shadow:0 0 0 4px rgba(47,99,172,0.15);
}
#reg-search-container .search-icon {color:var(--med-blue);}
#reg-search-results ul {
	margin:0;
	padding:15px;
}
#reg-search-results ul li {
	padding:2.5px 5px;
	border-radius:5px;
	transition:0.15s ease-in-out;
}
#reg-search-results ul li:hover {
	background-color:rgba(254,254,139,0.6);
}
#reg-search-results ul li i {color:var(--bg-blue);}

#or-startup-hint i {color:var(--bg-orange);}

/* TEAM */

#team-entries > h3 {
	margin-top:30px;
	font-size:1.25rem;
}

#team-members .team-pill {
	background:var(--gradient-bg);
	box-shadow:0 2px 6px rgba(16,27,43,0.2);
}
.team-pill .team-pill-name, #team-members .team-pill .team-pill-role {color:#fff;}
.team-pill .fa-times {
	background-color:rgba(255,255,255,0.2);
	color:#fff;
	transition:0.3s ease-in-out;
}
.team-pill .fa-times:hover {
	background-color:var(--bg-orange);
	transform:rotate(90deg);
}
#team-members .partner-swapper {color:var(--bg-blue);}

#team-description-container {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	justify-content:center;
	margin-top:15px;
	gap:10px;
}
#team-description-container small {margin-top:0;}
#team-description-container small a {
	margin-left:10px;
	padding:2.5px 5px;
	border:1px solid var(--overlay-color);
	border-radius:4px;
	background-color:#fff;
	text-decoration:none;
}

/* FORM FIELDS */

#orv2 .form-row label, .orv2-modal .form-row label {color:var(--med-blue);}
#orv2 .form-row input, #orv2 .form-row select, .orv2-modal .form-row input, .orv2-modal .form-row select {
	border-bottom-color:rgba(16,27,43,0.35);
	transition:0.2s ease-in-out;
}
#orv2 .form-row input:focus, #orv2 .form-row select:focus, .orv2-modal .form-row input:focus, .orv2-modal .form-row select:focus {
	border-bottom-color:var(--bg-blue);
	box-shadow:0 1px 0 var(--bg-blue);
}
#orv2 .form-col:focus-within:before {color:var(--bg-orange);}

/* ENTRY FORM */

#orv2-entry-form li.orv2-event-category {
	padding:5px 0;
	border-bottom:1px solid rgba(47,99,172,0.12);
}
#orv2-entry-form li.orv2-event-category:last-child {border-bottom:none;}
.orv2-ec-header > i.fas {color:var(--bg-blue);}
.orv2-ec-header-text {
	font-family:"Lora", serif;
	font-size:1.1rem;
}
.orv2-ec-header-badge {
	padding:1px 15px 0 15px;
}
#orv2-entry-form li.orv2-event-category.has-entries .orv2-ec-header-badge {
	background-color:var(--bg-orange);
	color:#fff;
}
#orv2-entry-form li.orv2-event-category.expanded .orv2-ec-header {
	border-bottom:1px dotted var(--overlay-color);
	padding-bottom:5px;
}
#orv2-entry-form .orv2-ec-ages ul li {
	border-radius:15px;
	padding:1px 12px;
}

.orv2-ec-event-container table td.orv2-event {
	background:linear-gradient(0deg, #eef3fa, #fff);
	border:1px solid rgba(47,99,172,0.25);
	box-shadow:none;
	transition:background-color 0.15s ease-in-out;
}
.orv2-ec-event-container table td.orv2-event:hover {
	background:#fff;
	border-color:var(--bg-blue);
}
.orv2-ec-event-container table td.orv2-event.checked {
	background:var(--bg-yellow);
	border-color:var(--med-blue);
	font-weight:600;
}
.orv2-ec-event-container table td.orv2-event.hidden {
	background:none;
	border:none;
}
.orv2-ec-event-container .level-description-cell {
	font-weight:600;
	color:var(--med-blue);
}

/* PURCHASES */

#orv2-purchase-form .orv2-ec-header-text i {color:var(--bg-orange);}
#orv2-purchase-form > ul > li .pi-qty {
	border-top-left-radius:15px;
	border-bottom-left-radius:15px;
	line-height:28px;
}
#orv2-purchase-form > ul > li .pi-edit-button {
	height:30px;
	padding:0;
}

/* INVOICE */

#or-invoice-entries .or-invoice-content .team-header, #or-invoice-purchases .or-invoice-content .recipient-header {
	border-bottom:1px solid var(--overlay-color);
}
#or-invoice-entries .or-invoice-content .team-header .team-member-name, #or-invoice-purchases .or-invoice-content .recipient-header > div:first-child {
	font-family:"Lora", serif;
}
#or-invoice-entries .or-invoice-content .team-header .team-subtotal span, #or-invoice-purchases .or-invoice-content .recipient-header > div:last-child span {
	color:var(--dark-orange);
}
.or-invoice-content ul li {
	padding:3px 5px;
	border-radius:4px;
}
.or-invoice-content ul li:hover {background-color:rgba(254,254,139,0.5);}
#or-invoice-summary .or-invoice-content ul li:hover, #or-invoice-payments .or-invoice-content ul li:first-child:hover {background:none;}
#or-invoice-payments .or-invoice-content ul li:first-child div {border-bottom-color:var(--overlay-color);}
#or-invoice-summary .or-invoice-content ul li {border-bottom-color:var(--overlay-color);}

#or-invoice-summary .or-payment-container h1 {
	font-family:"Lora", serif;
	font-weight:700;
	color:var(--med-blue);
}
#or-invoice-summary .or-payment-container h1 small {
	font-size:2rem;
	color:var(--dark-orange);
	margin-right:2px;
}
#or-payment-message {
	position:relative;
	background-color:var(--bg-color);
	border:1px solid rgba(239,132,96,0.5);
	border-radius:10px;
	padding:15px 15px 15px 80px;
	margin-bottom:30px;
}
#or-payment-message:before {
	content:"\f05a";
	position:absolute;
	left:20px; top:15px;
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	font-size:40px; line-height:40px;
	color:var(--bg-orange);
}

/* ACTIVITY PANEL */

#activity-panel {
	background-color:rgba(16,27,43,0.9);
	backdrop-filter:blur(5px);
	border-radius:10px;
	box-shadow:0 5px 20px rgba(0,0,0,0.25);
}
#activity-panel *, #activity-panel button, #activity-panel button:hover {color:#fff;}
#activity-panel strong {background-color:var(--bg-orange);}
#activity-panel.ap-entry-form strong {background:none; color:var(--bg-yellow);}
#activity-panel button {
	border-color:rgba(255,255,255,0.75);
	border-radius:20px;
	padding:0 18px;
}
#activity-panel button:hover {background-color:rgba(255,255,255,0.15);}

#or-loading {
	background-color:rgba(16,27,43,0.9);
	border-radius:10px;
}

/* MODALS */

.orv2-modal .modal-content {
	border:none;
	border-radius:10px;
	overflow:hidden;
}
.orv2-modal .modal-header {background:var(--gradient-bg);}
.orv2-modal .modal-header * {color:#fff;}
.orv2-modal .modal-title, .orv2-modal .modal-title span {
	font-family:"Lora", serif;
	font-weight:700;
}
.orv2-modal .modal-title i {color:var(--bg-yellow);}
.orv2-modal .modal-footer {
	background-color:var(--bg-color);
	border-top:1px solid rgba(47,99,172,0.15);
}
#confirmation-modal-summary .conf-action {border-radius:10px;}

.modal-header {
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}
.modal-title {
	width:100%;
}

/* Schedule */

#schedule {padding-top:30px;}
#schedule table {
	margin-top:30px;
	margin-bottom:60px;
}

#schedule .schedule_row {
	padding-top:3px;
	padding-bottom:3px;
	padding-left:40px;
	text-indent:-25px;
}

#schedule .indent {width:30px;}

#schedule .categorized {
	padding-left:60px;
}

#schedule .space_above {
	height:15px;
}
#schedule .space_below {
	height:120px;
}

#schedule .session_header_cell {
	border-bottom:1px solid rgba(0,0,0,0.3);
	position:relative;
	top:0;
}

#schedule .session_title {
	display:inline;
	position:absolute;
}

#schedule .session_number {
	font-weight:700;
	font-size:1rem;
	line-height:30px;
	position:relative;
	top:-30px; left:0;
	width:135px;
	text-align:center;
	display:inline-block;
	border:1px solid #ccc;
	border-bottom:none;
	color:#fff;
	background-color:var(--bg-blue);
	border-top-right-radius:15px;
	text-transform:uppercase;
}
#schedule .session_name {
	font-family: "Lora", cursive;
	font-weight:bold;
	color: var(--bg-orange);
	font-size:20pt;
	position:absolute;
	top:-35px;left:155px;
	width:calc(100vw - 100px);
	max-width:400px;
	overflow:hidden;
	white-space:nowrap;
}
#schedule .doors_open, #schedule .session_date {
	position:absolute;
	text-align:right;
	font-size:13pt;
	font-weight:bold;
}
#schedule .doors_open {top:5px; right:0;}	
#schedule .session_date {top:-30px; right:0;}

#schedule .schedule_cat {
	color:var(--accent-color);
	font-size:1.2rem;
	padding:15px 0 0 0;
	font-weight:600;
}
#schedule .schedule_time {
    padding-top: 4px;
    padding-bottom: 3px;
    font-weight: bold;
    letter-spacing: -1px;
    width: 142px;
}
#schedule ul {
	padding:10px 0 10px 0;
	margin:0;
}
#schedule li {
	text-indent:0;
}


/* SYLLABUS */

#syllabus h3 {
	border-bottom:1px solid #aaa;
	color:var(--bg-orange);
}
#syllabus table {
	width:100%;
	max-width:1200px;
	border-collapse:collapse;
	margin:0 auto 45px auto;
}
#syllabus td, #syllabus th {
	padding:5px 7.5px;
}
#syllabus th {
	color:var(--bg-blue);
	background:none;
	padding-right:30px;
	padding-left:0;
	font-size:1.1rem;
}
#syllabus tr:nth-child(odd) td {
	background-color:rgba(255,255,255,0.5);
	border-bottom:2px solid #fff;
}

/* OFFICIALS */

#officials {

}
.cat-chairman-of-judges, .cat-chairmen-of-judges, .cat-master-of-ceremonies, .cat-masters-of-ceremonies {
	display:inline-block;
	width:50%;
}
.officials_grid .subheader {
	font-family:"Lora", serif;
	font-weight:700;
	color:var(--bg-orange);
	font-size:2rem;
	border-bottom:1px solid rgba(125,89,128,0.5);
}
.officials_grid ul {
	list-style-type:none;
	margin:10px 0 40px 0;
	padding:0;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:flex-start;
}
.officials_grid ul li {
	display:inline-block;
	margin:0 20px 15px 0;
	vertical-align:top;
}
.officials_grid .photo_container {
	width:200px; height:240px;
	overflow:hidden;
	display:block;
	border-radius:10px;
}
.officials_grid img {
	width:100%; height:100%;
	object-fit:cover;
}
.officials .photo_container .official-wallpaper {
    position: absolute;
    left: 0;
    top: 0;
    width: 150px;
    height: 200px;
    object-fit: cover;
    z-index: -1;
    pointer-events: none;
    border-radius: 100%;
    filter: blur(6px);
    top: 30px;
    left: 15px;
}
.official_info {
    margin-top: -10px;
    width: 200px;
    height: 120px;
    overflow: hidden;
    line-height: 15pt;
    background-color: #fff;
    padding: 15px 15px 10px 15px;
    border: 1px solid;
}
.official_info > div {
	margin-top:5px;
}