/*!
Theme Name: Hakai Magazine Theme
Theme URI: https://hakaimagazine.com
Description: Theme
Version: 10.0
*/

/**
 * General
 */

body {
	font-family: "garvis-pro", "Georgia", serif !important;
	}
p {
	letter-spacing: 0 !important;
	}

hr:not( .singlepagecontainer hr ) {
	border-top: 1px solid #DEDDD7 !important;
	}

.singlepagecontainer hr:not(hr.fullwidth) {
	width: auto !important;
	height: auto !important;
	background-image: none !important;
	}
.singlepagecontainer hr:not(hr.fullwidth):after {
	content: '';
	display: block;
	width: 50px;
	height: 12px;
	margin: 0 auto;
	background-image: url( '/wp-content/themes/HakaiMagazine/images/dinkus.svg' );
	background-repeat: no-repeat;
	background-size: 100%;
	}

@media screen and ( min-width: 1200px ) {

.container-wide {
	width: 1160px !important;
	max-width: 1160px !important;
	margin: 0 0 0.5em 0 !important;
	margin-left: calc(-580px + 50%) !important;
	}

}

@media screen and ( min-width: 980px ) and ( max-width: 1200px ) {

	.container-wide {
		width: 960px !important;
		margin: 0 0 1em 0 !important;
		margin-left: calc(-480px + 50%) !important;
		max-width: 960px !important;
		}

}


/**
 * Inline video shortcode [videogif]
 */

@media screen and ( min-width: 1200px ) {
	.gif-video.wide {
		width: 1160px !important;
		margin: 0 0 0.5em 0 !important;
		margin-left: calc(-580px + 50%) !important;
		max-width: 1160px !important;
		padding: 0;
		border: none;
		vertical-align: bottom;
	}
}

@media screen and ( min-width: 980px ) and ( max-width: 1200px ) {
	.gif-video.wide {
		width: 960px !important;
		margin: 0 0 1em 0 !important;
		margin-left: calc(-480px + 50%) !important;
		max-width: 960px !important;
		padding: 0;
		border: none;
		height: auto;
		vertical-align: bottom;
	}
}


/**
 * Share Buttons
 */

	.social-sharing h4 {
		margin-top: 0;
		text-align: center;
		}
	.social-sharing > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 6px;
		margin: 0 0 2em 0;
		padding: 0;
		list-style: none;
		}
		.social-sharing > ul > li {
			width: 32px;
			line-height: 32px;
			margin: 0;
			padding: 0;
			text-align: center;
			}
			.social-sharing > ul > li > a {
				display: block;
				width: 32px;
				line-height: 32px;
				border-radius: 50%;
				background: #288093;
				}
			.social-sharing > ul > li > a:hover {
				background: #1e5d6f;
				}
				.social-sharing > ul > li > a > i {
					font-size: 18px;
					color: #fff;
					}

@media all and ( min-width: 980px ) {

.social-sharing:not( .social-icons-horizontal .social-sharing, .one-great-shot .social-sharing ) {
	position: absolute;
	left: calc( 50% - 35px );
	transform: translateX( -338px );
	}
	.social-sharing h4:not( .social-icons-horizontal .social-sharing h4, .one-great-shot .social-sharing h4 ) {
		position: relative;
		left: 16px;
		transform: translateX( -50% );
		}
	.social-sharing > ul:not( .social-icons-horizontal .social-sharing > ul, .one-great-shot .social-sharing > ul ) {
		display: block;
		gap: 0;
		}
		.social-sharing > ul > li:not( .social-icons-horizontal .social-sharing > ul > li, .one-great-shot .social-sharing > ul > li ) {
			display: block;
			margin: 0 0 6px 0;
			}

}


.post-story-social-sharing {
	display: flex;
	align-items: center;
	margin: 0.5em 0;
	}
	.post-story-social-sharing h4 {
		margin: 1em 1em 1em 0;
		}
		.post-story-social-sharing ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: left;
			gap: 6px;
			width: 100%;
			margin: 0;
			padding: 0;
			list-style: none;
			}
			.post-story-social-sharing ul > li {
				width: 32px;
				line-height: 32px;
				margin: 0;
				padding: 0;
				text-align: center;
				}
				.post-story-social-sharing ul > li > a {
					display: block;
					width: 32px;
					line-height: 32px;
					border-radius: 50%;
					background: #288093;
					}
				.post-story-social-sharing ul > li > a:hover {
					background: #1e5d6f;
					}
					.post-story-social-sharing ul > li > a > i {
						font-size: 18px;
						color: #fff;
						}


