body {
	font-family: 'Lora', serif;
}

.site-description,
.main-navigation,
.entry-title,
.cta-block__title,
.cta-block__cta,
.image-content-block__title,
h1,
h2,
h3,
h4,
h5,
h6,
#subscribe-submit button,
.menu-toggle,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	font-family: 'Teko';
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 600;
	text-transform: uppercase;
}

.site-description,
.main-navigation a,
.main-navigation a:visited,
.cta-block__title,
#primary-menu > li.menu-item-has-children:after {
	color: #262262;
}

#secondary {
	background: #262262;
}

a, a:visited {
	color: #D32E13;
}

#subscribe-submit button,
.menu-toggle,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background: #D32E13;
}

.cta-block__cta {
	color: #D32E13 !important;
}

.custom-header {
	background-image: url('https://2020.dc.wordcamp.org/files/2019/12/cherry-blossom-opacity.jpg');
	background-attachment: fixed;
	background-size: cover;
	padding-top: 60px;
	padding-bottom: 60px;
}

.home .custom-header {
	padding-bottom: 40vh;
}

@media screen and (min-width: 37.5em) {
	.home .site-header {
		position: relative;
	}
	
	.home .menu-item-796 {
		position: absolute !important;
		width: 100%;
		left: 0;
		right: 0;
		bottom: 23vh;
	}
	
	.home .menu-item-796 a {
		max-width: 300px;
		margin: 0 auto;
		background: #D32E13;
		padding: 10px 15px;
		color: #fff !important;
		line-height: 1 !important;
	}
}

@media screen and (min-width: 37.5em) and (max-height: 600px) {
	.home .menu-item-796 {
		bottom: 46vh;
	}
}

/* Text meant only for screen readers. */
.site-title {
	border: 0;
	clip: rect(1px,1px,1px,1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.site-title:focus {
	background-color: #eee;
	clip: auto !important;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
/* Above WP toolbar. */
}

.custom-logo-link {
	display: block;
	margin: 0 auto;
	text-align: center;
}

.site-description {
	font-weight: 600;
	font-size: 28px;
	line-height: 1.4;
	margin: 0;
	padding-top: 30px;
	text-align: center;
	text-transform: uppercase;
}

.site-description:after {
	content: "A WordPress conference in Washington, DC";
	display: block;
	padding-top: 15px;
	text-transform: initial;
}

.main-navigation {
	font-size: 28px;
	line-height: 1.4;
	margin-bottom: 45px;
	padding-top: 15px;
	text-align: center;
	text-transform: uppercase;
}

#primary-menu > li {
	float: none;
	display: inline-block;
	padding: 0 15px;
}

body .page-navigation-container ul ul {
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	top: auto;
}

#primary-menu > li.menu-item-has-children {
	position: relative;
	padding: 0 20px 0 15px;
}

#primary-menu > li.menu-item-has-children {
	position: relative;
	padding: 0 20px 0 15px;
}

#primary-menu > li.menu-item-has-children:after {
	font-family: 'FontAwesome';
	content: "\f078";
	display: block;
	font-size: 16px;
	position: absolute;
	right: 0;
	bottom: 8px;
}

.sub-menu li:not(:first-child) {
	border-top: 1px solid #cfcfcf;
}

.sub-menu a {
	background: #fff;
	display: block;
	font-size: 18px;
	line-height: 1;
	padding: 15px;
	text-align: left;
}

.sub-menu a:hover {
	background: #cfcfcf;
}

.page-slug-home .entry-title {
	line-height: 1.444;
	margin: 0;
	padding-bottom: 15px;
	padding-top: 30px;
	text-align: center;
	padding-left: 15px;
	padding-right: 15px;
}

.entry-content {
	margin: 0;
}

.text-content-block {
	font-size: 20px;
	line-height: 151.9%;
	margin: 0 auto;
	max-width: 656px;
	padding: 0 15px;
}

.background-section {
	background-image: url('https://2020.dc.wordcamp.org/files/2019/12/caleb-wright-5CFA3Uv74FA-unsplash.jpg');
	background-attachment: fixed;
	background-size: cover;
	padding: 90px 0;
	margin: 90px 0;
}

.cta-blocks,
.image-content-block {
	margin: 0 auto;
	max-width: 990px;
	padding: 0 15px;
}

