:root {

  /* Fonts */
  --single-bound: 'ccsinglebound-variable', Impact, Arial Black, sans-serif;
  --roboto: 'Roboto', Tahoma, sans-serif;
	
/*--luckiest-guy: 'Luckiest Guy', Impact, Arial Black, sans-serif;
  --open-sans: 'Open Sans', Tahoma, sans-serif;*/

	/* Colors */
	--white: #FFFFFF;
	--black: #000000;
	--copy: #14171A;
	
	--sky-blue: #ABE1F7;
	--sky-blue-lighter: #CFEEFA;
	--light-blue: #F5FCFE;
	--nav-link-inactive: #C6EBF9;
	--comic-bg: #FFFFFF;

	--medium-blue: #1A8CD8;
	--medium-blue-hover: #1D9BF0;
	--dull-blue: #657786;
	--link-hover: #3FA0CD;

	--red: #F96854;
	--red-hover: #F97E6D;
}

/* Misc Setup */
section, article, aside, header, footer, nav, div, span, a, p, ul, li, form, label, input, button, textarea, img, svg {
  position: relative;
  box-sizing: border-box;
}

@media screen and (max-width: 620px) {
	.hide-on-mobile {
		display: none;
	}
}

@media screen and (min-width: 621px) {
	.show-on-mobile {
		display: none;
	}
}

/* Disable text selection */
.nav-link, .nav-btn, .btn {
	user-select: none;
}

html {
	min-height: 100vh;
	height: auto;
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	height: 100%;
	font-family: var(--roboto);
	font-size: 18px;
	line-height: 28px;
	color: var(--copy);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: var(--medium-blue);
	/* Gradient goes down to where the footer begins: */
	/*background-image: linear-gradient(var(--sky-blue) 0px, var(--sky-blue-lighter) 550px);*/
}

/* Inner Content Columns */
.inner-column {
	margin: 0 auto;
	padding: 0 16px;
	max-width: 1032px; /* 1000px + 16px padding on either side */
}

.inner-column--narrow {
	max-width: 720px;  /* 688px + 16px padding on either side */
}

/* Typography */
.centered {
	text-align: center;
}

.light {
	color: var(--white);
}

.blue {
	color: var(--dull-blue);
}

h1, h2, h3, h4, h5, h6 {
	position: relative;
	margin: 0 0 1em;
	font-family: var(--single-bound);
	color: var(--black);
	text-transform: uppercase;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	transition: color .2s ease;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
	color: var(--link-hover);
}

h1 {
	margin-bottom: 8px;
	font-size: 40px;
	line-height: 48px;
	text-transform: uppercase;
}

h2 {
	margin-bottom: 12px;
	font-size: 40px;
	line-height: 46px;
	text-transform: uppercase;
}

h2.with-line {
	z-index: 1;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3px;
	max-width: 1000px;
	/* max-width: calc(100% - 90px); */
	text-align: center;
	overflow: hidden;
	display: block;
	color: var(--white);
}

h2.with-line:before, h2.with-line:after {
	position: absolute;
	top: calc(50% - 4px);
	width: 50%;
	z-index: -1;
	content: '';
	height: 2px;
	overflow: hidden;
	display: inline-block;
	background: var(--white);
}

h2.with-line:before {
	margin-left: calc(-50% - 32px);
	text-align: right;
}

h2.with-line:after {
	margin-left: 32px;
}

h2.with-line.with-line--mb {
	/*margin-bottom: 14px;*/
}

@media screen and (max-width: 1120px) {
	h2.with-line {
		margin-left: 64px;
		margin-right: 64px;
	}
}

@media screen and (max-width: 980px) {
	h2.with-line {
		max-width: 688px;
		margin-left: auto;
		margin-right: auto;
	}
	
	h2.with-line.with-line--mb {
	margin-bottom: 0px;
}
	
	h2.with-line:before {
		margin-left: calc(-50% - 16px);
	}

	h2.with-line:after {
		margin-left: 16px;
	}
}

@media screen and (max-width: 480px) {

body {
	font-size: 18px;
	line-height: 28px;
}
	
	h2:not(.with-line) {
		margin-bottom: 9px;
	}

	h2.with-line:before, h2.with-line:after {
		top: calc(50% - 3px);
	}

	h2.with-line:before {
		margin-left: calc(-50% - 16px);
	}
	
	h2.with-line:after {
		margin-left: 16px;
	}
}

p + h2 {
	padding-top: 8px;
}

h3 {
	margin-bottom: 15px;
	font-size: 21px;
	/*line-height: 32px;*/
    line-height: 30px;
}

h4 {
	margin-bottom: 15px;
	font-size: 16px;
	/*line-height: 22px;*/
    line-height: 21px;
}

