@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-200.otf");
  font-weight:200;
}
@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-300.otf");
  font-weight:300;
}
@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-400.otf");
  font-weight:400;
}
@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-500.otf");
  font-weight:500;
}
@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-600.otf");
  font-weight:600;
}
@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-700.otf");
  font-weight:700;
}


:root {
	
	--font-family:"Avenir", sans-serif;
	
	--navbar-height:90px;

	--dv-red: #da1e28;
	--dv-pink: #d02670;
	--dv-purple: #8a3ffc;
	--dv-blue: #0f62fe;
	--dv-gold: #cf8a00;
	--dv-silver: #8c9091;
	--dv-bronze: #96694c;

	--dv-red-10: #2f090b;
	--dv-red-20: #54060a;
	--dv-red-30: #771015;
	--dv-red-40: #a41b21;
	--dv-red-50: #da1e28;
	--dv-red-60: #fb4f58;
	--dv-red-70: #fe858b;
	--dv-red-80: #feb5ba;
	--dv-red-90: #fed9db;
	--dv-red-95: #fff3f3;
	
}

body, html {
	font-family:var(--font-family);
	font-weight:400;
	/* background-color:#f3f3f3; */
	font-size:13pt;
	overflow-x:hidden;
}

a {color:var(--dv-red);}
a:hover {color:var(--dv-red-40);}

h1, h2, h3, h4, h5, h6 {
	font-weight:600;
	color:var(--dv-red);
	line-height:1.1em;
}
h1 {font-size:2.4em;}
h2 {font-size:2em;}
h3 {font-size:1.8em;}
h4 {font-size:1.6em;}
h5 {font-size:1.4em;}
h6 {font-size:1.2em;}

h1.secondary, h2.secondary, h3.secondary, h4.secondary, h5.secondary, h6.secondary {
	color:#000;
}

strong, em {
	font-weight:600;
}

.headline, #headline {
	font-family:var(--font-family);
	font-weight:600;
	font-size:2.4em;
}
#headline {
	text-align:center;
	color:#c93a44;
}

button, .btn, #leaderboard-link a {
	background-color:var(--dv-red);
	border:2px solid var(--dv-red);
	transition:none;
	font-weight:500;
	color:#fff;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	padding-bottom:5px;
}
button:hover, .btn:hover, #leaderboard-link a:hover {
	background:none;
	color:var(--dv-red);
}

.btn-light {
	background-color:#ddd;
	border-color:#ddd;
	color:#999;
}
.btn-light:hover {
	background-color:#fff;
	color:#999;
}

#navbar-buffer {
	display:block;
	position:relative;
	top:0;
	height:var(--navbar-height);
}
#navbar {
	display:block;
	position:fixed;
	top:0;
	width:100%; height:var(--navbar-height);
	margin:0 auto;
	z-index:99;
	white-space:nowrap;
	background-color:#fff;
	border-bottom:1px solid rgba(0,0,0,0.1);
}
#navbar-logo {
	position:absolute;
	height:70px;
	top:10px;
	left:30px;
	cursor:pointer;
}
.attention, .well, .button, #contact_form .inputbutton,
.button, #contact_form .inputbutton, #panels ul li a, .panel a.more, .modal-header,
.panel-group .panel .panel-header {
	background-color:var(--dv-red);
	color:#fff;
}
.button:hover, #contact_form .inputbutton:hover,
#contact_form .inputbutton:hover, #panels ul li a:hover, .panel a.more:hover {

}

