/*
 * Variables
 */
/* COLORS */
/* FONTS */
/*
 * Mixins
 */
/* greater than max content width */
/*
 * This is an alternative to Core's `.alignfull` class, but works very differently.
 *
 * If the Core class works for a given situation, it's probably better to use that than this. There are some
 * situations where you can't apply that class, or it doesn't work well, though (e.g., the yellow banner in the
 * header).
 *
 * @todo This is probably making some assumptions about how it will be used in the header, so may not be ready to
 * use as a general purpose class across the site.
 */
/*
 * Normalize browser inconsistencies
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
/* 1 */
	-webkit-text-size-adjust: 100%;
/* 2 */
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: .67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
/* 1 */
	height: 0;
/* 1 */
	overflow: visible;
/* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
/* 1 */
	font-size: 1em;
/* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
/* 1 */
	text-decoration: underline;
/* 2 */
	text-decoration: underline dotted;
/* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
/* 1 */
	font-size: 1em;
/* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
/* 1 */
	font-size: 100%;
/* 1 */
	line-height: 1.15;
/* 1 */
	margin: 0;
/* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
/* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
/* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
/* 1 */
	color: inherit;
/* 2 */
	display: table;
/* 1 */
	max-width: 100%;
/* 1 */
	padding: 0;
/* 3 */
	white-space: normal;
/* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
/* 1 */
	padding: 0;
/* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
/* 1 */
	outline-offset: -2px;
/* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
/* 1 */
	font: inherit;
/* 2 */
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/*
 * Global styles
 */
a {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	color: #f1481e;
	text-decoration: none;
}

a:hover, a:active {
	color: #f1481e;
	text-decoration: underline;
}

a:visited {
	color: #f1481e;
}

button,
a.button,
input[type=submit],
.wp-block-button__link {
	background-color: #f05c33;
	border: 1px solid #ed4f2c;
	border-radius: 0;
	padding: 10px 16px;
	display: inline-block;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
}

button:hover,
  a.button:hover,
  input[type=submit]:hover,
  .wp-block-button__link:hover {
	background-color: #c7370f;
}

button.arrow::before,
a.arrow::before,
.wp-block-button__link::before {
	content: "";
	background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/arrow-orange.png');
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	display: inline-block;
	height: 15px;
	width: 15px;
	margin-right: 8px;
}

button.arrow.arrow-white::before,
a.arrow.arrow-white::before,
.wp-block-button__link::before {
	background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/arrow-white.png');
}

button {
	opacity: .8;
}

.button-large {
	font-size: 24px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 1rem;
	line-height: 1.2;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2.5rem;
}

h3 {
	font-size: 2.25rem;
}

@media screen and (min-width: 500px) {
	h1 {
		font-size: 3rem;
	}
	
	h2 {
		font-size: 2.5rem;
	}
}

ol,
ul {
	margin-left: 0;
	padding-left: 1.25em;
}

ol.ol-h3 {
	list-style: none;
	list-style: none;
	counter-reset: li;
	padding-left: 2em;
}

ol.ol-h3 li {
	padding-left: 1.25em;
}

ol.ol-h3 li h3:before {
	content: counter(li) ". ";
	counter-increment: li;
	font-size: 2.25rem;
	font-weight: bold;
	margin-left: -1.25em;
}

.widget_blog_subscription,
.widget_wcorg_mailchimp_wiget {
	display: inline-block;
	width: 100%;
	padding: 20px;
	color: #454443;
	background-color: #f2fbef;
	text-align: center;
}

.widget_blog_subscription input,
  .widget_wcorg_mailchimp_wiget input {
	padding: 6px 10px 3px;
	width: 100%;
	margin-bottom: .5rem;
	border-radius: 0;
}

.widget_blog_subscription input[type=submit],
  .widget_wcorg_mailchimp_wiget input[type=submit] {
	margin-top: 1rem;
	border: 1px solid #ed4f2c;
	padding: 10px 16px 6px;
	font-size: 1rem;
}