p {
	margin: 0 0 20px;
}

figure {
	margin: 0 0 32px;
	padding-top: 8px;
}

figure img {
	display: block;
}

.banner {
	/*margin: 0 auto 18px;
	padding: 25px 15px 0;
	max-width: 1030px;*/
	margin: -28px -24px 28px;
}

.banner img {
	width: 100%;
	display: block;
	border-radius: 16px 16px 0 0;
}

.banner--full-bleed {
	margin: -104px 0 -33px;
	padding: 0;
	max-width: initial;
	height: 540px;
}

.banner--full-bleed img {
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border-radius: 0;
}

hr {
	margin: 32px 0;
	padding: 0;
	height: 22px;
	border: none;
	outline: none;
	display: block;
	background: url('../images/horizontal-rule.svg') center center no-repeat;
}

img {
	max-width: 100%;
}

@media screen and (max-width: 720px) {

	.banner {
		margin: -20px -16px 20px;
	}
	
	.banner--full-bleed {
		margin: -88px 0 -24px;
		height: 320px;
	}
	
	h1 {
		font-size: 40px;
		line-height: 44px;
	}

	h2 {
		font-size: 32px;
		line-height: 36px;
	}

	h3 {
		font-size: 20px;
		/*line-height: 28px;*/
        line-height: 26px;
	}

	hr {
		margin: 23px 0 23px;
	}

	figure {
		margin: 0 0 34px;
		padding-top: 11px;
	}

}

@media screen and (max-width: 480px) {

	.banner {
		/*margin: 0 auto 11px;
		padding: 5px 0 0;
		width: 100%;*/
	}

	.banner--full-bleed {
		height: 240px;
	}
}

ul.checkmarks {
	margin: 0 auto 26px;
	padding: 6px 0 0;
	max-width: 437px;
	text-align: left;
	list-style-type: none;
}

ul.checkmarks li {
	margin: 0 0 10px;
	padding: 0 0 0 27px;
	background: url('../images/icon-check-blue.svg') 0 6px no-repeat;
	background-size: 17px 18px;
}

@media screen and (max-width: 480px) {
	ul.checkmarks {
		margin: 0 0 21px;
		padding-top: 1px;
		max-width: initial;
	}
	
}

.rich-text-content a:not(.btn), .comic__description a:not(.btn) {
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease;
	color: var(--medium-blue);
}

.rich-text-content a:not(.btn):before, .comic__description a:not(.btn):before {
	position: absolute;
	left: -1px;
	right: -1px;
	bottom: -1px;
	content: '';
	height: 1px;
	opacity: 0;
	pointer-events: none;
	display: inline-block;
	background: var(--medium-blue-hover);
	transition: opacity .2s ease;
}

.rich-text-content a:not(.btn):hover, .comic__description a:not(.btn):hover {
	text-decoration: none;
	color: var(--medium-blue-hover);
}

.rich-text-content a:not(.btn):hover:before, .comic__description a:not(.btn):hover:before {
	opacity: 1;
	color: var(--medium-blue-hover);
}

/* Clouds */
.clouds {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	height: 160px;
	width: 100%;
	background: url('../images/clouds.svg') center top repeat-x;
}

@media screen and (max-width: 720px) {
	.clouds {
		height: 94px;
		background-size: 750px auto;
	}
}

/* Nav */
#nav {
	top: 14px;
	z-index: 1000;
	margin: 0 auto 52px; /*Bottom margin has to compensate for the top 14px position.*/
	padding: 0 2px 0 8px;
	max-width: 1000px;
	height: 52px;
	border-radius: 32px;
	justify-content: space-between;
	align-items: center;
	display: flex;
	background: #000000;
	/*background: url('../images/nav-bg.svg') center top no-repeat;*/
}

.logo {
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	height: 64px;
}

.logo img {
	display: inline-block;
}

.nav-links {
	height: 100%;
	display: flex;
	padding-left: 10px;
}

/* Nav Links */
.nav-link {
	padding: 16px 12px 11px;
	font-family: var(--single-bound);
	text-transform: uppercase;
	font-size: 16px;
	line-height: 22px;
	text-decoration: none;
	color: var(--nav-link-inactive);
	transition: color .2s ease;
}

.nav-link svg {
	top: 1px;
	margin: -6px 1px 0 0;
	display: inline-block;
}

.nav-link svg #icon-store-fill {
	transition: fill .2s ease;
}

.nav-link--active {
	color: var(--light-blue);
}

.nav-link:hover {
	color: var(--white);
}

.nav-link:hover svg #icon-store-fill, .nav-link--active svg #icon-store-fill {
	fill: var(--white);
}

