/*
Theme Name: FSU Film Handbook
Description: Child theme for the FSU Film Handbook.
Author: FSU College of Motion Picture Arts
Template: kouki
Version: 1.0
*/

/* ==========================================================
FSUFILM HANDBOOK CUSTOM CSS
Loads after theme style.css

Organization Philosophy:
- Desktop styles first
- Responsive overrides at bottom
- Rules grouped by UI component rather than HTML element
- Responsive sections mirror desktop section structure

Breakpoint Guide:
1200px = large desktop
900px  = tablet landscape
700px  = tablet portrait
600px  = large phone
450px  = small phone
========================================================== */



/*-----------------------------------------------------------
   DESKTOP
-----------------------------------------------------------*/


/* Global Layout
---------------------------------------------------------- */

body,
main {
	background: rgba(22, 22, 22, 1.0);
}

.hentry__inside {
	max-width: 650px;
	min-height: 900px;
}

article.tag-wide .hentry__inside {
	max-width: 1000px;
}

.entry-content>*:not(hr) {
	margin-bottom: 0px;
}


/* Global Navigation
---------------------------------------------------------- */

.top-bar {
	padding: 10px 0 0 20px;
	position: absolute;
}

.tb-small {
	background: rgba(22, 22, 22, 0.8);
}

.tb-logo img {
	margin: 13px 15px 0 0;
}

#menu ul {
	background: rgba(39, 39, 39, 0.95);
	border-radius: 10px;
}

#menu li a {
	color: #ccc;
}

#menu:after {
	border-bottom-color: rgba(39, 39, 39, 0.75);
}

.navigation-toggle-wrapper {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	position: relative;
	height: 40px;
	width: 110px;
}


/* Typography
---------------------------------------------------------- */

article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 1px;
	line-height: 1em;
	text-align: left;
	text-transform: uppercase;
}

article h1 {
	color: #eee;
	font-size: 28pt;
	font-weight: 900;
}


article h2 {
	border-bottom: 1px solid #888;
	color: #ddd;
	font-size: 15pt;
	font-weight: 400;
	padding-top: 50px;
	padding-bottom: 5px;
}

article h3 {
	color: #ddd;
	font-size: 13pt;
	font-weight: 400;
	padding-top: 40px;
	padding-bottom: 0px;
}

article h4 {
	color: #c6c6c6;
	font-size: 10.5pt;
	font-weight: 400;
	padding-top: 18px;
	padding-bottom: 0px;
}

article h5 {
	color: #c6c6c6;
	font-size: 9.5pt;
	font-weight: 400;
	padding-top: 18px;
	padding-bottom: 0px;
}

article h6 {
	color: #c6c6c6;
	font-size: 8.5pt;
	font-weight: 400;
	padding-top: 18px;
	padding-bottom: 0px;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin: 0;
}

p {
	color: #a6a6a6;
	font-family: 'Nunito', sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5em;
	margin-top: 17px;
	margin-bottom: 17px;
}

strong {
	color: #bfbfbf;
	font-weight: 600;
}

em {
	font-weight: 300;
	font-style: italic;
}

article a {
	border-bottom: none;
	color: #bbbbbb;
	text-decoration: underline;
}

article a:hover {
	color: #ddc933 !important;
}

code {
	background: #282828;
	color: #B3B3B3;
	font-size: 80%;
	font-family: IBM Plex Mono;
	padding: 2px 5px;
}

blockquote {
	background: #1c1c1c;
	font-size: 10pt;
	margin: 30px 0;
	padding: 30px 30px 20px 30px;
}

blockquote strong {
	color: #aaa;
	font-weight: 600;
}

blockquote cite {
	color: #666;
}

ul,
ol {
	margin-top: 17px;
	margin-bottom: 17px;
}

ul li,
ol li {
	color: #a6a6a6;
	font-family: 'Nunito', sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5em;
	margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
}

ul ul,
ol ol {
	font-size: 95%;
	margin-top: 15px;
	margin-bottom: 15px;
}

article ol li {
	padding-left: 7px;
}

article ol ol li {
	list-style-type: lower-alpha;
	padding-left: 7px;
}



/* Images / Figures
--------------------------------------------------------------*/

article img {
	border-radius: 6px;
}

figure.wp-block-image {
	margin-top: 25px;
	margin-bottom: 25px;
}