.widget_blog_subscription label,
  .widget_wcorg_mailchimp_wiget label {
	text-align: left;
	font-size: .8rem;
	color: #454443;
}

.widget_blog_subscription .widget-title,
  .widget_wcorg_mailchimp_wiget .widget-title {
	font-size: 1rem;
}

/*
 * Overall site layout
 */
/*
 * Header
 */
.site-header {
	padding-top: 80px;
/* todo need to add more breakpoints?
	should be able to have absolutely positied image have auto height, but would still need to push menu down a fixed amount
	could just have extra space between menu and this though
	*/
	background-color: #a9dada;
/* todo convert to var, along w/ any others. see issue #9 for naming convention. */
	background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/mountain-cropped.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom -5px center;
	text-align: center;
}

@media screen and (min-width: 380px) {
	.site-header {
		padding-top: 55px;
	}
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	.site-header {
		padding-top: 30px;
	}
}

	
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	.site-header {
		background-size: 100% auto;
	/* todo this isn't perfect */
	}
}

	
}

.menu-toggle {
	width: 100%;
}

@media screen and (min-width: 37.5em) {
	.main-navigation {
		margin-top: 8px;
	}
}

#header-widgets {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 16px;
}

@media screen and (min-width: 500px) {
	#header-widgets {
		padding: 0 80px;
	}
}

#header-widget-1 {
	margin-top: 80px;
/* todo need to add more breakpoints?
	should be able to have absolutely positied image have auto height, but would still need to push menu down a fixed amount
	could just have extra space between menu and this though
	*/
	padding-top: 20px;
}

@media screen and (min-width: 380px) {
	#header-widget-1 {
		margin-top: 55px;
	}
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#header-widget-1 {
		margin-top: 30px;
	}
}

	
}

@media screen and (min-width: 500px) {
	#header-widget-1 {
		padding-top: 60px;
	}
}

/* Yellow info banner */
#custom_html-2 {
	position: relative;
	width: 100vw;
	max-width: 100%;
	left: 0;
	position: absolute;
	top: 0;
	margin: 0;
	height: 80px;
/* todo need to add more breakpoints?
	should be able to have absolutely positied image have auto height, but would still need to push menu down a fixed amount
	could just have extra space between menu and this though
	*/
	background-color: #e9c544;
	text-align: center;
	padding: 5px 10px;
}

@media screen and (min-width: 380px) {
	#custom_html-2 {
		height: 55px;
	}
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#custom_html-2 {
		height: 30px;
	}
}

	
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#custom_html-2 {
		margin: 0;
	}
}

	
}

#custom_html-2 a {
	color: #000;
	text-decoration: none;
}

.admin-bar #custom_html-2 {
	top: 32px;
}

#custom_html-3 {
	margin-bottom: 0;
}

#header-widgets .headline {
/* todo margins aren't even at 428px wide viewport. lots of room on left side, none on right side */
	text-align: center;
}

@media screen and (min-width: 500px) {
	#header-widgets .headline {
		display: grid;
		grid-template-columns: 80px auto;
		grid-template-rows: auto auto auto;
		grid-template-areas: "headline-logo headline" "sub-headline sub-headline" "location location";
		text-align: left;
	}
}

#header-widgets .headline .logo {
	width: 50%;
}

@media screen and (min-width: 500px) {
	#header-widgets .headline .logo {
		grid-area: headline-logo;
		width: 100px;
	}
}

#header-widgets .headline h3 {
	grid-area: headline;
	text-transform: uppercase;
	word-break: break-word;
	color: #514c6b;
}

@media screen and (min-width: 500px) {
	#header-widgets .headline h3 {
		padding: 8px 0 0 30px;
	}
	
	#header-widgets .headline h3 span {
		display: block;
	}
}

@media screen and (min-width: 500px) {
	#header-widgets .headline h3 {
		font-size: 2.5rem;
	}
}