/* Mobile Header */
#mobile-header {
	z-index: 1100;
	padding: 16px 16px 0;
	height: 88px;
	/*justify-content: space-between; FOR PATREON ICON*/
	justify-content: flex-end; /*FOR MENU ICON ONLY*/
	align-items: flex-start;
	display: none;
}

#mobile-header .logo {
	top: 8px;
	transition: opacity .35s ease, filter .35s ease;
}

/* Mobile Nav Toggle Button */
.mobile-nav-btn {
	margin: 0;
	padding: 0;
	text-decoration: none;
	line-height: 0;
	border: none;
	border-radius: 0;
	outline: none;
	cursor: pointer;
	display: inline-block;
	background: none;
	-webkit-appearance: none;
}

.mobile-nav-btn svg {
	height: 48px;
	width: 48px;
}

.icon-open-menu {
	display: inline-block;
}

.icon-close-menu {
	display: none;
}

body.nav-open .icon-open-menu {
	display: none;	
}

body.nav-open .icon-close-menu {
	display: inline-block;
}

@media screen and (max-width: 720px) {
	
	#mobile-header {
		display: flex;
	}
}

/* Nav Button */
.nav-btn {
	padding: 13px 28px 10px;
	height: 46px;
	font-family: var(--single-bound);
	font-size: 16px;
	line-height: 22px;
	text-decoration: none;
	color: var(--white);
	border-radius: 25px;
	display: inline-block;
	background: var(--red);
	transition: background-color .2s ease;
}

.nav-btn:hover {
	background-color: var(--red-hover);
}

.patreon-logo {
	top: 4px;
	margin: -7px 7px 0 0;
	display: inline-block;
}

.patreon-logo--sm {
	top: initial;
	margin: 0;
}

#nav .social-icons {
	display: none;
}

/* Mobile Nav Styles */
@media screen and (max-width: 1128px) {

	#nav {
		margin-left: 64px;
		margin-right: 64px;
		max-width: calc(100% - 128px);
	}
	
	.comic-grid-section {
		padding-left: 16px;
		padding-right: 16px;
}
}

@media screen and (max-width: 720px) {

	#nav {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 1200;
		margin: 0;
		padding: 8px;
		width: 300px;
		height: auto;
		border-radius: 0;
		flex-direction: column;
		justify-content: flex-start;
		transform: translate3d(100%, 0, 0);
		background: var(--black);
	}

	body {
		transition: transform .4s ease;
	}
	
	body.nav-open {
		position: fixed;
		width: 100%;
		overflow-y: hidden;
		transform: translate3d(calc(-300px), 0, 0);
	}

	body.nav-open #mobile-header .logo {
		opacity: 0.6;
		filter: grayscale(20%);
	}

	body:before {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1000;
		content: '';
		opacity: 0;
		pointer-events: none;
		display: block;
		background: rgba(0,0,0,0.2);
		transition: .35s opacity ease;
	}

	body.nav-open:before {
		opacity: 1;
	}

	#nav .logo {
		position: relative;
		top: auto;
		left: auto;
		transform: initial;
	}

	.nav-links {
		margin: 16px;
		width: 100%;
		height: auto;
		flex-direction: column;
		padding-left: 0px;
	}

	.nav-link {
		padding: 16px 15px 14px;
		width: 100%;
		text-align: center
	}

	.nav-btn {
		padding: 15px 28px 9px;
		height: 50px;
	}

	#nav .social-icons {
		/*padding-top: 30px; Add this back in for the Patreon button.*/
		display: flex;
	}
}

@media screen and (max-width: 380px) {
	
	#nav {
		width: calc(100% - 80px);
		/* transform: translate3d(100%, 0, 0); */
	}
	
	body.nav-open {
		transform: translate3d(calc(-100% + 80px), 0, 0);
	}
}

@media screen and (max-width: 340px) {
	.patreon-logo {
		display: none;
	}
}

/* 
	Content Wrapper: The content should at least be the height of the
	browser window, minus the header and footer heights.
*/
.content-wrapper {
	min-height: calc(100vh - 454px); 
}

@media screen and (max-width: 980px) {
	.content-wrapper {
		min-height: calc(100vh - 407px); 
	}
	
	#nav {
		max-width: 688px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.nav-link {
		padding-left: 12px;
		padding-right: 12px;
}
	
}

@media screen and (max-width: 720px) {
	.content-wrapper {
		min-height: calc(100vh - 391px); 
	}
	
}

/* Feature Comic */
.feature-comic-section {
	margin: 0;
}

.feature-comic-wrapper {
	padding: 8px;
	border-radius: 16px;
	background: var(--white);
}

.feature-comic {
	/*padding: 0 2.3%;*/
    padding: 3px 2.3%;
}