.wp-block-image figcaption {
	color: #A6A6A6;
	font-size: 12px;
	margin-top: 0px;
	margin-bottom: 1.5em;
	padding: 4px;
	text-align: center;
}

.wp-block-image a,
.wp-block-image a:hover {
	border-bottom: 0;
}



/* Tables
--------------------------------------------------------------*/

figure.wp-block-table {
	margin-inline-start: 15px;
	margin-inline-end: 15px;
}

table tr:nth-child(even) {
	background: rgba(32, 32, 32, 0.3);
}

table tr:nth-child(odd) {
	background: rgba(32, 32, 32, 0.75);
}

table td {
	border-bottom: 0px solid #000;
	color: #A6A6A6;
}

table td:nth-child(odd) {
	color: #ccc;
	width: 50%;
	/* Adjust this on individual posts as needed */
}



/* Post Hero / Page Title Intro
---------------------------------------------------------- */

article.post header.pad-2-1-1 {
	padding: 60px 30px 8px;
}

.post-hero {
	display: flex;
	align-items: stretch;
	gap: 2.8rem;
	max-width: 1180px;
	margin: 5.5rem auto 5rem;
	padding: 0 2rem;
	text-align: left;
}

.post-hero__accent {
	width: 4px;
	background: #bbbbbb;
	flex: 0 0 auto;
	border-radius: 0px;
	margin-top: -18px;
	margin-bottom: -15px;
}

.post-hero__text {
	max-width: 980px;
}

.post-hero h1 {
	margin: 0;
	color: #f2f2f2;
	line-height: .95;
	font-weight: 700;
	text-transform: uppercase;
	max-width: 700px;
}

.post-hero__intro {
	margin: 1.1rem 0 0;
	max-width: 400px;
	color: #9f9f9f;
	font-size: clamp(1.2rem, 1.3vw, 1.4rem);
	line-height: 1.35;
	font-weight: 300;
	letter-spacing: .025em;
}


/* Site Navigation Pages
---------------------------------------------------------- */

article.page .pad-0-1-1 {
	margin: 0 auto;
	padding: 0;
	width: 380px;
}

article.page header {
	margin-bottom: 9px;
	padding: 0;
}

article.page header h1 {
	align-items: flex-end;
	background: #1c1c1c;
	border-left: 5px solid #282828;
	border-radius: 0 12px 12px 0;
	display: flex;
	font-size: 43px;
	margin: auto;
	min-height: 200px;
	padding: 32px 38px;
	width: 380px;
}

article.page p {
	background: #1c1c1c;
	border-radius: 7px;
	color: #A6A6A6;
	font-family: "Josefin Sans";
	font-size: 12pt;
	margin-bottom: 9px;
	padding: 35px;
}

article.page p.page-blurb {
	background: #1c1c1c;
	border-radius: 7px;
	color: #777;
	font-family: "Josefin Sans";
	font-size: 12pt;
	margin-top: -20px;
	margin-bottom: 9px;
	padding: 0px 25px 25px 35px;
}

article.page .quicklinks {
	color: #A8A8A8;
	font-size: 85%;
	margin: -50px 0 24px 45px;
	padding-top: 3px;
}

article.page .quicklinks a {
	text-transform: uppercase;
	margin-top: 10px;
	margin-right: 6px;
	letter-spacing: 0.8px;
	font-weight: 500;
	font-size: 90%;
	font-family: Josefin Sans;
	color: #BCAB29 !important;
}

article.page div .su-spoiler-style-default>.su-spoiler-content a {
	border-bottom: 0;
	color: #BCAB29;
}

article.page div .su-spoiler-style-default>.su-spoiler-content a:hover {
	color: #ddc933;
	opacity: 1.0;
}

article.page ul {
	margin: 0;
	padding: 0;
}

article.page ul li {
	color: #553;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1px;
	list-style-type: disc;
	margin: 0 0 3px 47px;
	padding: 2px 0;
	text-align: left;
	text-transform: uppercase;
}

article.page ul.display-posts-listing {
	padding: 0px 20px 0px 0px;
}

article.page div.wp-block-file.margin-adjust {
	margin-bottom: 4px;
}

article.page div.wp-block-file {
	color: #553;
	display: list-item;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1px;
	list-style-type: disc;
	margin: 0 0 7px 47px;
	padding: 0;
	text-transform: uppercase;
}