#header-widgets .headline .sub-headline {
	grid-area: sub-headline;
	margin: 5px 0 0;
	font-weight: 600;
	font-size: 1.5em;
}

#header-widgets .headline a {
	grid-area: location;
	text-decoration: none;
	color: #000;
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#tent {
	/* todo maybe have on mobile too, if not too hard */
		height: 200px;
	/* todo maybe match this with height of mountain image or something, so that mountain never overlaps text above */
		background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/v2-tent.png');
		background-size: 70%;
	/* todo this needs work */
		background-repeat: no-repeat;
		background-position: bottom left 15%;
	}
}

	
}

.page-navigation-container.toggled-on ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.page-navigation-container ul {
	-ms-flex-direction: column;
	flex-direction: column;
	background-color: #fff;
}

.page-navigation-container ul li {
	position: relative;
}

.page-navigation-container ul li a {
	color: #f1481e;
	font-weight: bold;
	padding: .5rem 1rem;
	border-bottom: 1px solid #eff8ec;
}

.page-navigation-container ul li .dropdown-toggle {
	display: none;
}

.page-navigation-container ul ul {
	position: relative;
	-webkit-box-shadow: none;
	box-shadow: none;
	float: none;
	top: 0;
	left: 0;
}

.page-navigation-container ul ul a {
	width: 100%;
	font-weight: normal;
}

/* todo abstract button styles since many are shared across header/front-page/footer */
@media screen and (min-width: 37.5em) {
	.page-navigation-container ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-pack: center;
		justify-content: center;
		background-color: transparent;
	}
	
	.page-navigation-container ul li {
		margin: 0;
		padding: 0 15px;
		border-right: 1px solid #d1d2d4;
	}
	
	.page-navigation-container ul li:last-child {
		border-right: none;
	}
	
	.page-navigation-container ul li a {
		border-bottom: none;
		color: #f1481e;
		font-weight: 600;
		padding: 0;
	}
	
	.page-navigation-container ul li a:hover {
		color: #b62e0c;
	}
	
	.page-navigation-container ul ul {
		background-color: #fff;
		border: 1px solid #eff8ec;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.2);
		box-shadow: 0 3px 3px rgba(0,0,0,0.2);
		float: left;
		position: absolute;
		top: 1.5em;
		left: -999em;
		z-index: 99999;
		width: 225px;
	}
	
	.page-navigation-container ul ul li {
		border-right: none;
		padding: 0;
	}
	
	.page-navigation-container ul ul li a {
		padding: .5rem 1rem;
	}
	
	.page-navigation-container ul ul li a:hover {
		background-color: #eff8ec;
	}
}

#header-widgets .jetpack_subscription_widget,
#header-widgets .widget_wcorg_mailchimp_wiget {
	margin-top: 30px;
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	.site-header {
		text-align: left;
	}
	
	#header-widget-1 {
		width: 100%;
		display: grid;
		grid-template-columns: 70% 30%;
		grid-template-rows: auto;
		grid-template-areas: "headline-container subscribe" "headline-container grab-tickets";
	}
	
	#custom_html-3 {
		grid-area: headline-container;
	}
	
	#header-widgets .jetpack_subscription_widget,
	    #header-widgets .widget_wcorg_mailchimp_wiget {
		grid-area: subscribe;
	}
	
	#custom_html-4 {
		grid-area: grab-tickets;
	}
}

	
}

/*
 * Content that applies to all posts/pages
 */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 0;
	padding: 8px;
}

/*
 * Content that applies to all posts/pages
 */
.site-title,
.site-description {
	position: absolute;
	clip: rect(1px,1px,1px,1px);
}