/**
 * Hero video
 */

.embed-container { 
	position: relative; 
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
} 

.embed-container iframe,
.embed-container object,
.embed-container embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hero-video-caption {
	margin-top: 10px !important;
}


/**
 * Custom front page
 */

.introduction {
	width: 100%;
	padding: 0 2em 0.5em 2em;
	font-family: 'nimbus-sans', 'Arial', sans-serif;
	font-size: 1.3em;
}

@media all and ( max-width: 980px ) {

	.introduction {
		padding: 1em 0;
		font-size: 1.3em;
	}

}

@media all and ( max-width: 480px ) {

	.introduction {
		padding: 0.5em 0;
		font-size: 1.25em;
	}

}

.order-1 {
	order: 1;
}
.order-2 {
	order: 2;
}
aside.frontpagethumbholder.order-1 {
	margin-left: 0 !important;
	margin-right: 30px !important;
}

.cards {
	padding: 1em 0;
}
.image-text {
	padding: 3em 0 0 0;
	}
.cards.red,
.cards.blue,
.image-text.red,
.image-text.blue {
	color: #fff;
}
.cards.red,
.image-text.red {
	background-color: #82080B;
}
.cards.blue,
.image-text.blue {
	background-color: #1E5D6F;
}
.cards.grey,
.image-text.grey {
	background-color: #F3F1ED;
	color: #333;
}

.cards-heading h2,
.image-text-heading h2 {
	font-weight: bold;
}
.cards-subheading h4,
.image-text-subheading h4 {
	margin-top: 0;
	margin-bottom: 1.5em;
}
.image-text .image {
	}
	.image-text img {
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		object-fit: contain;
		}
		.cards-item img {
			width: 100%;
			height: auto;
		}

		.cards.red .buttonlink a,
		.cards.blue .buttonlink a {
			background: #fff;
		}
		.cards.red .buttonlink a {
			color:  #82080B;
		}
		.cards.blue .buttonlink a {
			color: #1E5D6F;
		}

@media all and ( max-width: 980px ) {

	.cards-item {
		aspect-ratio: 16 / 9;
	}
	.cards .frontpagethumbinfo {
		position: absolute;
		height: auto;
		background: linear-gradient( 180deg, rgba( 0, 0, 0, 0 ) 25%, black 100% );
	}

}

.front-page-cta {
	max-width: 1160px;
	margin: 0 auto 2em auto !important;
	justify-content: flex-end;
	}
.cards .front-page-cta {
	margin: 0 auto 1em auto;
	justify-content: flex-end;
	}
.image-text .front-page-cta {
	margin: 0 auto 1em auto;
	}
	.front-page-cta a {
		display: inline-block;
		line-height: 1.8;
		margin-top: 0.5em;
		padding: 0.4em 3em;
		background: #4faabd;
		font-family: "nimbus-sans","Arial",sans-serif;
		text-decoration: none;
		color: #fff !important;
		}

@media all and ( max-width: 1200px ) {

.front-page-cta {
	max-width: 960px;
	}

}


/**
 * Custom gallery layouts
 */

.hakai-gallery {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	width: 100%;
    max-width: 100% !important;
	margin: 0 0 1em 0;
	padding: 0 !important;
	list-style: none;
	}
.hakai-gallery.wide {
	width: 916px;
	max-width: 916px !important;
	margin: 0 0 1em calc( -458px + 50% );
	}
.hakai-gallery.full {
	width: 1160px;
	max-width: 1160px !important;
	margin: 0 0 1em calc( -580px + 50% );
	}
	.hakai-gallery > li {
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: auto;
		position: relative;
		display: block;
		width: calc( 50% - 5px );
		min-width: 0;
		height: auto;
		margin: 0 !important;
		padding: 0 !important;
		}
		.hakai-gallery li img {
			object-fit: cover;
			width: 100%;
			max-width: 100% !important;
			height: 100%;
			margin: 0 !important;
			vertical-align: middle;
			}