.cta-blocks {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.cta-block {
	width: calc(33.3333% - 30px);
}

.cta-block__inner {
	background: rgba(255,255,255,0.8);
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	display: block;
	padding: 60px;
	text-decoration: none;
	text-align: center;
	transition: .25s transform;
	height: 100%;
}

.cta-block__inner:hover {
	transform: scale(1.05);
}

.cta-block__title,
.cta-block__cta {
	display: block;
}

.cta-block__title {
	font-weight: bold;
	font-size: 30px;
	line-height: 32px;
	text-transform: uppercase;
}

.cta-block__cta {
	font-size: 18px;
	line-height: 22px;
	padding-top: 60px;
	text-transform: uppercase;
}

.image-content-block {
	display: flex;
	justify-content: space-between;
	padding-bottom: 60px;
}

.image-content-block__image {
	width: calc(50% - 60px);
}

.image-content-block__body {
	width: 50%;
}

.image-content-block__title {
	margin: 0;
	font-weight: 600;
	font-size: 36px;
	line-height: 40px;
	padding-bottom: 15px;
	text-transform: uppercase;
}

.image-content-block__content {
	font-size: 22px;
	line-height: 151.9%;
}

#secondary {
	color: #fff;
	display: flex;
	justify-content: space-between;
	padding: 60px 90px;
}

body:not(.page-slug-home) .content-area {
	width: 90%;
	max-width: 760px;
	margin: 0 auto;
	padding: 30px 0 90px;
}

#primary-sidebar,
#secondary-sidebar {
	width: calc(50% - 30px);
}

.sponsor-level {
	display: flex;
	flex-wrap: wrap;
}

.sponsor-level:not(.ward) {
	justify-content: space-between;
}

.sponsor-level-title {
	font-size: 21px;
	margin: 0;
	width: 100%;
}

.sponsor-logo {
	background: #fff;
	margin-bottom: 30px;
	display: flex !important;
	align-items: center;
	min-width: 150px;
}

.sponsor-logo img {
	max-width: 85% !important;
	margin: 0 auto;
	display: block;
}

.sponsor-level.federal .sponsor-logo {
	width: calc(50% - 15px);
	padding: 15px !important;
}

.sponsor-level.district .sponsor-logo {
	padding: 10px !important;
	width: calc(33.333% - 10px);
}

.sponsor-level.ward .sponsor-logo {
	margin-right: 20px;
	padding: 5px !important;
	width: calc(25% - 5px);
}

.widget_blog_subscription form {
	display: flex;
	flex-wrap: wrap;
}

#subscribe-text,
body #subscribe-email input {
	width: 100%;
}

#subscribe-email {
	width: calc(100% - 120px);
}

#subscribe-submit {
	width: 120px;
}

#subscribe-email,
#subscribe-submit {
	margin: 0;
}

#subscribe-email input,
#subscribe-submit button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border-radius: 0 !important;
	border: none !important;
}

#subscribe-email input {
	padding: 15px 20px;
}

#subscribe-submit button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	color: #fff;
	font-size: 21px;
	text-transform: uppercase;
	display: block;
	width: 100%;
	height: 100%;
}

.site-info {
	padding: 20px;
	text-align: center;
}

.site-info span[role="separator"] {
	display: block;
}

.site-info-network {
	font-size: 80%;
	margin-top: 10px;
}

.page:not(.home) .entry-title,
.single-post .entry-title,
.blog .entry-title {
	font-size: 36px;
	margin: 0;
	text-align: center;
}

.page:not(.home) h4,
.single-post h4,
.comment-reply-title {
	font-size: 24px;
}

.single-post .entry-meta,
.blog .entry-meta {
	margin-bottom: 1em;
	text-align: center;
}

.page:not(.home) .entry-content,
.single-post .entry-content,
.blog .entry-content,
.single-wcb_speaker .entry-content {
	font-size: 21px;
}

.page:not(.home) .entry-content ul,
.single-post .entry-content ul,
.blog .entry-content ul {
	margin-left: 0;
}

.page:not(.home) .entry-content ul > li,
.single-post .entry-content ul > li,
.blog .entry-content ul > li {
	margin-bottom: .5em;
}