.site-main {
	padding: 2rem 1rem;
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

h1.entry-title {
	color: #514c6b;
}

.entry-meta {
	font-weight: bold;
}

.entry-footer {
	border-bottom: 2px solid #d5ece9;
	margin-top: 2rem;
	padding-top: 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-weight: bold;
}

.post-navigation {
	border-bottom: 2px solid #d5ece9;
	padding-bottom: 1.5rem;
}

.post-navigation .nav-previous {
	float: left;
}

.post-navigation .nav-previous a::before {
	content: "\2190 ";
	padding-right: 5px;
}

.post-navigation .nav-next {
	float: right;
}

.post-navigation .nav-next a::after {
	content: "\2192";
	padding-left: 5px;
}

.comments-area h3 {
	font-size: 1.5rem;
	color: #514c6b;
}

@media screen and (min-width: 980px) {
	.comments-area form {
		max-width: 50%;
		font-size: .875rem;
	}
}

.hfeed .post {
	margin-bottom: 3.5rem;
}

.hfeed .entry-footer {
	padding-top: 0;
}

/*
 * Front page
 */
.home .entry-header {
	display: none;
}

.widget-title {
	text-align: center;
}

.content-widgets-block {
	padding: 2rem 1rem;
	width: 100%;
}

.content-widgets-block .widget {
	max-width: 980px;
/* todo should this be set on .site-content instead, so that all of the content is limited? */
	margin-left: auto;
	margin-right: auto;
}

.content-widgets-block .widget_nav_menu .menu {
	list-style: none;
	background-color: #f2fbef;
	border: 1px solid #eff8ec;
	margin: 0;
	padding: 15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-pack: center;
	justify-content: center;
}

.content-widgets-block .widget_nav_menu .menu-item {
	padding-left: 10px;
	padding-right: 10px;
}

.content-widgets-block .widget_nav_menu .menu-item a {
	color: #f05c33;
	text-decoration: none;
	font-weight: bold;
	padding: 8px 0;
	text-align: center;
	display: block;
}

.content-widgets-block .widget_nav_menu .menu-item a:hover {
	text-decoration: underline;
}

.content-widgets-block .widget_nav_menu .menu-item:last-of-type {
	border-right: none;
}

.widget_rss ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget_rss ul li a {
	color: #000;
	font-size: 24px;
	text-decoration: none;
}

.widget_rss ul li a:hover {
	text-decoration: underline;
}

@media screen and (min-width: 500px) {
	.content-widgets-block .widget_nav_menu .menu {
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-pack: center;
		justify-content: center;
	}
	
	.content-widgets-block .widget_nav_menu .menu-item {
		border-right: 2px solid #e7e7e9;
	}
	
	.content-widgets-block .widget_nav_menu .menu-item a {
		padding: 0;
	}
	
	.content-widgets-block .widget_nav_menu .menu-item:last-of-type {
		border-right: none;
	}
}

#content-widget-1 {
	padding-top: 4rem;
	background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/v2-rain.png');
	background-repeat: repeat;
	background-size: 150%;
	padding-bottom: 3rem;
}

#content-widget-1 img {
	width: 100%;
}

#content-widget-1 .wordcamp-wrapper {
	padding: 1rem;
	background-color: #f2fbef;
}

#content-widget-1 .button {
	width: 100%;
}

#content-widget-1 .widget_rss {
	border: 2px solid #d5ece9;
	background-color: #fff;
	padding: 2rem;
}

#content-widget-1 .widget_rss .widget-title {
	text-align: left;
	font-size: 18px;
}

#content-widget-1 .widget_rss .widget-title::after {
	content: "";
	height: 5px;
	width: 60px;
	margin-top: 5px;
	background-color: #eac234;
	display: block;
}

#content-widget-1 .widget_rss .widget-title .rss-widget-icon {
	display: none;
}