.title-bar {
	background-color:var(--dv-red);
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	padding:60px;
	min-height:210px;
}
.title-bar * {color:#fff;}
.title-bar h1, .title-bar .headline {
	line-height:1.1em;
}
.title-bar-content {
	width:100%;
	max-width:1200px;
	text-align:left;
}
.title-bar-content.centered {
	text-align:center;
}
.title-bar button, .title-bar .btn {
	background-color:#fff;
	border:2px solid #fff;
	color:var(--dv-red);
	margin:10px;
}
.title-bar button:hover, .title-bar .btn:hover {
	background-color:var(--dv-red);
	color:#fff;
}

#footer {
	background: rgb(238,238,238);
	background: -moz-linear-gradient(0deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(0deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 100%);
	background: linear-gradient(0deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#ffffff",GradientType=1);
}

.info-card {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	width:100%;
	border:1px solid #ccc;
	box-shadow:0 0 15px rgba(0,0,0,0.2);
	border-radius:5px;
	background-color:#fff;
	margin:30px 0;
}
.info-card > span, .info-card > .inner, .info-card p {
	padding:15px;
	font-size:13pt;
	font-weight:600;
}

.fullsite-navbar {
	margin:0 auto;
	list-style-type:none;
	z-index:98;
	width:calc(100% - 235px);
	padding-left:165px;
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
}
.fullsite-navbar li.single, #navbar li.parent {
	display:inline-block;
	overflow:visible;
	position:relative;
	font-family:var(--font-family);
	font-size:1em;
	font-weight:600;
	height:var(--navbar-height);
}
.fullsite-navbar > li a {
	display:inline-flex;
	padding:0 25px;
	height:var(--navbar-height);
	line-height:var(--navbar-height);
	color:#000;
	text-decoration:none;
}
/*
.fullsite-navbar > li a:hover {
	background-color:#000;
	color:#fff;
}
.fullsite-navbar li.expanded {
	background-color:#000;
	border-left:1px solid rgba(255,255,255,0.2);
	border-right:1px solid rgba(255,255,255,0.2);
}
.fullsite-navbar > li.children-expanded a {
	color:#fff;
}
.fullsite-navbar li.children-expanded {background-color:#000;}
*/
.fullsite-navbar ul.children {
	list-style-type:none;
	position:absolute;
	left:-1px;top:var(--navbar-height);
	padding:0;
	border-left:1px solid rgba(0,0,0,0.1);
	border-right:1px solid rgba(0,0,0,0.1);
	display:none;
	/*
	box-shadow:0 0 50px rgba(0,0,0,0.25);
	-webkit-box-shadow:0 0 50px rgba(0,0,0,0.25);
	-moz-box-shadow:0 0 50px rgba(0,0,0,0.25);
	*/
	z-index:90;
	background-color:#fff;
}
.fullsite-navbar li.child {
	text-align:left;
	text-indent:0;
	height:60px;
	background:url("/images/icon.png") 20px 50% no-repeat;
	background-size:15px;
	text-transform:none;
	font-size:0.9em;
	font-weight:normal;
}

.fullsite-navbar li.child a {
	background:none;
	width:240px; height:60px; line-height:60px;
	color:#000;
	cursor:pointer;
	border-bottom:1px solid rgba(0,0,0,0.1);
}
.fullsite-navbar li.child a:hover {
	background-color:var(--dv-red-95);
}
.fullsite-navbar > li.parent > a {
	padding-right:30px;
}
.fullsite-navbar > li.parent > a:after {
	content:"▼";
	position:absolute;
	right:10px; top:0;
	font-size:12px;
	color:#ccc;
}

#leaderboard-link {
	position:absolute;
	right:30px; top:0;
	height:var(--navbar-height);
	line-height:var(--navbar-height);
}
#leaderboard-link a {
	padding:10px 15px;
}
#leaderboard-link a:hover {text-decoration:none;}

@media(max-width:1060px) {
	#navbar-logo {left:15px;}
	.fullsite-navbar {padding-left:120px;}
	.fullsite-navbar > li a {padding:0 15px;}
	#leaderboard-link {right:15px;}
}
@media(max-width:960px) {
	.fullsite-navbar {padding-left:80px;}
	.fullsite-navbar > li a {
		font-size:0.88em;
		padding:0 10px;
	}
}
@media(max-width:767px) {#leaderboard-link {display:none;}}


#navbutton {
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	float:right;
	width:calc(var(--navbar-height) - 30px); height:calc(var(--navbar-height) - 30px);
	margin:15px;
	background-color:rgba(255,255,255,0.2);
	cursor:pointer;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	background-color:var(--dv-red-90);
}
#navbutton i {
	font-size:16pt;
	color:#000;
}