@media all and ( max-width: 1200px ) {

	.hakai-gallery,
	.hakai-gallery.wide,
	.hakai-gallery.full {
		width: 1024px;
		max-width: 1024px !important;
		margin: 0 0 1em calc( -512px + 50% );
		}

}

@media all and ( max-width: 1060px ) {

	.hakai-gallery,
	.hakai-gallery.wide,
	.hakai-gallery.full {
		width: 916px;
		max-width: 916px !important;
		margin: 0 0 1em calc( -458px + 50% );
		}

}

@media all and ( max-width: 979px ) {

	.hakai-gallery,
	.hakai-gallery.wide,
	.hakai-gallery.full {
		width: 100%;
		max-width: 100% !important;
		margin: 0 0 1em 0;
		}

}


.hakai-gallery.hakai-gallery-horizontal-1 > li:first-child {
	width: 100%;
	height: auto;
	}

.hakai-gallery.hakai-gallery-horizontal-2 > li:last-child {
	width: 100%;
	height: auto;
	}

.hakai-gallery.hakai-gallery-vertical-1 > li {
	flex-direction: column;
	width: calc( 50% - 5px );
	height: auto;
	}

	.hakai-gallery.hakai-gallery-vertical-1 > li:nth-child(2) > div {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		}

.hakai-gallery.hakai-gallery-vertical-2 > li {
	flex-direction: column;
	width: calc( 50% - 5px );
	height: auto;
	}
.hakai-gallery.hakai-gallery-vertical-2 > li:first-child {
	order: 2;
	}
.hakai-gallery.hakai-gallery-vertical-2 > li:nth-child(2) {
	order: 1;
	}
	.hakai-gallery.hakai-gallery-vertical-2 > li:nth-child(2) > div {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		}


/**
 * Descriptive Text
 */

.descriptive-text {
	padding: 0.25em 0 !important;
	border-top: 3px solid #1e5d6f;
	border-bottom: 3px solid #1e5d6f;
	background: transparent !important;
	}
.singlebydatewords .descriptive-text {
	border: 0 !important;
	}

.descriptive-text.descriptive-text-v2 {
	overflow: hidden;
	padding-top: 0;
	padding-bottom: 0;
	}
	.descriptive-text.descriptive-text-v2 p {
		margin-top: 1em;
		margin-bottom: 1em;
		}
		.descriptive-text.descriptive-text-v2 p img {
			vertical-align: top;
			}
	.descriptive-text.descriptive-text-v2 .pagetitle {
		margin-top: 0.3em;
		margin-bottom: 0.3em;
		font-size: 2.2em;
		}
	.descriptive-text.descriptive-text-v2 .dek {
		margin-top: 0.6em;
		margin-bottom: 0.6em;
		padding: 0;
		font-size: 1.1em;
		}
	.descriptive-text.descriptive-text-v2 .singlebydatewords {
		margin-top: 0;
		margin-bottom: 1em;
		padding: 0;
		color: #494948;
		}


/**
 * hm-embed shortcode for embedded video that normally uses an iframe.
 */

.arve-wrapper {
	width: 100vw !important;
	max-width: 1160px;
	margin-left: 50%;
	transform: translateX( -50% );
	}

@media all and ( max-width: 1200px ) {

.arve-wrapper {
	width: 100vw !important;
	max-width: 960px;
	}

	}

@media all and ( max-width: 980px ) {

	.arve-wrapper {
		width: 100% !important;
		}
	
	}

.arve {
	max-width: 100% !important;
	}


/**
 * Metaslider
 */

.metaslider .flexslider {
	margin: 0 0 60px !important;
	}
.metaslider .flexslider .flex-direction-nav li a {
	top: auto !important;
	bottom: -36px !important;
	height: 27px !important;
	opacity: 1 !important;
	}
.metaslider .flex-direction-nav .flex-prev {
	left: -0 !important;
	}
.metaslider .flex-direction-nav .flex-next {
	right: 0 !important;
	}
.metaslider .flex-control-nav {
	bottom: -37px !important;
	}


/*
 * Donate page.
 */