#content-widget-1 .widget_rss .widget-title a {
	color: #000;
	cursor: default;
	text-decoration: none;
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#content-widget-1 {
		padding-top: 6rem;
		display: grid;
		grid-template-columns: 33% 34% 33%;
		grid-template-rows: auto;
		grid-template-areas: "image_intro intro intro" "image_intro button_intro button_intro" "sched sched image_sched" "button_sched button_sched image_sched" "menu menu menu";
	}
	
	#content-widget-1 .widget_rss {
		grid-area: sched;
		margin-left: 0;
		margin-right: 1rem;
	}
	
	#content-widget-1 .widget_nav_menu {
		grid-area: menu;
		margin-left: 0;
		margin-right: 0;
	}
	
	@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	#content-widget-1 .widget_media_image img {
		-o-object-fit: cover;
		object-fit: cover;
		height: 100% !important;
		width: 100%;
	}
}

#media_image-3 {
	grid-area: image_intro;
	margin-left: 0;
}

#media_image-5 {
	grid-area: image_sched;
	margin-right: 0;
}

#custom_html-6 {
	grid-area: intro;
	margin-right: 0;
	margin-left: 1rem;
}

#custom_html-7 {
	grid-area: button_intro;
	margin-right: 0;
	margin-left: 1rem;
}

#custom_html-16 {
	grid-area: button_sched;
	margin-left: 0;
	margin-right: 1rem;
}	
}

	
}

@supports (display: grid) {
	@media screen and (min-width: 1020px) {
	#content-widget-1 .widget_rss {
		margin-left: calc((98vw - 980px)/2);
	}
	
	#content-widget-1 .widget_nav_menu {
		margin-left: calc((98vw - 980px)/2);
		margin-right: calc((98vw - 980px)/2);
	}
	
	#media_image-3 {
		margin-left: calc((98vw - 980px)/2);
	}
	
	#media_image-5 {
		margin-right: calc((98vw - 980px)/2);
	}
	
	#custom_html-6 {
		margin-right: calc((98vw - 980px)/2);
	}
	
	#custom_html-7 {
		grid-area: button_intro;
		margin-right: calc((98vw - 980px)/2);
		margin-left: 1rem;
	}
	
	#custom_html-16 {
		margin-left: calc((98vw - 980px)/2);
	}
}

	
}

#content-widget-4 {
	background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/v2-rain.png');
	background-repeat: repeat;
	background-size: 150%;
	padding-bottom: 3rem;
}

#content-widget-4 #custom_html-13 .button {
	display: inline-block;
	width: 100%;
	text-align: center;
}

#content-widget-4 .widget_rss {
	margin-bottom: 0;
}

#content-widget-4 .widget_rss .widget-title {
	display: none;
}

#content-widget-4 .widget_rss ul li {
	border: 2px solid #d5ece9;
	background-color: #fff;
	padding: 2rem;
	margin-bottom: 1.5rem;
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#content-widget-4 {
		background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/v2-mug.png'), url('https://2019.seattle.wordcamp.org/files/2019/06/v2-rain.png');
		background-repeat: no-repeat, repeat;
		background-size: 120px, 100%;
		background-position: 97% 20px, -25px 0;
		padding-bottom: 3rem;
		display: grid;
		grid-template-columns: 33% 67%;
		grid-template-rows: auto;
		grid-template-areas: "header header" "posts posts" "button button";
	}
	
	#content-widget-4 .widget_text:first-of-type {
		grid-area: header;
	}
	
	#content-widget-4 #custom_html-13 {
		grid-area: button;
		margin-right: 0;
		margin-left: 0;
	}
	
	#content-widget-4 #custom_html-13 .button {
		display: inline-block;
		width: 100%;
		text-align: center;
	}
	
	#content-widget-4 .widget_rss {
		grid-area: posts;
		margin-bottom: 0;
	}
	
	#content-widget-4 .widget_nav_menu {
	/* todo this creates horizontal scrolling in firefox on mobile */
		grid-area: menu;
		margin-left: 0;
		margin-right: 0;
		padding-left: 1rem;
	}
}

	
}

@supports (display: grid) {
	@media screen and (min-width: 1020px) {
	#content-widget-4 {
		background-position: 90% 20px, 0 0;
	}
	
	#content-widget-4 .widget_nav_menu {
		margin-right: calc((98vw - 980px)/2);
		padding-left: 1rem;
	}
	
	#content-widget-4 #custom_html-13 {
		margin-left: calc((98vw - 980px)/2);
	}
}

	
}