/* Blog Cleanup */
.blog .hentry {
	margin-bottom: 90px;
	position: relative;
	padding-bottom: 90px;
}

.entry-image {
	padding-bottom: 15px;
}

.wp-caption .wp-caption-text {
	font-size: 12px;
}

.blog .hentry:after,
.tix_tickets_table > tbody > tr:nth-last-child(n+3):after {
	background: #ccc;
	content: "";
	width: 200px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -100px;
}

#tix-coupon-link {
	font-size: 18px;
}

/* Speakers */
ul.wordcamp-speakers {
	padding-left: 0;
}

.wordcamp-speakers__post {
	display: flex;
	flex-wrap: wrap;
}

.wordcamp-speakers__title {
	font-size: 1.5em;
	margin: 0 0 .5em;
	text-align: center;
	width: 100%;
}

.wordcamp-speakers__title,
.single-wcb_speaker .entry-title {
	text-align: center;
}

.wordcamp-speakers__post .wordcamp-image__avatar-container {
	width: 150px;
}

.wordcamp-speakers__content {
	padding-left: 2em;
	width: calc(100% - 150px);
}

.single-wcb_speaker .speaker-avatar {
	float: left;
	margin-right: 2em;
}

.wordcamp-speakers__post .wordcamp-image__avatar-container .avatar {
	position: relative;
	top: 8px;
}

.wordcamp-speakers__content > :first-child,
.single-wcb_speaker .entry-content > :nth-child(2) {
	margin-top: 0;
}

@media (min-width: 601px) {
	.tix_tickets_table > tbody > tr:nth-last-child(n+3):after {
		display: none;
	}
}

.blog .hentry:last-child {
	margin-bottom: 0;
}

.blog .hentry:last-child:after {
	display: none;
}

.blog .entry-image {
	display: none;
}

.entry-footer > * {
	display: inline-block;
	padding-right: 10px;
}

/* Tickets Cleanup */
.tix_tickets_table {
	font-size: 16px;
	margin: -15px;
}

.tix_tickets_table th {
	text-align: left;
}

.tix_tickets_table th,
.tix_tickets_table td {
	padding: 15px;
}

.tix_tickets_table select {
	padding: 10px;
}

.tix-row-coupon {
	font-size: 13px;
}

.tix_tickets_table .tix-row-coupon > td {
	padding: 20px 10px;
}

.tix-row-coupon > td {
	text-align: center !important;
}

#tix-coupon-container {
	max-width: 300px;
	margin: 0 auto;
}

#tix-coupon-input {
	width: 100%;
}

#tix {
	margin-bottom: 60px;
}

.tix-column-remaining {
	display: none !important;
}

/* Sponsors */
.single-wcb_sponsor .post-navigation,
.single-wcb_speaker .post-navigation {
	display: none;
}

.page-slug-sponsors .wordcamp-post-list {
	padding-left: 0;
}

/* Random Bug Fixes */
@media (max-width: 600px) {
	#eu-cookie-law br {
		display: none;
	}
	
	#eu-cookie-law input.accept {
		width: auto;
		height: auto;
	}
}

@media (max-width: 600px) {
	.tix_tickets_table thead {
		border: 0;
		clip: rect(1px,1px,1px,1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
		word-wrap: normal !important;
	}
	
	.tix_tickets_table thead:focus {
		background-color: #eee;
		clip: auto !important;
		clip-path: none;
		color: #444;
		display: block;
		font-size: 1em;
		height: auto;
		left: 5px;
		line-height: normal;
		padding: 15px 23px 14px;
		text-decoration: none;
		top: 5px;
		width: auto;
		z-index: 100000;
	/* Above WP toolbar. */
	}
	
	.tix_tickets_table > tbody > tr:nth-last-child(n+3) {
		display: block;
		margin-bottom: 45px;
		position: relative;
		padding-bottom: 45px;
	}
	
	.tix_tickets_table td {
		display: block;
	}
	
	.tix-column-price,
		.tix-column-remaining,
		.tix-column-quantity {
		font-size: 14px;
		padding: 10px 15px !important;
	}
	
	.tix-column-price:before,
		.tix-column-remaining:before,
		.tix-column-quantity:before {
		font-weight: bold;
	}
	
	.tix-column-price:before {
		content: "Price: ";
	}
	
	.tix-column-remaining:before {
		content: "Remaining: ";
	}
	
	.tix-column-quantity:before {
		content: "Quantity: ";
	}
	
	.tix_tickets_table select {
		padding: 0 5px !important;
	}
}

/* Form Styles */
input[type="text"],
input[type="email"],
input[type="url"],
textarea {
	background: #fcfcfc;
	padding: 15px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
textarea:focus,
input[type="text"]:active,
input[type="email"]:active,
input[type="url"]:active,
textarea:active {
	border-color: #D32E13 !important;
}

.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="text"],
.contact-form input[type="url"] {
	margin-bottom: 1.5em;
}

.comment-form-comment label,
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
	display: block;
}