.page-template-donate .singlepagecontainer {
	width: 100%;
	max-width: 1060px;
	}
	.page-template-donate .singlepagecontainer header {
		position: relative;
		}
		.donate-button.buttonlink {
			display: none;
			}
	.donate-columns {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		gap: 40px;
		margin: 2em 0 40px 0;
		}
		.donate-columns > div:first-child {
			flex-grow: 1;
			flex-basis: 360px;
			}
		.donate-columns > div:last-child {
			flex-grow: 0;
			flex-basis: 425px;
			text-align: center;
			margin-top: 1em;
			}
		.faq {
			position: relative;
			margin-bottom: -30px;
			padding: 3em 0;
			}
			.faq h2 {
				color: #494948 !important;
				}
			.faq-item {
				margin: 2em 0;
				}
			.faq:after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 50%;
				z-index: -1;
				width: 100vw;
				transform: translateX( -50% );
				background: #b2dfb7;
				}
				.faq a, .faq a:visited {
					color: #000;
					text-decoration: underline !important;
					}
				.faq a:hover {
					color: #1e5d6f;
					text-decoration: none !important;
					}

		.page-template-donate .maincontent h1,
		.page-template-donate .maincontent h2 {
			color: #152A2C !important;
			}

@media all and ( max-width: 883px ) {

		.donate-button.buttonlink {
			position: absolute;
			top: -6px;
			right: 40px;
			display: block;
			}
			.donate-button.buttonlink a {
				padding-left: 20px;
				padding-right: 20px;
				}

			.donate-columns > div:last-child {
				display: flex;
				justify-content: center;
				flex-grow: 1;
				}

}

@media only screen and ( min-width: 0 ) and ( max-width: 980px ) {

.page-template-donate .container {
    overflow: visible;
	}

}

@media only screen and ( min-width: 0 ) and ( max-width: 980px ) {

	.page-template-donate .container {
		overflow: visible;
		}
	
}


/**
 * Story metadata
 */

.relatedcontentheader {
	text-align: center !important;
	}
.metadata h3 {
	margin-top: 0;
	font-size: 1.2em;
	text-align: center;
	}
.metadata {
	padding-top: 1.5em !important;
	}

ul.articlecategories {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	width: 100%;
	}
	ul.articlecategories li {
		background: #4faabd;
		}
	ul.articlecategories li:hover {
		background: #1e5d6f
		}
		ul.articlecategories li a {
			display: block;
			padding: 5px 10px 3px 10px;
			color: #fff;
			}

.factedited {
	display: block !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-family: inherit !important;
    font-size: 1em !important;
	}
	.factedited > div {
		margin: 0 0 0.5em 0;
		}
		.factedited p {
			margin: 0.35em 0 0 0 !important;
			font-size: 1em !important;
			}

.postarticle_shareicons {
	margin-top: 1.5em !important;
	}
.main.newssignup {
	margin-bottom: 1em;
	}

/**
 * Author Bio
 */

.authorbio {
	margin-bottom: 2.5em;
	}


/**
 * Story header
 */

header.maincol:not( .single-custom_profile header.maincol ) {
	max-width: 916px;
	margin: 0 auto 2em auto;
	padding: 0 0 0.5em 0;
	border-bottom: 1px solid #DEDDD7;
	}
	header.maincol h1.pagetitle:not( .single-custom_profile header.maincol h1.pagetitle ) {
		margin: 0.5em 0 0.5em 0;
		text-align: left;
		}
	header.maincol h2.dek {
		width: 100%;
		margin: 0 0 1em 0;
		padding: 0;
		border: 0;
		text-align: left;
		}
	header.maincol .singlebyline {
		width: 100%;
		margin: 0 0 0.1em 0;
		padding: 0;
		text-align: left;
		font-size: 1em;
		}
	header.maincol .singlebydatewords {
		width: 100%;
		margin: 0 0 0.5em 0;
		text-align: left;
		}
		.old-post {
			background: transparent !important;
			color: #ba7537 !important;
			font-weight: bold;
			font-family: inherit !important;
			padding: 0 !important;
			margin: 0.1em 0 0 0 !important;
			}


/**
 * Images
 */

.wp-caption-text {
	font-size: 1em !important;
	}