/* INFO JUST FOR YOU */
#content-widget-3 {
	background-color: #f2fbef;
}

.info-column {
	padding: 1rem;
}

.info-column a {
	display: block;
	color: #000;
	text-decoration: none;
}

.info-column p {
	margin: 0;
}

.info-header {
	margin-bottom: .5rem;
}

.info-header::after {
	content: "";
	height: 5px;
	width: 60px;
	margin-top: 5px;
	background-color: #fff;
	display: block;
}

.info-linklist {
	list-style: none;
	margin: 0;
	margin-top: .5rem;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -5px;
	margin-right: -5px;
}

.info-linklist li {
	flex-basis: 100%;
}

.info-linklist li.list-item-wide {
	flex-basis: 100%;
}

.info-linklist li a {
	display: block;
	padding: 10px;
	background-color: #efd89a;
	border: 1px solid #e3bd54;
	margin: 5px;
}

.info-linklist li a:hover {
	background-color: #d4ab16;
}

.info-column--attendees {
	background-color: #eac234;
}

.info-column--attendees .info-header {
	color: #a9790a;
}

.info-column--sponsors {
	background-color: #6e6c84;
	color: #fff;
}

.info-column--sponsors .info-header {
	color: #c0bed5;
}

.info-column--sponsors a {
	color: #fff;
}

.info-column--sponsors .info-linklist a {
	background-color: #423d5c;
	border: 1px solid #373258;
}

.info-column--sponsors .info-linklist a:hover {
	background-color: #2c293d;
}

.info-column--speakers {
	background-color: #73cbd3;
}

.info-column--speakers .info-header {
	color: #1c3245;
}

.info-column--speakers .info-linklist a {
	background-color: #b3eaea;
	border: 1px solid #4bc3c3;
}

.info-column--speakers .info-linklist a:hover {
	background-color: #3cb3be;
}

.info-column--volunteers {
	background-color: #1c3245;
	color: #fff;
}

.info-column--volunteers .info-header {
	color: #79b2c3;
}

.info-column--volunteers a {
	color: #fff;
}

.info-column--volunteers .info-linklist a {
	background-color: #437b9d;
	border: 1px solid #002a42;
}

.info-column--volunteers .info-linklist a:hover {
	background-color: #2c5168;
}

@media screen and (min-width: 500px) {
	.info-linklist li {
		flex-basis: 50%;
	}
}

/* override core settings */
@media (min-width: 600px) {
	.info-column.wp-block-column {
		flex-basis: calc(50% - 8px);
	}
	
	.info-column.wp-block-column:nth-child(2n) {
		margin-left: 16px;
	}
}

/* override core settings */
@media (min-width: 782px) {
	.info-column.wp-block-column:not(:first-child) {
		margin-left: 16px;
	}
	
	.info-column {
		padding: 1rem 2rem;
	}
}

@media screen and (min-width: 500px) {
	#content-widget-3 {
		background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/v2-campfire.png'), url('https://2019.seattle.wordcamp.org/files/2019/06/v2-backpack.png');
	/* todo maybe only add ^ on tablet or desktop, b/c can't really see it well on mobile */
		background-repeat: no-repeat, no-repeat;
		background-size: 250px, 250px;
		background-position: bottom 25px right 25px, bottom 25px left 25px;
	}
}

.wcb_widget_sponsors {
	max-width: 980px;
	margin: 0 auto 20px;
	padding: 0 1rem;
/* todo maybe create an abstract w/ this max-width/margin combo, since seems like most sections use it to center themselves */
}

.sponsor-level-title {
	display: none;
}

.sponsor-level {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: start;
	justify-content: flex-start;
/* todo this doesn't seem needed */
}

.sponsor-logo {
	border: 2px solid #e7e7e5;
	margin: 0 5px 5px 0;
}