article.page .wp-block-file .wp-block-file__button {
	height: 27px;
	margin: 0 0 0 7px;
	opacity: 0.5;
}


/* Page Menu Hero
---------------------------------------------------------- */

.page-menu-hero {
	display: flex;
	align-items: stretch;
	gap: 1.25rem;
	max-width: 420px;
	margin: 2.5rem auto 2.25rem;
	text-align: left;
	margin-top: 160px !important;
	margin-bottom: 60px !important;
}

.page-menu-hero__accent {
	width: 5px;
	flex: 0 0 5px;
	background: #212121;
	margin-top: -10px;
	margin-bottom: -10px;
}

.page-menu-hero__text {
	max-width: 100%;
}

div.page-menu-hero__text p {
	background: none;
	border-radius: 7px;
	color: #999999;
	font-family: "Josefin Sans";
	font-size: 10pt;
	margin-left: 8px;
	margin-bottom: 9px;
	padding: 0px;
	font-family: Nunito;
	max-width: 300px;
}

.page-menu-hero h1 {
	margin: 10px 0 0 6px;
	color: #f2f2f2;
	font-size: clamp(3rem, 5vw, 4rem);
	line-height: .9;
	letter-spacing: .04em;
	text-transform: uppercase;
}


.page-menu-hero p {
	margin: .45rem 0 .65rem;
	max-width: 280px;
	color: #9f9f9f;
	font-size: .82rem;
	line-height: 1.25;
	font-weight: 300;
	background: none;
	padding: 0;
}

.page-menu-hero__text p.major {
	font-weight: 600;
	color: #dddddd;
	margin-top: 0px;
	font-family: "Josefin Sans";
	text-transform: uppercase;
}

.page-menu-hero__links {
	display: flex;
	gap: .75rem;
	align-items: center;
}

.page-menu-hero__links a {
	color: #b8aa1b;
	font-size: 1rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 2px;
	margin-left: 8px;
	margin-bottom: 13px;
	margin-top: 5px;
}



/* WP Blocks
--------------------------------------------------------------*/

div.wp-block-group {
	background: #1c1c1c;
	border-left: 5px solid #282828 !important;
	border-top: 0px;
	border-right: 0px;
	border-bottom: 0px;
	border-radius: 0px 15px 15px 0px;
	display: block;
	margin-top: 10px;
	padding: 10px 30px 20px 30px;
	width: 100%;
}

div.wp-block-group.teal {
	border-left: 5px solid #335565 !important;
}

article div.wp-block-group__inner-container h2 {
	margin-bottom: 12px;
	padding-top: 30px;
	border-bottom: none;
}

article div.wp-block-group__inner-container h3 {
	margin-top: 0px;
	padding-top: 15px;
	font-size: 95%;
	color: #ccc;
}

article div.wp-block-group__inner-container ul {
	margin-top: 17px;
}

div.wp-block-group__inner-container table {
	margin: 0 0 10px 0;
}

div.wp-block-group__inner-container table td {
	border: 0;
}

div.wp-block-group__inner-container table tr:nth-child(odd),
div.wp-block-group__inner-container table tr:nth-child(even) {
	background: rgba(25, 25, 25, 0);
	font-size: 90%;
}

div.wp-block-file {
	color: #aaa;
	display: list-item;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1px;
	list-style-type: disc;
	margin: 20px 0 7px 23px;
	padding: 0;
	text-transform: uppercase;
}

