/* SCHEDULE */

#schedule {
	position:relative;
	width:100%;
	max-width:900px;
	margin:-30px auto 45px auto;
	text-align:left;
	color:#ccc;
}
#schedule .session_title {
	font-weight:normal;
	border-bottom:1px solid #999;
}
#schedule .session_number {
	color:#fff;
	font-size:14pt;
	position:relative;
	top:12px;
	background-color:#000;
	line-height:0;
	padding:5px 15px;
	border:1px solid rgba(255,255,255,0.5);
	border-bottom:none;
}
#schedule .session_name {
	font-family: "MonteCarlo", cursive;
	color:#b09350;
	font-size:32pt;
	font-weight:500;
	position:relative;
	left:20px;top:12px;
}
#schedule .session_date {
	position:relative;
	right:0;
	text-align:right;
	margin-bottom:10px;
	top:-25px;
	height:0;
}
#schedule .doors_open {
	position:relative;
	right:0;
	text-align:right;
	margin-bottom:10px;
	top:-5px;
	height:0;
}

#schedule .schedule_row {
	padding-left:25px;
}
#schedule .sesson_header_cell {
	position:relative;
}
#schedule .space_below {
	height:40px;
}

#schedule td {
	padding:5px;
}
#schedule td.indent {
	width:60px;
}


/* NEWS */

#news {
	min-height:600px;
	padding: 0 15px;
}
#news table {
	width:100%;
	margin-bottom:30px;
}
#news table:last-child {margin-bottom:60px;}
#news td {
	padding:0 0 45px 0;
	position:relative;
	text-align:left;
	line-height:1.5rem;
}
#news .photoContainer {
	width:200px; height:200px;
	overflow:hidden;
	border:1px solid #666;
	position:absolute;
	left:0; top:0;
}
#news .photoContainer img {
	width:100%; height:100%;
	object-fit:cover;
}
#news .news-header {
	padding-left:240px;
}
#news .subject {
	font-family:"Raleway",sans-serif;
	font-size:18pt;
	border-bottom:1px solid rgba(255,255,255,0.33);
	padding-bottom:5px;
	color:#b09350;
}
#news .author, #news .date, #news .time {
	display:inline-block;
	font-size:12pt;
	font-style:italic;
	color:#999;
	margin-bottom:30px;
}
#news .author {margin-right:30px;}
#news .date {margin-right:10px;}
#news .tdText {
	position:relative;
	padding-left:240px;
}

/* VENUE */

#venue {
	position:relative;
}
#venue-container1 {
	display:inline-block;
	width:100%;
	margin-top:-90px;
	padding:0 3rem;
	text-align:left;
}
#venue-poster {
	width:100vw;
	height:500px;
	object-fit:cover;
	overflow:hidden;
}
#venue:after {
	content:"";
	position:absolute;
	left:0; top:350px;
	width:100%; height:150px;
	background-image:linear-gradient(transparent, rgba(0,0,0,0.75));
}
#venue-logo {
	width:240px;
	display:block;
	border:5px solid #fff;
	z-index:2;
	float:left;
	margin-right:30px;
}
#venue-info {
	display:inline-block;
	font-size:1.2rem;
}
.venue-title {
	font-size:32pt;
	font-weight:bold;
	color:#fff;
	text-shadow:0 0 10px #3b577a;
	margin:30px 0 25px 0;
	z-index:1;
}
a.venue-button {
	display:flex;
	margin:20px 0 15px 0;
}
.starting-at, .venue-price, .venue-price-desc {
	display:inline-block;
}
.starting-at {}
.venue-price {
	font-size:xx-large;
	margin:0 5px;
	font-weight: 600;
    color: var(--Gold_Light);
}
.venue-price-desc small {
	font-size:0.75rem;
	position: relative;
    top: 20px;
    left: -85px;
}

#venue-container2 {
	clear:both;
	line-height:1.25rem;
	margin:3rem;
	text-align:left;
}