#mobile-navbar {
	display:none;
	position:fixed;
	left:0; top:var(--navbar-height);
	width:0; height:calc(100% - var(--navbar-height));
	overflow:visible;
	background:none;
	z-index:0;
}
@media(max-width:767px) {#mobile-navbar {display:block;}}
#mobile-navbar > ul {
	margin:0; padding:30px;
	list-style-type:none;
	background-color:var(--dv-red);
	position:absolute;
	left:100vw;
	width:calc(100vw - 30vw); height:100%;
	transition:0.3s ease-in-out;
	z-index:97;
}
#mobile-navbar ul.visible {
	left:30vw;
}
#mobile-navbar li.single, #mobile-navbar li.parent {
	position:relative;
	height:auto;
	line-height:normal;
}
#mobile-navbar li a {
	display:inline-block;
	color:#fff;
	font-size:15pt;
	font-weight:600;
	padding:10px;
	cursor:pointer;
}
#mobile-navbar li a:hover {
	color:#fff;
	text-decoration:none;
}
#mobile-navbar ul.children {
	left:0;
	padding:0 0 10px 30px;
	width:auto;
}
#mobile-navbar ul.children li a {
	font-size:13pt;
	font-weight:normal;
}

#main {
	position:relative;
	z-index:10;
	padding:30px;
	min-height:calc(100vh - 260px);
	max-width:1200px;
	margin:0 auto;
}
@media(max-width:767px) {
	#main {padding:30px 15px;}
}

#footer {
	min-height:200px;
	padding:60px 30px 30px 30px;
	position:relative;
	box-shadow:0 0 45px rgba(0,0,0,0.25);
	border-top:1px solid rgba(0,0,0,0.1);
}
#footer-bg {
	position:absolute;
	left:33%; top:0;
	width:100%; height:100%;
	overflow:hidden;
}
#footer-bg img {
	position:absolute;
	width:600px;
	z-index:0;
	pointer-events:none;
	opacity:0.05;
	margin-top:45px;
	filter:invert(1);
}
#footer h6, #footer a {
	color:#000;
}
#footer-inner {
	display:flex;
	flex-direction:row;
	justify-content:space-around;
}
#footer-inner > * {
	width:240px;
	position:relative;
	color:#000;
}

#footer ul {
	list-style-type:none;
	margin:0; padding:0;
}
#footer ul li {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
}
#footer ul li a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:0.2s ease-in-out;
	font-weight:400;
	padding:5px 0;
}
#footer ul li a:hover {
	text-decoration:none;
}
#footer ul li a:hover img, #footer ul li a:hover i {
	transform:scale(1.2);
}
#footer ul li i {
	font-size:24pt;
	width:30px; height:30px;
	padding:0 5px;
	margin-right:25px;
	transition:0.2s ease-in-out;
}
#footer ul li i:before {
	display:inline-block;
	width:30px;
	text-align:center;
}
#comp-buddy-ad {
	display:flex;
	flex-direction:column;
	text-align:center;
	align-items:center;
	justify-content:center;
	text-decoration:none;
}
#comp-buddy-ad > img {
	width:100%;
	max-width:170px;
	margin-bottom:5px;
}
#app-store-links img {width:90px; margin:5px;}

#comp-buddy-ad span {
	font-size:11pt;
	font-weight:bold;
}

#footer-content-last {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
#newsletter-signup {
	background-color:rgba(90,7,13,0.1);
	border-radius:10px;
	overflow:hidden;
	cursor:pointer;
}
#newsletter-signup h3 {
	margin:0;
	padding:5px 15px;
	background-color:#c93a44;
	color:#fff;
	font-size:14pt;
	text-align:center;
}
#newsletter-signup-inner {
	padding:15px;
}
#newsletter-signup input, #newsletter-signup button {width:100%; border:none;}
#newsletter-signup input {
	margin-bottom:15px;
}

#social-media-links {
	width:100%;
	display:flex;
	flex-direction:row;
	justify-content:space-around;
}
#social-media-links i {
	font-size:36pt;
	color:rgba(201,58,68,0.75);
	transition:0.2s ease-in-out;
}
#social-media-links a:hover i {color:rgba(201,58,68,1); transform:scale(1.2);}


#copyright-notice {
	text-align:center;
	padding-top:45px;
	font-weight:400;
	color:#666;
}

@media(max-width:600px) {
	#footer-inner {
		flex-direction:column;
	}
	#footer-inner > * {
		width:100%;
		margin:30px 0;
	}
	#footer ul {
		column-count:2;
		margin-bottom:30px;
	}
	#footer-content-last {
		height:240px;
		margin-bottom:0;
	}
}