.comic__info {
	padding: 11px 0 15px 0;
	display: block;
}

.feature-comic .comic__title, .feature-comic .comic__metadata {
	width: calc(100% - 65px);
}

.feature-comic .comic__info {
	padding: 0 0 16px 0;
}

.comic__info--has-print-icon .feature-comic .comic__title,
.comic__info--has-print-icon .feature-comic .comic__metadata,
.feature-comic .comic__info.comic__info--has-print-icon .comic__title,
.feature-comic .comic__info.comic__info--has-print-icon .comic__metadata {
	width: calc(100% - 120px);
}

.comic__title {
	margin-top: -3px;
	margin-bottom: 0;
	/*display: inline-block;*/ /*This caused multi-line titles to be out of alignment.*/
	transition: color .2s ease;
}

.comic__metadata {
	top: 4px;
	font-size: 14px;
	line-height: 18px;
	color: var(--dull-blue);
	display: block;
}

.feature-comic .comic__metadata {
	/*top: 2px;*/
    top: -1px;
}

.comic__share-btn {
	position: absolute;
	/*top: 2px;*/
    top: -1px;
	/*right: 0;*/
    right: -1px;
	margin-bottom: 16px;
	text-decoration: none;
	line-height: 0;
	border-radius: 50%;
}

.comic__share-btn svg {
	/*width: 48px;
	height: 48px;*/
	pointer-events: none;
}

.comic__share-btn a {
	transition: transform .2s ease;
}

.comic__share-btn:hover svg #oval {
	fill: var(--medium-blue-hover) !important;
}

.comic__print-btn {
	position: absolute;
	/*top: 2px;*/
    top: -1px;
	/*right: 56px;*/
    right: 55px;
	text-decoration: none;
	line-height: 0;
	border-radius: 50%;
}

.comic__print-btn:hover #oval {
	fill: var(--medium-blue-hover) !important;
}

.comic__print-btn #oval, .comic__share-btn svg #oval {
    transition: fill .2s ease;
}

.comic__share-btn--active #oval, .comic__share-btn--active svg #oval {
	fill: var(--medium-blue-hover);
}

.comic__img {
	width: 100%;
	display: block;
}

.comic__description {
	margin-bottom: -16px;
	padding-top: 16px; 
}

.mobile-comic-description {
	display: none;
}

.link-show-full-description {
    display:inline-block;
}

/* Share Widget (AddToAny) */
.share-options-dropdown {
	position: absolute;
	/*top: 3px;*/
    top: 0px;
	right: 56px;
	z-index: 100;
	padding: 8px 8px 6px;
	border-radius: 24px;
	display: none;
	background: var(--black);
}

.share-options-dropdown:after {
	position: absolute;
	top: 19px;
	right: -11px;
	z-index: 10;
	content: '';
	border: 6px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: var(--black);
	display: block;
}

.share-options-dropdown--visible {
	display: block;
}

.share-options-dropdown svg {
	height: 32px;
	width: 32px;
}

/*.share-options-dropdown a {
	transition: opacity .2s ease;
}

.share-options-dropdown a:hover {
	opacity: 0.90;
}*/

/* Comic Grid */
.comic-grid-section {
	padding: 56px 0px 32px;
}

.feature-comic-section + .comic-grid-section {
	padding-top: 56px;
}

.comic-grid-section--archive {
	padding-bottom: 60px;
}

.comic-grid-section + .cta-section {
	margin-top: -170px;
}

.comic-grid-section--home-comic-page + .cta-section {
	/*margin-top: -120px; With button. Also change line 884.*/
	margin-top: -170px;
}

.comic-grid {
	margin: 0 auto;
	padding: 16px 48px 0;
	max-width: 1128px;
	justify-content: flex-start;
	flex-wrap: wrap;
	display: flex;
}

.comic-grid__item {
	margin: 0 16px 32px;
	padding: 8px;
	width: calc(33.33% - 32px);
	background: var(--white);
	border-radius: 16px;
}

.comic-grid__img {
	padding-top: 100%;
	width: 100%;
	height: 0;
	display: block;
	background-color: var(--comic-bg);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
}

.comic-grid__item--link {
	text-decoration: none;
	color: initial;
	transition: box-shadow .2s ease, transform .2s ease;
}

.comic-grid__item--link:hover {
	box-shadow: 0px 8px 0px rgba(0,0,0,0.25);
	transform: translateY(-8px);
}

.comic-grid__item--link:hover .comic__title {
	color: var(--link-hover);
}

.comic-grid__item .comic__title {
	transition: color .2s ease;
}

.comic-grid__item .comic__info {
	/*padding: 6px 4% 11px;*/
    padding: 0px 5.2% 16px;
}