#venue-container3 h3 {
	text-align:center;
}
#venue-container3 iframe {
	width:100%;
	height:350px;
	border:1px solid #ccc;
}
.map-header {
	margin:15px 0;
	text-align:center;
}
#venue-directions {margin-top:30px;}


/* ENTRY FORMS */

.entryforms {
	
}
.entryforms ul {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	list-style-type:none;
	margin:0; padding:0;
	position:relative;
}
.entryforms ul li {
	width: 180px;
    height: 300px;
    padding-top: 160px;
    position: relative;
    margin: 15px;
    background: #000;
}
.entryforms ul li a {
	display:inline-block;
	font-size:1em;
	color:var(--default-text-color);
	line-height:1.2em;
	padding:15px;
	transition:0.2s ease-in-out;
}
.entryforms ul li a:hover {
	text-decoration:none;
	color:var(--accent-color);
	text-shadow:0 0 5px var(--default-text-color);
}
.entryforms ul li *:active, .entryforms ul li *:focus {
	outline:none;
}
.entryforms ul li a:before {
	content: "";
    background-image: url(/co/images/acrobat-gold.jpg);
    position: absolute;
    top: -130px;
    left: 40px;
    width: 100px;
    height: 100px;
    background-size: 100%;
    background-repeat: no-repeat;
    transition: 0.2s ease-in-out;
}
.entryforms ul li a:hover:before {
	transform:scale(105%);
}
.entryforms.docPW ul li a:before {
	left:30px;
	background-image:url("/co/images/lock.png");
	background-color:#5b1602;
	border:7px solid #8b1f06;
	background-size:calc(100% - 20px);
	background-position:10px 10px;
}

.popup-password input[type=text], .popup-password input[type=password] {
	width:100%;
}
.popup-password .custom-select {
	width:100%;
}
.custom-select:after {
	background-color:#fff !important;
}

.modal-content {
	background-color:#000;
	/* background-image:url("/images/marble.jpg"); */
	border:1px solid var(--accent-color);
}

/* VENDORS */
	
.vendor_category {
	font-size:17pt;
	font-weight:bold;
	text-align:left;
	margin:20px 0;
	border-bottom:1px dashed rgba(255,255,255,0.5);
}
#vendors ul {
	list-style-type:none;
	margin:0;padding:0;
}
#vendors li {
	margin:0 0 30px 0;
}
#vendors img {
	width:200px;
	border:none;
	margin:0 20px 20px 0;
	display:inline-block;
	-moz-box-shadow: 1px 1px 1px 0 rgba(0,0,0,0.1);
	-webkit-box-shadow: 1px 1px 1px 0 rgba(0,0,0,0.1);
	box-shadow: 1px 1px 1px 0 rgba(0,0,0,0.1);
	vertical-align:top;
	border:1px solid gray;
}
.vendor {
	display:inline-block;
	position:relative;
	font-size:12pt;
	vertical-align:top;
	width:400px;
}
.vendor_name {
	font-size:14pt;
}
#vendors_spacer {
	height:50px;
}



/* ==========================================
   VEGAS OPEN — OFFICIALS & JUDGES
   ========================================== */

#officials-230 {
    --gold: #d8b46a;
    --gold-light: #f1db9f;
    --dark: #15131a;
    --cream: #fff5df;
    --muted: #b8aeb0;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 12px 70px;
}

/* SECTIONS */

#officials-230 .officials_grid {
    margin: 0 0 65px;
}

#officials-230 .subheader {
    position: relative;
    margin: 0 0 32px;
    padding: 15px 10px 25px;
    color: var(--gold);
    font-family: "Cinzel", Georgia, serif;
    font-size: clamp(23px, 3.5vw, 36px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 2px 12px rgba(0,0,0,.2);
}

/* Art Deco divider */

#officials-230 .subheader::after {
    content: "◆";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(75%, 380px);
    color: var(--gold);
    font-size: 11px;
    line-height: 12px;
    background:
        linear-gradient(
            to right,
            var(--gold) 0,
            transparent 45%,
            transparent 55%,
            var(--gold) 100%
        ) center / 100% 1px no-repeat;
}