.modal-header {
	border-bottom:none;
	justify-content:center;
	background-color:var(--dv-red);
	padding:0.5rem;
	height:50px;
}
.modal-title {
	width:100%;
	text-align:center;
	color:#fff;
}
.modal-header .close {
	position:absolute;
	right:1rem;
	top:1rem;
	padding:0.7rem;
	color:#fff;
}
.modal-footer {
	border-top:none;
	justify-content:center;
}

.modal-table td, .modal-table th {
	padding:5px;
	vertical-align:top;
	line-height:16pt;
	font-weight:600;
}
#comp-details-body {
	display:flex;
	flex-direction:row;
}
#comp-details-logo {
	text-align:center;
	margin-right:30px;
}
#comp-details-logo img {
	width:300px; height:300px;
	object-fit:cover;
}
#modal-comp-email, #modal-comp-website {
	word-break:break-all;
}

@media(max-width:992px) {
	#comp-details-body {
		flex-direction:column;
	}
	#comp-details-logo {
		width:100%;
		margin-right:0;
		margin-bottom:15px;
	}
}

.quadrants {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
}
.quadrants .quadrant {
	display:flex;
	justify-content:center;
	padding:0 15px 60px 15px;
}

.quadrants .quadrant > div {
	width:250px;
	background-color:#fff;
	padding:15px;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	box-shadow:5px 5px 5px rgba(0,0,0,0.2);
}
@media(max-width:1200px) {.quadrants .quadrant {width:50%;} .quadrants .quadrant > div {width:400px;}}
@media(max-width:600px) {.quadrants .quadrant {flex: 1; width:100%;}}


.quadrants .fas {
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:36pt;
	margin-bottom:15px;
	width:90px; height:90px;
	background-color:#c93a44;
	color:#fff;
	border-radius:100%;
	margin-top:-45px;
}
.quadrants .fas div {display:none !important;}
.quadrant p {
	font-size:14pt;
}

/* PRIZES & AWARDS PAGE */

.panel-group, .panel-group-light {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:space-between;
}
.panel-group .panel, .panel-group-light .panel {
	display:inline-block;
	width:100%;
	margin-bottom:45px;
	overflow:hidden;
}
.panel-group .panel {
	background-color:#fff;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	box-shadow:0 0 15px rgba(0,0,0,0.15);
	-webkit-box-shadow:0 0 15px rgba(0,0,0,0.15);
	-moz-box-shadow:0 0 15px rgba(0,0,0,0.15);
}
.panel-group-light .panel, .panel-light {
	background-color:var(--dv-red-95);
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
}
.panel-group-light .panel {
	padding:15px;
}
.panel-group .p2, .panel-group-light .p2 {width:48%;}
.panel-group .p3, .panel-group-light .p3 {width:31%;}
.panel-group .p4, .panel-group-light .p4 {width:22%;}
.panel-group .panel .panel-header {
	color:#fff;
	font-weight:600;
	text-align:center;
	padding:5px 10px;
}
.panel-group .panel.bronze .panel-header {
	background-color:var(--dv-bronze);
}
.panel-group .panel.silver .panel-header {
	background-color:var(--dv-silver);
}
.panel-group .panel.gold .panel-header {
	background-color:var(--dv-gold);
}

.panel-group-light .panel ul {
	margin:0;
	padding:0 0 0 15px;
}
.panel-group-light .panel ul li {
	line-height:1.75em;
}
.panel-group .panel ul {
	padding:15px;
	margin:0;
	list-style-type:none;
}
.panel-group .panel ul li {
	display:flex;
	flex-direction:row;
}
.panel-group .panel ul li label {
	display:inline-block;
	font-weight:600;
	margin:0 10px 5px 0;
	padding:3px 0;
	width:45px;
	text-align:center;
	background-color:var(--dv-red-80);
	color:#fff;
	font-weight:700;
}
.panel-group .panel.bronze ul li label {background-color:var(--dv-bronze); opacity:0.5;}
.panel-group .panel.silver ul li label {background-color:var(--dv-silver); opacity:0.5;}
.panel-group .panel.gold ul li label {background-color:var(--dv-gold); opacity:0.5;}
.panel-group .panel ul li > div {
	width:calc(100% - 50px);
	line-height:20px;
	margin-bottom:5px;
}