@media screen and (max-width: 980px){
	
	.comic-grid__item {
		width: calc(33.33% - 16px);
		margin: 0 8px 16px;
}
}

@media screen and (max-width: 720px) {

	.feature-comic-section {
		padding: 0;
	}
	
	.feature-comic {
		padding: 1% 2.3% 0px;
	}
	
	.comic-grid {
		padding: 16px 16px 0;
		flex-direction: column;
	}
	
	.comic__share-btn {
		top: 2px;
	}

	.comic__print-btn {
		top: 2px;
	}
	
	.share-options-dropdown {
		top: 3px;
	}
	
	.comic-grid-section {
		padding-left: 16px;
		padding-right: 16px;
	}
	
	.comic-grid__item {
		margin: 0 0 16px;
        padding: 6px;
		width: 100%;
		align-items: flex-start;
		display: flex;
	}
	
	.comic-grid__img {
		padding-top: 50%;
		width: 50%;
	}

	.comic-grid__item .comic__title {
		margin-top: 4px;
	}

/*	.comic-grid__item .comic__info {
		padding: 1.5% 8px 0px;
		width: 50%;
	}*/

	.feature-comic-section + .comic-grid-section {
		padding-top: 40px;
		max-width: 720px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 480px) {
	
	.feature-comic {
		/*padding: 3% 2.3% 0px;*/
        padding: 3.5% 2.3% 0px;
	}

	.comic__share-btn {
		/*top: -1px;*/
        top: -2px;
	}

	.comic__print-btn {
		/*top: -1px;*/
        top: -2px;
	}
	
	.share-options-dropdown {
		/*top: 0px;*/
        top: -1px;
	}
	
	.comic-grid-section + .cta-section {
		margin-top: -80px;
	}

	.comic-grid-section--home-comic-page + .cta-section {
		/*margin-top: -25px; With button. Also change line 796.*/
		margin-top: -65px;
	}

	.comic-grid {
		margin-bottom: 15px;
	}
	
	.comic-grid-section {
		padding: 40px 16px 16px;
	}
	
	.comic-grid__item {
		margin: 0 0 16px;
        padding: 7px;
	}
	
	.comic-grid__item .comic__title {
		margin-top: 0px;
    }
}

/* Comic Nav */
.comic-nav-wrapper.mobile {
	margin-top: 16px;
	display: none;
}

.comic-nav {
	position: fixed;
	top: 324px;
	width: 64px;
	height: 312px;
	text-decoration: none;
	border: 2px solid var(--white);
	flex-direction: column;
	justify-content: center;
	display: flex;
	background-color: var(--light-blue);
	background-position: center center;
	background-repeat: no-repeat;
	/*transition: background-color .2s ease;*/
    transition: filter .2s ease, background-color .2s ease;
}

.comic-nav:hover {
    filter: brightness(1.11);
}

@media screen and (min-width: 981px) {
	body.comic-nav-stopped .comic-nav {
		position: absolute;
		top: initial;
		bottom: 252px;
	}
}

.comic-nav:not(.comic-nav--inactive):hover {
	background-color: var(--white);
}

.comic-nav--inactive {
	pointer-events: none;
	cursor: default;
	opacity: 0.25;
	/*filter: grayscale(75%) brightness(175%)*/
}

.comic-nav--prev {
	left: 0;
	border-left-width: 0;
	border-radius: 0 16px 16px 0;
	background-image: url('../images/icon-arrow-left.svg');
}

.comic-nav--next {
	right: 0;
	border-right-width: 0;
	border-radius: 16px 0 0 16px;
	background-image: url('../images/icon-arrow-right.svg');
}

@media screen and (max-width: 980px) {
	
	.feature-comic .comic__metadata {
		top: 2px;
	}

	.main-comic-description--hidden {
		display: none;
	}
	
	.mobile-comic-description--visible {
		display: block;
	}

	.feature-comic-section {
		margin: 0;
		/*padding: 10px 0 0;*/
	}
	
	.comic {
		margin: 0 0 32px;
		padding: 5px 0 0;
	}
	
	.comic__title {
		/*margin-top: 0;*/
	}

	.comic__description {
		margin-bottom: -2px;
		padding-top: 16px; 
	}

	.comic__description p:last-of-type {
		margin-bottom: 0;
	}

	.comic-nav-wrapper {
		margin: 0 auto;
		max-width: 720px;
	}

	.comic-nav-wrapper.desktop .comic-nav {
		display: none;
	}

	.comic-nav-wrapper.mobile {
		display: flex;
	}

	.comic-nav {
		position: relative;
		top: initial;
		left: initial;
		right: initial;
		width: calc(50% - 16px);
		height: 48px;
		/*border: none;*/
		display: inline-block;
		/*background-color: var(--white);*/
	}

	.comic-nav--inactive {
		opacity: 0.25;
		/*filter: grayscale(75%) brightness(175%);*/
	}

	.comic-nav--prev {
		margin-left: 16px;
		margin-right: 1px;
		border-radius: 24px 0 0 24px;
		background-image: url('../images/icon-arrow-left--sm.svg');
	}

	.comic-nav--next {
		margin-left: 1px;
		margin-right: 16px;
		border-radius: 0 24px 24px 0;
		background-image: url('../images/icon-arrow-right--sm.svg');
	}
	
	.comic-grid {
		max-width: 704px;
		padding-left: 0px;
		padding-right: 0px;
	}
	
	.comic-grid__item .comic__info {
		/*padding: 9px 4% 8px;*/
        padding: 5px 5.2% 11px;
	}
	
}

/* CTA Section */
.cta-section {
	padding: 0 0 16px;
	background: var(--light-blue);
}

.cta-section:before, .cta-section:after {
	position: absolute;
	left: 0px;
	right: 0px;
	content: '';
	display: block;
	background-position: center top;
	/*background-repeat: repeat-x;*/
}

.cta-section:before {
	top: -19px;
	height: 19px;
	background-image: url('../images/cta-section-bg--top.svg');
	background-size: cover;
}

.cta-section:after {
	bottom: -18px;
	height: 18px;
	background-image: url('../images/cta-section-bg--bottom.svg');
}

.cta-section__icon {
	margin: -19px 0 10px;
}

/* Special version of the newsletter section */
.cta-section--end-of-page {
	top: 204px;
	margin-top: -204px;
	padding: 0 0 180px;
	background: var(--light-blue)
}

.cta-section--end-of-page:after {
	display: none;
}

.cta-success {
	display: none;
}

.cta-success__icon {
	margin: 9px 0 10px;
	display: inline-block;
}

@media screen and (max-width: 480px) {

	.cta-section {
		padding: 0 0 18px;
	}

	.cta-section:before {
		top: -14px;
		height: 14px;
		background-image: url('../images/cta-section-bg--top--mobile.svg');
	}
	
	.cta-section:after {
		bottom: -12px;
		height: 12px;
		background-image: url('../images/cta-section-bg--bottom--mobile.svg');
	}
	
	.cta-section__icon {
		margin: -14px 0 11px;
		width: 64px;
	}

	/* Special version of the newsletter section */
	.cta-section--end-of-page {
		top: 80px;
		margin-top: -80px;
		padding: 0 0 76px;
	}
}

/* Buttons */
.btn {
	padding: 14px 24px 12px;
	font-family: var(--single-bound);
	font-style: normal;
	font-size: 16px;
	line-height: 22px;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	color: var(--white);
	border: none;
	border-radius: 24px;
	outline: none;
	cursor: pointer;
	display: inline-block;
	background: var(--medium-blue);
	transition: color .2s ease, background-color .2s ease;
}

/* .btn[type="submit"] {
	padding-top: 17px;
} */

.btn:hover, .btn--active {
	background-color: var(--medium-blue-hover);
}

/* Bordered Buttons */
.btn--bordered {
	padding: 12px 24px 10px;
	color: var(--light-blue);
	border: 2px solid var(--white);
	background-color: transparent;
}

.btn--bordered:hover {
	color: var(--white);
	background-color: var(--white);
}

/* Filter Buttons */
.btn--filter {
	margin: 0 4px 8px;
	padding: 12px 24px 10px;
	color: var(--white);
	border: 2px solid var(--white);
	background-color: transparent;
}

.btn--filter:hover {
	color: var(--white);
	background-color: rgba(255,255,255,0.25);
}

.btn--filter--active, .btn--filter--active:hover {
	color: var(--medium-blue);
	background-color: var(--white);
}

/* Button Modifiers */
/* Only wide on mobile (full-width) */

.btn--wide {
	/*min-width: 312px;*/
	margin: 0 auto;
	width: calc(33.33% - 32px);
	color: var(--medium-blue);
	background: var(--light-blue);
}

.btn--wide:hover {
	color: var(--medium-blue-hover);
	background: var(--white);
} 

@media screen and (max-width: 1128px) {
	
	.btn--wide {
		max-width: 100%;
}
	
}

@media screen and (max-width: 980px) {
	
	.btn--wide {
		width: 688px;
	}
	
}

@media screen and (max-width: 720px) {
	
	.btn--wide {
		width: 100%;
	}
	
}

@media screen and (max-width: 480px) {

	.check-btn {
		padding: 0;
		width: 50px;
		min-width: initial;
		height: 50px;
		font-size: 0;
		background-repeat: no-repeat;
		background-position: center center;
		background-image: url('../images/icon-check.svg');
	}
	
}

@supports (-webkit-touch-callout: none) {
    
    /*Padding discrepancy between desktop and mobile.*/
    
    /* Buttons */
    .btn {
	    padding: 15px 24px 11px;
    }

    /* Bordered Buttons */
    .btn--bordered {
	    padding: 13px 24px 9px;
    }

    /* Filter Buttons */
    .btn--filter {
	    padding: 13px 24px 9px;
    }
    
    /*End padding discrepancy.*/
    
}

/* Form Inputs */
.input-field {
	margin: 0 0 16px;
  padding: 8px 16px 8px;
	width: 100%;
	min-width: 0;
	height: 48px;
  font-family: var(--roboto);
  font-size: 18px;
  line-height: 28px;
  color: var(--copy);
  word-break: normal;
  border: 2px solid var(--dull-blue);
  border-radius: 24px;
  box-shadow: none;
  outline: none;
  display: inline-block;
	background: var(--white);
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: color .2s ease, border-color .2s ease;
}

.input-field::placeholder {
	font-weight: 100;
	color: var(--dull-blue);
}

/* Forms */
.newsletter-form {
	padding: 8px 0 0;
}

.newsletter-form .btn {
	margin-left: 8px;
	flex-shrink: 0;
}

.newsletter-form .formkit-fields {
	align-items: flex-start;
	display: flex;
}

.formkit-field {
	flex-grow: 1;
}

.newsletter-form .formkit-field:nth-of-type(2) {
	margin-left: 8px;
}

.formkit-alert-error {
	margin: 8px 0 45px;
}

.formkit-alert-success {
	margin: 8px 0 45px;
}

@media screen and (max-width: 600px) {

	.newsletter-form .formkit-fields {
		flex-direction: column;
		align-items: center;
	}

	.newsletter-form .formkit-field {
		width: 100%;
		/*width: 320px;*/
	}

	.newsletter-form .formkit-field:nth-of-type(2) {
		margin-left: 0;
	}

	.newsletter-form {
		padding: 2px 0 0;
	}
	
	.newsletter-form .btn {
		margin-left: 0px;
		width: 100%;
	}
}

/* Character Filters */
.filter-expand-link {
	margin: -5px 0 8px;
	text-decoration: none;
	text-align: center;
	color: var(--medium-blue);
	display: none;
}

.filter-expand-link h4 {
	margin: 0;
	color: var(--white);
	display: inline-block;
}

.filter-expand-link img {
	position: absolute;
	top: 1px;
	right: 13px;
	display: inline-block;
	transition: transform .2s ease;
}

.filter-expand-link--active img {
	transform: rotate(-45deg);
}

.character-filters {
	margin: 0;
}

.character-filters h3 {
	margin-bottom: 12px;
	color: var(--white);
}

.character-filter-list {
	font-size: 0;
}

.character-filters + .comic-grid-section {
	padding-top: 32px;
}

.no-results {
	padding: 48px 0 184px;
}

.no-results img {
	margin-bottom: 17px;
}

.no-results.hidden {
	display: none;
}

@media screen and (max-width: 480px) {

	.filter-characters-title {
		display: none;
	}

	.filter-expand-link {
		display: block;
	}

	.character-filters {
		/*padding: 20px 0 0;*/
	}

	.character-filter-list {
		padding-top: 10px;
		display: none;
	}
	
	.character-filter-list--open {
		display: block;
	}

	.character-filters h3 {
		margin-bottom: 18px;
	}
	
	.character-filters + .comic-grid-section {
		padding-top: 26px;
		padding-bottom: 28px;
	}

	.no-results {
		padding: 10px 0 79px;
	}

	.no-results img {
		margin-bottom: 9px;
		width: 70px;
	}
}

/* Inner Page with Background (white) */
.inner-page-with-bg {
	margin: 0 auto;
	padding: 64px 24px 1px;
	max-width: 688px;
	/*background: url('../images/inner-page-bg.png') center top no-repeat;*/
	background: var(--white);
	background-size: 100% 100%;
	border-radius: 16px;
}

.inner-page-with-bg .cta-section__icon {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
}

.newsletter-card-wrapper {
	margin: 0 16px;
	padding: 43px 0 48px;
}

@media screen and (max-width: 720px) {

	.newsletter-card-wrapper {
		padding-top: 55px;
	}
	
	.comic-grid__item .comic__info {
		/*padding: 1.5% 8px 0px;*/
        padding: 2% 8px 0px;
		width: 50%;
	}
}

@media screen and (max-width: 480px) {

	.newsletter-card-wrapper {
		padding: 0 0 24px;
	}
	
	.inner-page-with-bg {
		padding: 32px 16px 1px;
		min-height: initial;
		/*background: none;*/
	}

	.inner-page-with-bg .cta-section__icon {
		display: none;
	}
}

/* Rich Text Content */
.rich-text-content {
	/*padding-top: 40px;
	padding-bottom: 22px;*/
	padding: 28px 24px 24px;
	margin-bottom: 24px;
	background: var(--white);
	border-radius: 16px;
	max-width: 688px;
}

.rich-text-content .btn {
	margin-top: 16px;
	margin-right: 8px;
	min-width: 160px;
}

.rich-text-content .centered .btn {
	margin-left: 4px;
	margin-right: 4px;
}

.rich-text-content .btn--bordered {
	padding: 13px 28px 9px;
	color: var(--medium-blue);
	border: 2px solid var(--medium-blue);
	background-color: transparent;
}

.rich-text-content .btn--bordered:hover {
	color: var(--white);
	border: 2px solid var(--medium-blue-hover);
	background-color: var(--medium-blue-hover);
}

/* Article Byline */
.byline {
	/*margin: 0 0 25px;
	padding: 6px 21px 0 12px;
	min-width: 190px;
	height: 30px;
	display: inline-block;
	background: url('../images/byline-bg.svg') 0 center no-repeat;
	background-size: cover;*/
	font-size: 14px;
	line-height: 18px;
	color: var(--dull-blue);
}

.byline__sep {
	margin: 0 4px 0 3px;
	display: inline-block;
}

h1 + .byline {
	top: -12px;
	margin-bottom: 12px;
}

.byline + p {
	margin-top: 6px;
}

@media screen and (max-width: 720px) {

.rich-text-content {
	margin: 0 16px 24px;
	padding: 20px 16px 16px;
}
	
}

@media screen and (max-width: 480px) {
	
	.rich-text-content {
		padding-bottom: 1px;
	}
	
	.rich-text-content .centered .btn {
		/*margin-top: 11px;*/
		width: 100%;
		margin-left: 0px;
		margin-right: 0px;
	}
	
	h1 + .byline {
		top: -10px;
		margin-bottom: 14px;
	}
}

/*
	Footer: The background image is in PNG (2x) format because the SVG image with
	all of the blurring resulted in a very faded image, which was particularlly
	awful in Safari.
*/
#footer {
	height: 350px;
	background-image: url('../images/footer-background.png');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 1850px auto;
}