img.size-page-width,
.wp-caption img.size-page-width {
	width: 100vw !important;
	max-width: 2200px !important;
	margin: 0 0 0.5em 50%;
	padding: 0;
	border: none;
	transform: translateX( -50% );
	vertical-align: bottom;
	}
	.wp-caption:has( .size-page-width ) .wp-caption-text {
		width: calc( 100vw - 0.7em - 30px ) !important;
		max-width: calc( 2200px - 0.7em - 30px ) !important;
		margin-left: calc( -50vw + 50% + 15px );
		}

@media screen and ( max-width: 979px ) {

	.wp-caption:has( .size-page-width ) .wp-caption-text {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0;
		}

}

@media screen and ( min-width: 1200px ) {

	.wp-caption:has( .size-large ) .wp-caption-text {
		width: calc( 1160px - 0.7em );
		max-width: calc( 1160px - 0.7em ) !important;
		margin-left: calc( -580px + 50% );
		}

}

@media screen and ( min-width: 980px ) and ( max-width: 1200px ) {

	.wp-caption:has( .size-large ) .wp-caption-text {
		width: calc( 960px - 0.7em );
		max-width: calc( 960px - 0.7em ) !important;
		margin-left: calc( -480px + 50% );
		}

}


/**
 * Audio Player
 */

.audioedition {
	border: 0 !important;
	border-top: 1px solid #DEDDD7 !important;
	margin-bottom: 0.5em !important;
	padding: 0.75em 0 0 0 !important;
}

.controls {
    display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	}
	.play-pause-container,
	.progress-bar-container,
	.volume-control-container {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		}
	.play-pause-container {
		width: 32px;
		}
	.progress-bar-container {
		display: flex;
		flex-grow: 1;
		}
	.volume-control-container {
		width: 20%;
		min-width: 80px;
		}
		.volume-control-container .volume-control {
			}

		.button-play-pause {
			width: 32px !important;
			line-height: 32px !important;
			padding: 0;
			border: 0;
			border-radius: 50%;
			background: #288093;
			text-align: center;
			font-size: 14px;
			}
			.button-play-pause i {
				position: relative;
				top: 1px;
				}
			.button-play-pause .fa-play {
				left: 1px;
				}

		.timer {
			position: relative;
			top: -1px;
			width: 100px;
			white-space: nowrap;
			font-size: 14px;
			text-align: center;
			}
		.progress-bar .player-slider {
			}

		
		.button-volume-mute {
			flex-shrink: 0;
			width: 32px !important;
			line-height: 32px !important;
			padding: 0;
			border: 0;
			background: transparent;
			color: #808080;
			text-align: center;
			font-size: 14px;
			}
			.button-volume-mute i {
				position: relative;
				top: 1px;
				}
			.button-volume-mute .fa-volume-xmark {
				left: -1px;
				}

.player-slider {
	-webkit-appearance: none;
	appearance: none; 
	width: 100%;
	height: 8px;
	cursor: pointer;
	outline: none;
	overflow: hidden;
	border-radius: 4px;
	}
.player-slider::-webkit-slider-runnable-track {
	height: 8px;
	background: #ddd;
	border-radius: 4px;
	}
.player-slider::-moz-range-track {
	height: 8px;
	background: #ddd;
	border-radius: 0;
	}
.player-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none; 
	position: relative;
	top: -1px;
	height: 10px;
	width: 10px;
	background-color: #288093;
	border-radius: 50%;
	border: 1px solid #ddd;
	box-shadow: -404px 0 0 400px #288093;
	}
.player-slider.volume-control::-webkit-slider-thumb {
	background-color: #808080;
	border: 1px solid #ddd;
	box-shadow: -404px 0 0 400px #808080;
	}
.player-slider::-moz-range-thumb {
	position: relative;
	top: -1px;
	height: 8px;
	width: 8px;
	background-color: #288093;
	border-radius: 0;
	border: 1px solid #ddd;
	box-shadow: -404px 0 0 400px #288093;
	}
.player-slider.volume-control::-moz-range-thumb {
	background-color: #808080;
	border: 1px solid #ddd;
	box-shadow: -404px 0 0 400px #808080;
	}



/**
 * Optin Monster
 */

.story-membership-campaign {
	margin-top: 1.5em;
	}