.wcb_widget_sponsors .sponsor-logo {
	flex-grow: 1;
/* todo doesn't look good when items on line by themselves b/c they're bigger than others
		 * also doesn't match mockup b/c each box should be equal width
		 *
		 * maybe switch to Grid instead, but IIRC i tried that and had trouble w/ it too
		 */
	width: 200px;
	max-width: 225px;
	padding: 5px;
}

/*
 * Other pages
 */
/*
 * All posts
 */
.post {
	background-color: #f2fbef;
	padding: 2em;
}

.post .entry-footer {
	border: none;
}

/*
 * Tickets
 */
.tix_tickets_table tbody td {
	padding-bottom: 20px;
}

.tix-column-price,
.tix-column-remaining {
	padding-right: 20px;
	text-align: right;
}

.tix-column-quantity {
	text-align: right;
}

/*
 * Attendees
 */
@media screen and (max-width: 800px) {
	#tix-attendees .tix-columns-3 li {
		width: 50% !important;
	}
}

@media screen and (max-width: 500px) {
	#tix-attendees .tix-columns-3 li {
		width: 100% !important;
		float: none;
	}
}

h2.schedule-header {
	color: #514c6b;
	text-transform: uppercase;
	font-size: 1.5rem;
}

.wcpt-schedule {
	border-bottom: 3px solid #d5ece9;
}

.wcpt-schedule th {
	border-bottom: 3px solid #d5ece9;
	padding: 10px;
	vertical-align: top;
}

.wcpt-schedule td {
	border-bottom: 1px solid #d5ece9;
	padding: 10px;
	vertical-align: top;
}

.wcpt-session-type-custom {
	text-align: center;
	background-color: #f2fbef;
	color: #437b9d;
	text-transform: uppercase;
}

.wcb-session-category-keynote-talk {
	font-size: 115%;
	text-align: center;
	color: #fff;
	background-color: #514c6b;
}

.wcb-session-category-keynote-talk a {
	color: #fff;
}

.wcb-session-category-keynote-talk .wcpt-session-speakers::before {
	color: #fff;
}

td.wcb-session-category-workshop {
	border-bottom: none;
	background-color: #ebebeb;
}

td.wcb-session-category-workshop-spacer {
	background-color: #ebebeb;
}

td.wcb-session-category-workshop-spacer .wcb-session-cell-content {
	display: none;
}

.wcpt-session-speakers {
	display: block;
	font-style: italic;
}

.wcb-favourite-session {
	background-color: #b3eaea;
}

@media screen and (max-width: 700px) {
	.wcpt-schedule tr {
		border-color: #d5ece9;
	}
	
	.wcpt-schedule td.wcb-session-category-workshop-spacer {
		display: none;
	}
}

.grunion-field-select-wrap select {
	max-width: 100%;
}

.emoji-radio-buttons-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.emoji-radio-buttons-wrap .grunion-field-label {
	width: 100%;
	margin-bottom: 20px;
}

.emoji-radio-buttons-wrap .grunion-radio-label {
	height: 164px;
	min-width: 144px;
	-ms-flex: 1 1 0;
	flex: 1 1 0;
	font-weight: normal;
	position: relative;
}

.emoji-radio-buttons {
	padding: 1rem;
}

.emoji-radio-buttons::before {
	padding: 2rem 1.5rem;
	height: 164px;
	width: 164px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
	border: 1px solid transparent;
	position: absolute;
	left: -10px;
	top: -10px;
	right: -10px;
	bottom: -10px;
}

.emoji-radio-buttons:checked::before {
	border-color: #4bc3c3;
	border-radius: 10px;
}

.emoji-radio-buttons[value="100"]::before {
	content: url('https://2019.seattle.wordcamp.org/files/2019/11/hundred-points-symbol.png');
}

.emoji-radio-buttons[value="Heart"]::before {
	content: url('https://2019.seattle.wordcamp.org/files/2019/11/heavy-black-heart.png');
}