/* Responsive Stuff */
.menu-toggle {
	border: none;
	border-radius: 0;
	color: #fff;
	display: block;
	font-size: 21px;
	text-transform: uppercase;
	width: 100%;
}

.menu-toggle:after {
	font-family: 'FontAwesome';
	content: "\f0c9";
	font-size: 12px;
	position: relative;
	top: -1px;
}

@media (max-width: 900px) {
	.cta-block {
		width: calc(33.3333% - 7.5px);
	}
	
	.cta-block__inner {
		padding: 60px 15px;
	}
	
	.image-content-block__image {
		width: calc(50% - 30px);
	}
	
	#secondary {
		display: block;
		padding: 45px 15px;
	}
	
	#primary-sidebar,
	    #secondary-sidebar {
		width: 100%;
	}
	
	#secondary-sidebar {
		padding-top: 30px;
	}
}

@media (max-width: 600px) {
	.custom-header,
		.home .custom-header {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	
	.custom-logo-link {
		max-width: 150px;
	}
	
	.site-description {
		padding-top: 15px;
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.site-description:after {
		content: ": A WordPress conference in Washington, DC";
		display: inline;
	}
	
	.main-navigation {
		padding-top: 0;
	}
	
	#primary-menu > li {
		padding: 0;
	}
	
	#primary-menu > li {
		display: block;
		border-bottom: 1px solid #cfcfcf;
	}
	
	body .page-navigation-container ul ul {
		box-shadow: none !important;
		position: static;
		float: none;
	}
	
	.page-navigation-container a {
		line-height: 1;
		padding: 15px;
	}
	
	.page-navigation-container li {
		float: none;
	}
	
	.page-navigation-container ul ul a {
		width: 100%;
	}
	
	/* Dropdown already revealed on mobile, otherwise this would be bad */
	.js .dropdown-toggle {
		display: none;
	}
	
	#primary-menu > li.menu-item-has-children::after {
		display: none;
	}
	
	.sub-menu a {
		text-align: center;
	}
	
	.sub-menu li:not(:first-child) {
		border-top: none;
	}
	
	.cta-blocks,
	    .image-content-block {
		display: block;
	}
	
	.cta-block,
	    .image-content-block__image,
	    .image-content-block__body {
		width: 100%;
	}
	
	.cta-block:not(:last-child),
	    .image-content-block__image {
		margin-bottom: 30px;
	}
	
	.cta-block__cta {
		padding-top: 15px;
	}
	
	.cta-block__inner {
		padding: 45px;
	}
	
	.sponsor-level.federal .sponsor-logo {
		width: 100%;
	}
	
	.sponsor-level.district .sponsor-logo {
		width: calc(50% - 10px);
	}
	
	.sponsor-level.ward .sponsor-logo {
		width: calc(33.333% - 5px);
	}
}

@media (max-width: 480px) {
	.wp-block-image .alignleft,
		.wp-block-image .alignright,
		.single-wcb_speaker .speaker-avatar {
		float: none;
		margin-right: 0;
		margin-left: 0;
	}
	
	.single-wcb_speaker .speaker-avatar {
		padding-bottom: 1em;
		text-align: center;
	}
	
	.wordcamp-speakers__post .wordcamp-image__avatar-container,
		.wordcamp-speakers__content {
		width: 100%;
	}
	
	.wordcamp-speakers__content {
		padding-left: 0;
	}
	
	.wordcamp-speakers__post .wordcamp-image__avatar-container .avatar {
		position: static;
	}
}