/* RESPONSIVE GRID */

#officials-230 .officials_grid ul {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(190px, 220px));
    justify-content: center;
    gap: 28px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#officials-230 .officials_grid li {
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* CARD */

#officials-230 .officials_grid li > a {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(
        145deg,
        #29242b 0%,
        var(--dark) 75%
    );
    border: 1px solid rgba(216,180,106,.5);
    border-radius: 3px;
    box-shadow: 0 8px 22px rgba(0,0,0,.2);
    color: var(--cream);
    text-align: center;
    text-decoration: none;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

/* Inner fine gold border */

#officials-230 .officials_grid li > a::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(216,180,106,.18);
    pointer-events: none;
    z-index: 3;
}

/* PORTRAIT */

#officials-230 .photo_container {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #302b32;
}

#officials-230 .official-photo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.88);
    transition:
        transform .55s ease,
        filter .55s ease;
}

/* Soft gold transition into nameplate */

#officials-230 .photo_container::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 28%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(21,19,26,.7)
    );
    pointer-events: none;
}

/* NAMEPLATE */

#officials-230 .official_info {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 95px;
    padding: 17px 12px 19px;
    background: linear-gradient(
        160deg,
        #282229,
        #15131a
    );
}

#officials-230 .official_info::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20%;
    width: 60%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--gold),
        transparent
    );
}

#officials-230 .official-fullname {
    color: var(--cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: normal;
    line-height: 1.25;
    letter-spacing: .015em;
}

#officials-230 .official-location {
    margin-top: 7px;
    color: var(--muted);
    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#officials-230 .official-location:empty {
    display: none;
}

/* STAFF ROLE LABELS */

#officials-230 .official_title {
    margin-bottom: 8px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/* HOVER — SUBTLE SPOTLIGHT */

@media (hover: hover) {
    #officials-230 .officials_grid li > a:hover {
        transform: translateY(-7px);
        border-color: var(--gold-light);
        box-shadow:
            0 15px 35px rgba(0,0,0,.35),
            0 0 22px rgba(216,180,106,.15);
        text-decoration: none;
    }

    #officials-230 li > a:hover .official-photo {
        transform: scale(1.055);
        filter: saturate(1.05) brightness(1.06);
    }

    #officials-230 li > a:hover .official-fullname {
        color: var(--gold-light);
    }
}

/* KEYBOARD ACCESSIBILITY */

#officials-230 li > a:focus-visible {
    outline: 2px solid var(--gold-light);
    outline-offset: 4px;
}

/* FEATURED OFFICIALS */

#officials-230 .cat-chairman-of-judges ul,
#officials-230 .cat-masters-of-ceremonies ul {
    grid-template-columns:
        repeat(auto-fit, minmax(210px, 250px));
}

#officials-230 .cat-chairman-of-judges li > a,
#officials-230 .cat-masters-of-ceremonies li > a {
    border-color: var(--gold);
}

/* SMALL SCREENS */

@media (max-width: 600px) {
    #officials-230 {
        padding: 10px 5px 45px;
    }

    #officials-230 .officials_grid {
        margin-bottom: 45px;
    }

    #officials-230 .officials_grid ul,
    #officials-230 .cat-chairman-of-judges ul,
    #officials-230 .cat-masters-of-ceremonies ul {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 14px 10px;
    }

    #officials-230 .cat-chairman-of-judges ul {
        grid-template-columns: minmax(0, 220px);
    }

    #officials-230 .official_info {
        min-height: 85px;
        padding: 14px 7px 17px;
    }

    #officials-230 .official-fullname {
        font-size: 16px;
    }

    #officials-230 .official-location {
        font-size: 10px;
        letter-spacing: .03em;
    }

    #officials-230 .subheader {
        margin-bottom: 23px;
    }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
    #officials-230 li > a,
    #officials-230 .official-photo {
        transition: none;
    }
}