@media(max-width:768px) {
	.panel-group .p3, .panel-group .p4 {
		width:48%;
	}
	.panel-group .invisible-panel {display:none}
}

@media(max-width:500px) {
	.panel-group .p2, .panel-group-light .p2, .panel-group .p3, .panel-group-light .p3, .panel-group .p4, .panel-group-light .p4 {
		width:100%;
		margin-bottom:30px;
	}
	.panel-group-light .p2.mobile-merge {margin-top:-55px;}
}

#dv-about-panels {
	margin-top:30px;
	margin-bottom:45px;
}
#dv-about-panels * {
	color:#fff;
	line-height:1em;
}
#dv-about-panels .btn {
	background-color:#fff;
	margin-top:10px;
}
#dv-about-panels .p3 {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	height:280px;
	padding:30px;
	width:31%;
	background-color:var(--dv-purple);
	text-align:center;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
}
#dv-about-panels .p3 .btn {color:var(--dv-purple); border-color:var(--dv-purple);}
#dv-about-panels .p3:first-child {background-color:var(--dv-pink); border-color:var(--dv-pink);}
#dv-about-panels .p3:first-child .btn {color:var(--dv-pink); border-color:var(--dv-pink);}
#dv-about-panels .p3:last-child {background-color:var(--dv-blue); border-color:var(--dv-blue);}
#dv-about-panels .p3:last-child .btn {color:var(--dv-blue); border-color:var(--dv-blue);}

@media(max-width:767px) {
	#dv-about-panels {
		flex-direction:column;
		align-items:center;
		
	}
	#dv-about-panels .p3 {
		width:75%;
		margin:30px 0;
		height:auto;
	}
}
@media(max-width:600px) {
	#dv-about-panels .p3 {
		width:100%;
		margin:15px 0;
	}
}

.expandable {
	margin:20px 0;
}
.expandable h3 {
	position:relative;
	padding:15px;
	font-size:1.5em;
	font-weight:600;
	color:#000;
	background-color:var(--dv-red-95);
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	cursor:pointer;
}
.expandable h3 i {
	float:right;
	color:#999;
	margin-right:5px;
	transition:0.3s ease-in-out;
}
.expandable h3.expanded i {
	transform:rotate(90deg);
}
.expandable > div {
	display:none;
	margin:30px 15px;
}

.select-container {background-color:#fff !important;}
.winner-page-selection {
	width:100%;
	padding:30px;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	background-color:#ccc;
}
.winner-page-selection > div {
	text-align:center;
	margin:0 15px;
}

.awards {
	
}
.awards .awards-row {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	justify-content:center;
	margin-bottom:30px;
}
.awards .awards-row > div {
	width:50%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.awards .awards-row ul {
	list-style-type:none;
	margin:0; padding:0;
}
.awards .awards-row img {
	width:45vw;
	max-width:300px;
}

.bronze {color:var(--dv-bronze);}
.silver {color:var(--dv-silver);}
.gold {color:var(--dv-gold);}


/* Concierge Page */

.img-float-right img {
	float: right; margin: 0 0 15px 30px; width: 50%; max-width: 300px;
}

@media (max-width:600px) {
	.img-float-right img {
		float:none;
		width:100%;
		max-width:none;
		margin:0 0 30px 0;
	}
}

.panel-with-left-img {
	position:relative;
	margin-left:30px;
}
.panel-with-left-img > img:first-child {
	position:absolute;
	left:-30px; top:0;
	width:250px;
	border-radius:10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.panel-with-left-img > h3 {
	padding-left: 250px; margin-bottom: 15px;
}
.panel-with-left-img .panel-light {
	padding: 15px 15px 15px 250px;
}

@media (max-width:600px) {
	.panel-with-left-img {margin:15px 0 0 0;}
	.panel-with-left-img > img:first-child {
		position:relative;
		left:0;
		width:100%; height:auto;
		margin-bottom:30px;
	}
	.panel-with-left-img > h3 {
		position:absolute;
		top:-45px;
		padding-left:0;
		text-align:center;
		width:100%;
	}
	.panel-with-left-img .panel-light {
		padding:15px;	
	}
}