.emoji-radio-buttons[value="Clap"]::before {
	content: url('https://2019.seattle.wordcamp.org/files/2019/11/clapping-hands.png');
}

.emoji-radio-buttons[value="Thumbs Up"]::before {
	content: url('https://2019.seattle.wordcamp.org/files/2019/11/thumbs-up.png');
}

.emoji-radio-buttons[value="Laugh Tears"]::before {
	content: url('https://2019.seattle.wordcamp.org/files/2019/11/face-with-tears-of-joy.png');
}

.emoji-radio-buttons[value="Happy"]::before {
	content: url('https://2019.seattle.wordcamp.org/files/2019/11/smiling-face-with-smiling-eyes.png');
}

/*
 * Footer
 */
.site-footer {
	padding: 20px 10% 70px;
	background-color: #1d3143;
/* todo fix according to whateever is decided in https://github.com/iandunn/wordcamp-seattle-2019/issues/9 */
	color: #fcfcf8;
}

.site-footer a {
	color: #fff;
	text-decoration: none;
}

.site-footer h2 {
	font-size: 1rem;
}

#footer-widgets {
	position: relative;
	max-width: 980px;
	margin: 0 auto;
}

@supports (display: grid) {
	@media screen and (min-width: 700px) {
	#footer-widgets {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding-top: 35px;
	}
	
	#footer-widgets .footer-widgets-block {
		margin-left: 20px;
		flex-basis: 33%;
	}
	
	#footer-widgets .footer-widgets-block:first-child {
		margin-left: 0;
	}
}

	
}

/*
 * Column 1 (Menu, Social Media)
 */
.menu-footer-container ul {
	margin-left: 0;
	list-style: none;
	font-weight: 600;
	font-size: 1.1em;
}

.menu-footer-container ul:first-child {
	padding-left: 0;
}

.menu-footer-container ul a {
	color: #f05c33;
}

.menu-footer-container ul .sub-menu {
	padding-left: 20px;
	font-weight: 100;
}

.jetpack_widget_social_icons .widget-title {
	text-align: left;
	font-weight: 400;
}

.jetpack_widget_social_icons a {
	color: #fff;
}

.site-footer .search-form {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.site-footer .search-form label {
	padding-right: 10px;
	flex-grow: 1;
}

.site-footer .search-form .search-field {
	width: 100%;
}

@media screen and (min-width: 500px) {
	.site-footer .search-form {
		-ms-flex-direction: column;
		flex-direction: column;
	}
	
	.site-footer .search-form label {
		padding-right: 0;
		padding-bottom: .5rem;
	}
	
	.site-footer .search-form .search-submit {
		max-width: 50%;
	}
}

@media screen and (min-width: 980px) {
	.site-footer .search-form {
		-ms-flex-direction: row;
		flex-direction: row;
	}
	
	.site-footer .search-form label {
		padding-right: 10px;
		padding-bottom: 0;
	}
}

/*
 * Column 2 (Subscribe, links)
 */
#footer-widget-2 {
	text-align: center;
}

footer .widget_blog_subscription {
	margin-bottom: 12px;
}

.site-info-network {
	margin: 12px 0 20px;
}

.site-info-generator {
	display: block;
}

/*
 * Column 3 (Map)
 */
#custom_html-11 h4 {
	font-size: 1.6em;
}

.umbrella {
	display: block;
	margin: 30px 0 0 40px;
	width: 170px;
}

/*
 * Column 4 (Jump to top)
 */
#footer-widget-4 {
	position: absolute;
	top: -20px;
	right: 0;
}

#footer-widget-4 #jump-to-top {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-color: #71cad0;
	background-image: url('https://2019.seattle.wordcamp.org/files/2019/06/jump-to-top.png');
	background-size: 30px 30px;
	background-repeat: no-repeat;
	background-position: center center;
}

.site-info {
/* This content is placed in a footer widget instead for styling purposes. */
	display: none;
}