div.wp-block-file a {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 9pt;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

div.wp-block-group__inner-container .grid {
	margin-bottom: 8px;
}

div.wp-block-group__inner-container .grid div.listing-item {
	width: 260px;
}

div.wp-block-group__inner-container .grid div.listing-item,
div.wp-block-group__inner-container .grid div.listing-item img,
div.wp-block-group__inner-container .grid div.listing-item a.title {
	height: 107px;
}



/* SU Spoilers / Accordians
--------------------------------------------------------------*/

div .su-spoiler {
	margin-left: 0;
	margin-bottom: 9px;
}

div .su-spoiler-icon {
	color: #404040;
	font-weight: 100;
	padding-left: 15px;
	top: 16px;
}

div .su-spoiler-title {
	background: rgba(27, 27, 27, 1.0);
	border-left: 5px solid #282828;
	border-radius: 0 12px 12px 0;
	color: #d6d6d6;
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	padding: 17px 0 13px 0;
	text-transform: uppercase;
}

div .su-spoiler-title:focus {
    color: #f0f0f0;
    outline: none;
}

body.keyboard-navigation .su-spoiler-title:focus,
body.keyboard-navigation .su-spoiler-title:focus-visible,
body.keyboard-navigation .su-spoiler:focus,
body.keyboard-navigation .su-spoiler:focus-visible {
    outline: 3px solid #bcab29 !important;
    outline-offset: 2px !important;
}

div .su-spoiler-style-default>.su-spoiler-title {
	padding-left: 40px;
}

.su-spoiler-content h2,
.su-spoiler-content h3,
.su-spoiler-content h4 {
	border-top: 1px solid #282828;
	color: #ccc;
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 9pt;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin: 20px 0 10px -9px;
	padding: 22px 0 0 40px;
	text-transform: uppercase;
}

.su-spoiler-content h3 {
	color: #585835;
	margin-right: -9px;
	padding-bottom: 2px;
	padding-top: 25px;
}

.su-spoiler-content h4 {
	border-top: 0;
	color: #b6b6b6;
}

.su-spoiler-content h2:nth-child(1),
.su-spoiler-content h3:nth-child(1),
.su-spoiler-content h4:nth-child(1) {
	border-top: 0;
	margin-top: -10px;
}

.su-spoiler-content p,
.su-spoiler-content ol,
.su-spoiler-content ul,
.su-spoiler-content img {
	padding: 5px 30px 5px 30px;
}

div .su-spoiler-style-default>.su-spoiler-content {
	background: rgba(27, 27, 27, 1.0);
	border-left: 5px solid #282828;
	border-radius: 0 12px 12px 0;
	margin-top: -12px;
	padding: 12px 9px 18px 9px;
}

div .su-spoiler-style-default>.su-spoiler-content a {
	color: #aaa;
}

div .su-spoiler-style-default>.su-spoiler-content a:hover {
	color: #eee;
}

.grid div .su-spoiler-style-default>.su-spoiler-content a {
	border-bottom: 0;
	color: #dddddd;
	font-family: "Josefin Sans";
	font-size: 0.67em;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.grid .su-spoiler-content ul {
	margin: 0 0 0 35px;
	padding: 0;
}



/* Grids
--------------------------------------------------------------*/

.display-posts-listing {
	padding-top: 20px;
}

.grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.grid div.listing-item {
	display: flex;
	flex-direction: row;
	height: 120px;
	margin: 0 0 13px 0;
	width: 290px;
}

.grid div.listing-item img {
	height: 120px;
	margin: 0;
	opacity: 0.9;
	padding: 0;
	width: 85px;
}

.grid div.listing-item a {
	border: 0;
	color: #dddddd;
}

.grid div.listing-item a.title {
	background: #282828;
	border-radius: 3px;
	color: #dddddd;
	font-family: "Josefin Sans";
	font-size: 0.67em;
	height: 120px;
	margin: 0 0 0 3px;
	padding: 17px;
	text-align: left;
	text-transform: uppercase;
	width: 200px;
}



/* Tag-Based Overrides
--------------------------------------------------------------*/

article.tag-production-cycle header h1 {
	font-size: 70px;
	padding: 32px 34px;
}

article.tag-paperwork .wp-block-file .wp-block-file__button a {
	height: auto;
	margin: 0;
	padding: 0;
	width: 130px;
}

article.tag-paperwork figure {
	margin: 20px 0 8px 0;
	padding: 0;
}

article.tag-paperwork .wp-block-group__inner-container figure {
	margin: 25px 0 25px 0;
}

article.tag-paperwork div.entry-content div.wp-block-file {
	display: block;
	margin: 0 0 6px 0;
}

article.tag-paperwork div.entry-content div.wp-block-file:last-child {
	margin: 0 0 26px 0;
}

article.tag-paperwork .wp-block-file .wp-block-file__button {
	background: #333;
	border: 0;
	border-radius: 8px;
	display: block;
	font-size: 1em;
	height: auto;
	margin: 0;
	padding: 15px 15px 12px 15px;
	text-align: center;
	width: 250px;
}

article.tag-paperwork .wp-block-file .wp-block-file__button:hover {
	background: #444;
	color: #fff;
	opacity: 1.0;
}


/* Search
--------------------------------------------------------------*/

/* Search Container */

.header-search {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 34px;
	height: 34px;
	flex: 0 0 34px;

	z-index: 5;
	right: 7px;
}

/* Search Button */

.header-search__toggle {
	width: 34px;
	height: 34px;

	padding: 0;
	margin: 0;

	border: 0;
	background: transparent;

	display: flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;
}

/* Magnifying Glass */

.header-search__icon {
	width: 18px;
	height: 18px;

	border: 3px solid #f2f2f2;
	border-radius: 50%;

	position: relative;
	box-sizing: border-box;

	opacity: .95;
	margin-top: 13px;
}

.header-search__icon::before {
	content: "";

	width: 9px;
	height: 3px;

	background: #f2f2f2;

	position: absolute;
	right: -7px;
	bottom: -4px;

	transform: rotate(45deg);
	border-radius: 999px;
}

/* Expanding Search Field */

.header-search__form {
	position: absolute;
	margin-top: 10px;

	right: 44px;
	top: 50%;

	transform: translateY(-50%);


	width: 0;
	opacity: 0;
	overflow: hidden;

	transition:
		width .25s ease,
		opacity .2s ease;
}

.header-search.is-open .header-search__form {
	width: 260px;
	opacity: 1;
}

/* Input */

.header-search__input {
	width: 100%;
	height: 40px;

	padding: 0 1rem;

	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px;

	background: #f3f3f3;
	color: #111;

	font-size: .95rem;
	outline: none;
}

.header-search__input,
.header-search__input::placeholder {
	font-size: 12pt;
}


/* Search forms */

input[type=text],
input[type=email],
input[type=password],
textarea {
	background: rgba(22, 22, 22, 1.0);
	border: 1px solid #2b2b2b;
	border-radius: 8px;
	color: #aaa;
	font-family: "Josefin Sans";
	font-weight: 400;
	outline: none;
	padding: 10px;
	text-align: center;
	width: 100%;
}

input {
	text-align: center;
	border-radius: 15px;
}

/* Search results */

.wrapper {
	background: rgba(22, 22, 22, 1.0);
}

.search-results main {
	margin: auto;
	max-width: 500px;
	padding: 7px;
}

.search-results article {
	margin: 7px 0;
}

.search-results h1 {
	color: #fff;
	font-family: "Josefin Sans";
	font-size: 40px;
	font-weight: 900;
	height: 100px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 15px;
	text-transform: uppercase;
}

.search-results h1.aligncenter {
	text-align: left;
}

.search-results .hentry-masonry {
	background-color: rgba(28, 28, 28, 1.0);
	border-left: 5px solid #282828;
	border-radius: 0 15px 15px 0;
	font-size: 85%;
	padding: 0px 30px 0px 30px;
	width: 100%;
}

.search-results .hentry-masonry p,
.search-results .hentry-masonry ul,
.search-results .hentry-masonry ol,
.search-results .hentry-masonry .featured-caption {
	margin-top: 7px;
	margin-bottom: 0px;
	padding-bottom: 0px;
}

.search-results article li {
	margin-top: 2px;
}

.search-results .hentry-masonry .m-0-0-1 {
	margin-bottom: 0px;
}

.search-results .hentry-masonry p a {
	color: #b1b1b1;
}

.search-results article header {
	margin-bottom: 0px;
}

.search-results article header h2,
.search-results article header h2 a {
	border-bottom: 0px;
	color: #fff;
	font-size: 22px;
	line-height: 1.5;
	padding-top: 30px;
	padding-bottom: 0px;
	text-align: left;
}

.search-results article h2.safety-bulletin {
	position: inherit;
}

.ecae h2 {
	border: 0;
	font-size: 90%;
	margin-top: 13px;
	;
	margin-bottom: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.ecae-button {
	margin-top: 0px;
	margin-left: 12px;
	padding-top: 15px;
	padding-bottom: 30px;
}

.ecae-button.ecae-buttonskin-none {
	font-family: "Josefin Sans";
	font-size: 85%;
	text-transform: uppercase;
}

a.ecae-link {
	background: #282828;
	border: 2px solid #303030;
	border-radius: 4px;
	margin-left: 20px;
	padding: 5px 0px 3px 0px;
}

a.ecae-link:hover {
	background: #202020;
	border: 2px solid #444444;
}

.search-results nav.pagination a {
	background: #202020;
	border: 3px solid #202020;
	border-radius: 7px;
	color: #777;
	font-family: "Josefin Sans";
	font-size: 14px;
	font-weight: 600;
	padding-top: 14px;
	text-transform: uppercase;
}

.search-results nav.pagination a:hover {
	background: #1c1c1c;
	border: 3px solid #444444;
	color: #aaa;
	opacity: 1.0;
}

.search-results .nav-previous,
.search-results .nav-next {
	padding: 10px 0px;
}

.search-results input#s {
	width: 100%;
}

.search .search-result__excerpt {
	padding-bottom: 30px !important;
}



/* Footer
--------------------------------------------------------------*/

footer {
	background: rgba(24, 24, 24, 1.0);
	margin-top: 160px;
}

footer .social {
	padding: 0;
}

footer .meta {
	background: rgba(24, 24, 24, 1.0);
	margin-left: calc(50% - 50vw);
	max-width: 100vw;
	padding: 15px;
	width: 100vw;
}

div.footer-search {
	margin: 40px auto 200px auto;
	text-align: center;
	width: 300px;
}


/* Utility Overrides
---------------------------------------------------------- */

div.nav-links {
	display: none;
}

.tb-logo h1 {
	display: none;
}

.wp-block-file .wp-block-file__button {
	display: none;
}

.listing-item a.image {
	display: none;
}

article.tag-paperwork div.wp-block-file a {
	display: none;
}

.search-results .hentry-masonry img {
	display: none;
}




/*-----------------------------------------------------------
   RESPONSIVE OVERRIDES
-----------------------------------------------------------*/


/* Responsive Global Layout
---------------------------------------------------------- */

@media (max-width: 800px) {

	.hentry__inside {
		padding: 0;
	}

	article.page .entry-content {
		margin-left: 10px;
		margin-right: 10px;
		width: auto;
	}

}


/* Responsive Navigation
---------------------------------------------------------- */

@media (max-width: 800px) {

	.top-bar {
		padding: 0 0 0 15px;
	}

	.tb-logo img {
		margin: 13px 10px 0 0;
	}

}


/* Responsive Typography
---------------------------------------------------------- */

@media (max-width: 800px) {

	h3,
	p,
	ol li,
	ul li {
		font-size: 105%;
	}

	article.page header h1 {
		border-radius: 0;
		font-size: 42px;
		height: 190px;
		margin-top: -43px;
		margin-left: 10px;
		margin-right: 10px;
		padding: 0 35px 30px 38px;
		width: auto;
	}

	article.tag-production-cycle header h1 {
		font-size: 70px;
		padding: 32px 34px;
	}

	article.page h2 {
		font-size: 250%;
	}

}

@media (max-width: 400px) {

	article h1 {
		font-size: 22pt;
	}

}

@media (max-width: 350px) {

	article.page header h1 {
		font-size: 34px;
	}

}

/* Images / Figures
---------------------------------------------------------- */

@media (max-width: 450px) {

	.heading img {
		max-width: 80%;
	}

}


/* Responsive Tables
---------------------------------------------------------- */

@media (max-width: 450px) {

	div.wp-block-group__inner-container figure {
		margin-inline-start: 0px;
		margin-inline-end: 0px;
	}

}


/* Responsive — Post Hero
---------------------------------------------------------- */

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

	header.post-hero {
		display: flex;
		align-items: stretch;
		gap: 1.5rem;

		max-width: none;
		margin: -5rem -1.4rem 2.5rem;
		padding: 0;

		text-align: left;
	}

	header.post-hero .post-hero__accent {
		width: 4px;
		flex: 0 0 4px;

		margin-top: -10px;
		margin-bottom: -10px;
	}

	header.post-hero .post-hero__text {
		width: 100%;
		max-width: 100%;
	}

	header.post-hero h1 {
		margin: 0;

		font-size: clamp(2.2rem,
				8vw, 4rem);
		line-height: 1;
		letter-spacing: .04em;

		max-width: 100%;
	}

	header.post-hero .post-hero__intro {
		margin-top: 1rem;

		max-width: 100%;

		font-size: clamp(1rem, 6.5vw, 1.35rem);
		line-height: 1.45;
	}
}


/* Responsive Blocks
--------------------------------------------------------------*/

@media (max-width: 450px) {

	div .wp-block-group {
		border: 2px solid #202020;
		margin-top: 20px;
		padding: 0px 18px 18px 18px;
	}

	a.wp-block-file__button {
		display: none;
	}

}

/* Responsive Site Navigation Pages
--------------------------------------------------------------*/

@media (max-width: 800px) {

	article.page div.wp-block-file {
		padding: 2px 0;
	}

	article.page div.wp-block-file.margin-adjust {
		margin-bottom: 0px;
	}

}


/* Responsive Spoilers / Accordians
--------------------------------------------------------------*/

@media (max-width: 800px) {

	div .su-spoiler-style-default>.su-spoiler-title {
		background: rgba(27, 27, 27, 1.0);
	}

	article.page div .su-spoiler-icon {
		top: 20px;
	}

	article.page div .su-spoiler-title {
		border-radius: 0px;
		font-size: 12pt;
		padding-top: 21px;
		padding-bottom: 17px;
	}

	article.page div .su-spoiler-style-default>.su-spoiler-content {
		background: rgba(27, 27, 27, 1.0);
		padding: 0px 0px 0px 0px;
	}

	article.page .su-spoiler-content h2,
	article.page .su-spoiler-content h3,
	article.page .su-spoiler-content h4 {
		background: rgba(27, 27, 27, 1.0);
		border-bottom: 1px solid #252525;
		color: #ddd;
		display: block;
		font-family: 'Josefin Sans', sans-serif;
		font-size: 10pt;
		font-weight: 400;
		letter-spacing: 0.05em;
		margin: 0;
		padding: 0px 0 10px 40px;
		text-transform: uppercase;
	}

	article.page .su-spoiler-content h3 {
		color: #585835;
		margin-right: 0;
		padding-top: 25px;
		padding-bottom: 7px;
	}

	article.page .su-spoiler-content h4 {
		border-top: 0;
		color: #585835;
	}

	article.page .su-spoiler-content h2:nth-child(1),
	article.page .su-spoiler-content h3:nth-child(1),
	article.page .su-spoiler-content h4:nth-child(1) {
		margin-top: 0px;
		padding-top: 10px;
	}

	article.page .su-spoiler-content {
		display: block;
		margin-top: 0px;
	}

	article.page .su-spoiler-content ul {
		display: block;
		margin: 0;
		padding: 0 0 0 0;
	}

	article.page .su-spoiler-content ul li,
	article.page div.wp-block-file.margin-adjust {
		border-top: 1px solid #242424;
		border-bottom: 1px solid #242424;
		display: block;
		margin: 0;
		padding-right: 30px;
	}

	article.page .su-spoiler-content ul li:nth-child(1),
	article.page div.wp-block-file.margin-adjust {
		border-top: 2px solid #242424;
	}

	article.page div .su-spoiler-content a {
		display: block;
		font-size: 11pt;
		padding: 16px 20px 12px 40px;
	}

}


/* Responsive Grids
--------------------------------------------------------------*/

@media (max-width: 450px) {

	div .grid {
		margin: 0 0 0 10px;
	}

	.grid div.listing-item {
		margin: 0 10px 20px 0;
		width: 100%;
	}

	.grid div.listing-item a.title {
		font-size: 0.72em;
		padding: 18px 15px;
		width: 100%;
	}

	.grid div.listing-item img {
		height: 120px;
		width: 120px;
	}

	.bulletin div.listing-item a.title {
		background: #282828;
	}

	ul.josefin li a {
		border: 0;
		color: #ccc;
		font-family: "Josefin Sans";
		font-size: 0.8em;
		font-weight: 600;
		text-transform: uppercase;
	}

	ul.josefin li a:hover {
		border: 0;
	}

}


/* Search
--------------------------------------------------------------*/

@media (max-width: 450px) {

	.search-results h1 {
		font-size: 36px;
	}

	.search-results nav.pagination a {
		font-size: 12px;
	}




	/* Responsive — Header Search
---------------------------------------------------------- */

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

		.navigation-toggle-wrapper {
			height: 32px;
			align-items: center;

			position: relative;
			top: -44px;
			/* nudges icons upward */
			right: 7px;
		}

		.header-search {
			display: flex;
			align-items: center;
			justify-content: center;

			position: relative;
			top: 1px;
			/* fine-tune magnifying glass alignment */
		}

		.header-search__toggle {
			width: 30px;
			height: 30px;

			display: flex;
			align-items: center;
			justify-content: center;
		}

		.header-search__icon {
			transform: scale(.9);
			transform-origin: center;
		}

	}

}