.footer-foreground {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('../images/footer-foreground-tile.svg');
	background-repeat: repeat-x;
	background-position: calc(50% + 199px) bottom;
	background-size: auto 250px;
}

.footer__content {
	padding-top: 180px;
	z-index: 20;
}

.footer__text {
	padding: 4px 0 0;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	color: var(--white);
}

.footer__text p {
	margin-bottom: 8px;
}

.footer__text a {
	text-decoration: none;
	color: var(--white);
}

.footer__text a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 980px) {

	#footer {
		height: 303px;
		background-size: auto 84px;
	}

	.footer-foreground {
		background-image: url('../images/footer-foreground-tile--sm.svg');
		background-position: calc(50% + 74px) bottom;
		background-size: auto 244px;
	}

	.footer__content {
		padding-top: 118px;
	}
}

.social-icons {
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	display: flex;
}

.social-icons a {
	margin: 0 8px 16px;
	text-decoration: none;
	line-height: 0;
	display: inline-block;
}

.social-icons img {
	z-index: 1;
	display: inline-block;
}

.social-icons svg {
	height: 48px;
	width: 48px;
}

/* White fill over icons on hover */
.overlay-on-hover:before {
	position: absolute;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
	z-index: 2;
	content: '';
	border-radius: 50%;
	opacity: 0;
	display: inline-block;
	background: var(--white);
	transition: opacity .2s ease;
}

.overlay-on-hover:hover:before {
	opacity: 0.15;
}

.fill-white-on-hover .shape-icon {
	transition: opacity .2s ease;
}

.fill-white-on-hover .white-fill {
	transition: fill .2s ease;
}

.fill-white-on-hover:hover .white-fill {
	fill: var(--white);
}

.fill-white-on-hover:hover .shape-icon {
	opacity: 0.85;
}

/*.comic__share-btn--active .fill-white-on-hover .white-fill {
	fill: white;
}

.comic__share-btn--active .fill-white-on-hover .shape-icon {
	opacity: 0.85;
}*/

.filterable-comic-item {
	display: none;
}

.filterable-comic-item.visible {
	display: block;
}

@media screen and (max-width: 720px) {
	.filterable-comic-item.visible {
		display: flex;
	}
}

.filterable-comic-year.hidden {
	display: none;
}