/* This stylesheet is RENDER-BLOCKING */
/* Only add priority styles that occur near the top of the page and/or prevent page jitter */

/*
CORE
HEADER
BANNER
FOOTER
*/

/*******************************************************************************************
CORE - Top-level styling
*******************************************************************************************/
:root {
	font-size: 16px;
	--font-size-h1: 2.2rem;
	--font-size-h2: 1.9rem;
	--font-size-h3: 1.4rem;
	--font-size-h4: 1.2rem;
	--font-size-h5: 1.1rem;
	--font-size-base: 1rem;
	--color-body-text: #14172f;
	--color-primary: #533178;
	--color-secondary: #ee9720;
	--color-alternate: #004d8e;
	--color-gray: #e3e3e3;
	--color-light-gray: #edf1f5;
	--color-white: #fff;
	--color-near-white: #f9fbfd;
	--color-black: #000;
	--color-near-black: #000;
	--color-warning: #f10f0f;
	--font-family-body: 'Poppins', sans-serif;
	--font-family-icon: 'Font Awesome 6 Pro';
	--font-family-heading: 'Poppins', sans-serif;
	--gutter-size: 20px;
	--width-normal: 1280px;
	--width-narrow: 1086px;
	--width-wide: 1599px;
}

@media screen and (min-width: 1025px) {
	/*TABLET*/
	:root {
		--font-size-h1: 2.75rem;
		--font-size-base: 1.188rem;
	}
}

.wrapper {
	position: relative;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	display: block !important;
	font-family: var(--font-family-body), sans-serif;
	font-size: var(--font-size-base);
	line-height: 1.7;
	font-weight: 300;
	color: var(--color-body-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.is-menu-open {
	overflow: hidden;
}

@media screen and (min-width: 1025px) {
	body {
		line-height: 1.9;
	}
}

*:focus-visible {
	outline: auto;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Hidden elements */
.hide,
.show-in-pdf,
.show-for-pdf,
.mega-menu .sub-menu,
.gfield--type-captcha,
.grecaptcha-badge {
	display: none !important;
}

/* CORE > Headings and Paragraphs */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	margin: 0 0 20px;
	font-family: var(--font-family-heading), sans-serif;
	font-weight: 300;
	line-height: 1.2;
	color: var(--color-black);
	text-transform: uppercase;
}

h1,
.h1 {
	font-size: var(--font-size-h1);
	line-height: 1.3;
	margin-bottom: 10px;
}

@media screen and (min-width: 1025px) {

	h1,
	.h1 {
		line-height: 1.8;
	}
}

h2,
.h2 {
	font-size: var(--font-size-h2);
}

h3,
.h3 {
	font-size: var(--font-size-h3);
}

h4,
.h4 {
	font-size: var(--font-size-h4);
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
}

h5,
h6,
.h5,
.h6 {
	font-size: var(--font-size-h5);
}

h2 strong,
h3 strong {
	font-weight: 700;
}

h1 span.subtitle,
h2 span.subtitle {
	display: block;
	font-size: 50%;
	color: var(--color-secondary);
}

p {
	margin: 0 0 20px;
}

p:last-child {
	margin-bottom: 0;
}

strong {
	font-weight: 700;
}

ul {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
}

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

@media screen and (min-width: 1025px) {
	p {
		margin: 0 0 40px;
	}
}

/* CORE > Links and Buttons */
a {
	color: var(--color-secondary);
	text-decoration: underline;
}

a:hover,
a:focus {
	color: var(--color-alternate);
	text-decoration: none;
}

a.no-underline {
	text-decoration: none;
}

a.no-underline:hover,
a.no-underline:focus {
	text-decoration: underline;
}

a,
button,
.button,
.wp-element-button {
	transition: color 200ms ease-out, background 200ms ease-out, transform 60ms ease-in;
}

button,
.button,
.wp-element-button {
	margin: 0;
	padding: 15px 30px 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-family-body), sans-serif;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-white);
	border: none;
	border-radius: 0;
	background-color: var(--color-primary);
	cursor: pointer;
}

button:hover,
button:focus,
.button:hover,
.button:focus,
.wp-element-button:hover,
.wp-element-button:focus {
	color: var(--color-white);
	background-color: var(--color-secondary);
}

button.alt-01,
.button.alt-01 {
	background-color: var(--color-secondary);
}

button.alt-01:hover,
button.alt-01:focus,
.button.alt-01:hover,
.button.alt-01:focus {
	color: var(--color-white);
	background-color: var(--color-primary);
}

button.alt-02,
.button.alt-02 {
	background-color: var(--color-near-black);
}

button.alt-02:hover,
button.alt-02:focus,
.button.alt-02:hover,
.button.alt-02:focus {
	color: var(--color-white);
	background-color: var(--color-alternate);
}

button.outline,
.button.outline {
	color: var(--color-alternate);
	border: 2px solid var(--color-alternate);
	background: none;
}

button.outline:hover,
button.outline:focus,
.button.outline:hover,
.button.outline:focus {
	color: var(--color-white);
	background: var(--color-alternate);
}

button.outline.outline-alt-01,
.button.outline.outline-alt-01 {
	color: var(--color-white);
	border-color: var(--color-white);
}

button.outline.outline-alt-01:hover,
button.outline.outline-alt-01:focus,
.button.outline.outline-alt-01:hover,
.button.outline.outline-alt-01:focus {
	color: var(--color-primary);
	background: var(--color-near-white);
}

button.no-button,
.button.no-button {
	padding: 0;
	border: 0;
	text-transform: none;
	color: var(--color-secondary);
	background: none;
}

button.no-button:hover,
button.no-button:focus,
.button.no-button:hover,
.button.no-button:focus {
	text-decoration: underline;
	color: var(--color-near-black);
}

/* CORE > Page Structure */
main {
	padding: 60px 0;
	display: block;
	flex: 1;
	width: 100%;
	min-height: 450px;
	overflow: clip;
}

.content {
	margin-bottom: 60px;
}

.content.full-width {
	float: none;
	margin-bottom: 0;
}

.content img {
	max-width: 100%;
	height: auto;
}

.content section:not(:last-of-type) {
	margin-bottom: 60px;
}

.columns,
.column {
	padding: 0 var(--gutter-size);
}

.row,
.row-wide,
.row-narrow {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: calc(var(--width-normal) + var(--gutter-size) * 2);
}

.row-narrow {
	max-width: calc(var(--width-narrow) + var(--gutter-size) * 2);
}

.row-wide {
	max-width: calc(var(--width-wide) + var(--gutter-size) * 2);
}

@media screen and (min-width: 768px) {
	main {
		padding: 80px 0;
	}

	.content {
		width: 65%;
		margin-bottom: 0;
	}

	.content.full-width {
		width: 100%;
	}

	.sidebar {
		width: 35%;
	}
}

/* CORE > Priority Utility Classes */
.no-float {
	float: none;
}

.no-margin {
	margin: 0 !important;
}

.no-padding {
	padding: 0 !important;
}

.no-min-height {
	min-height: 0;
}

img.alignright {
	margin: 0 0 30px 30px;
	float: right;
}

img.alignleft {
	margin: 0 30px 30px 0;
	float: left;
}

.full-width {
	width: 100%;
}

.full-height {
	height: 100%;
}

.visually-hidden {
	border: none !important;
	clip: rect(0 0 0 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.no-background {
	background: none !important;
}

@media (min-width: 768px) {
	.hide-for-medium {
		display: none !important;
	}
}

@media (min-width: 1025px) {
	.hide-for-large {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.hide-for-small-only {
		display: none !important;
	}
}

@media screen and (min-width: 768px) {
	.show-for-small-only {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.show-for-medium {
		display: none !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	.hide-for-medium-only {
		display: none !important;
	}
}

@media screen and (max-width: 767px), screen and (min-width: 1025px) {
	.show-for-medium-only {
		display: none !important;
	}
}

@media screen and (max-width: 1024px) {
	.show-for-large {
		display: none !important;
	}
}

.page-archives {
	padding-top: 40px;
}

.archive-logo {
	display: block;
	max-width: 240px;
	margin: 0 auto 30px;
}

@media screen and (min-width: 768px) {
	.page-archives {
		padding-top: 60px;
	}

	.archive-logo {
		max-width: 320px;
		margin-bototm: 50px;
	}
}

@media screen and (min-width: 1025px) {
	.page-archives {
		padding-top: 90px;
	}

	.archive-logo {
		max-width: 514px;
		margin-bottom: 50px;
	}
}

.welcome-line {
	padding: 50px 0;
	text-align: center;
	font-size: 23px;
}

@media screen and (min-width: 1025px) {
	.welcome-line {
		padding: 80px 0 75px;
	}
}

.swiper-button-next:after,
.swiper-button-prev:after {
	display: none;
}

.swiper-button-next svg,
.swiper-button-prev svg {
	width: 100%;
	height: auto;
}

.swiper-button-next,
.swiper-button-prev {
	width: 28px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .3s;
	padding: 0;
	margin-top: -30px;
}

@media screen and (max-width: 1024px) {
	.swiper-button-next,
	.swiper-button-prev {
		width: 16px;
		margin-top: -34px;
	}
}

.video-block {
	position: relative;
}

.video-block .play-btn {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 48px;
	height: 48px;
	z-index: 1;
	cursor: pointer;
	transition: all .3s;
	opacity: .45;
	background: url('../images/play-icon.png') no-repeat center center;
	background-size: 48px 48px;
}

.video-block .teaser-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.82);
	color: var(--color-white);
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 20px;
	z-index: 2;
}

.video-block .teaser-overlay.is-visible {
	display: flex;
}

.video-block .teaser-overlay h3 {
	color: var(--color-white);
	margin-bottom: 10px;
}

.video-block .teaser-overlay p {
	margin-bottom: 20px;
	max-width: 420px;
}

.video-block .play-btn:hover {
	opacity: 1;
}

.video-block .play-btn.is-playing {
	background-image: url('../images/stop.png');
}

@media screen and (min-width: 1025px) {

	.video-block .play-btn {
		width: 68px;
		height: 68px;
		background-size: 68px 68px;
	}
}

/*******************************************************************************************
HEADER
*******************************************************************************************/
.header {
	position: relative;
	width: 100%;
	background-color: var(--color-black);
	z-index: 2;
	transition: all 300ms ease-out;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.header > .row {
	height: 100%;
}

.header a {
	text-decoration: none;
}

.header-logo {
	display: block;
	width: 180px;
	margin-right: 15px;
	margin-left: -20px;
}

.header-eichner img,
.header-logo img {
	width: 100%;
	display: block;
}

.header-eichner {
	display: block;
	width: 80px;
	position: relative;
	top: 3px;
}

.header-left {
	display: flex;
	align-items: center;
}

.header-toggle {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .3s;
	padding-left: 16px;
}

.header-toggle span {
	position: relative;
	display: block;
	width: 100%;
	height: 1px;
	text-indent: -9999px;
	transition: all .3s;
	background-color: var(--color-white);
}

.header-toggle span:before,
.header-toggle span:after {
	position: absolute;
	display: block;
	height: 1px;
	width: 100%;
	background-color: var(--color-white);
	transition: all .3s;
	content: '';
}

.header-toggle span:before {
	top: -7px;
	left: 0;
}

.header-toggle span:after {
	bottom: -7px;
	left: 0;
}

.is-menu-open .header-toggle span {
	background-color: transparent;
}

.is-menu-open .header-toggle span:before {
	top: 0;
	left: 0;
	width: 100%;
	transform: rotate(45deg);
}

.is-menu-open .header-toggle span::after {
	bottom: 0;
	left: 0;
	width: 100%;
	transform: rotate(-45deg);
}

.header-menu ul {
	padding: 0;
}

.header-menu ul li a {
	font-weight: 300;
	display: block;
	color: var(--color-white);
	text-transform: uppercase;
	font-size: 1.25rem;
	padding-top: 12px;
}

.header-menu ul li a:focus,
.header-menu ul li a:hover {
	color: var(--color-secondary);
}

.header-social {
	display: flex;
	gap: 20px;
	position: relative;
	top: 3px;
	width: 100%;
	justify-content: center;
}

.header-social a {
	color: #949494;
}

@media screen and (min-width: 768px) {
	.header-logo {
		width: 220px;
	}

	.header-eichner {
		width: 100px;
	}
}

@media screen and (max-width: 1024px) {
	.is-menu-open .header-menu {
		opacity: 1;
		visibility: visible;
	}

	.header-menu {
		position: fixed;
		top: 85px;
		left: 0;
		width: 100%;
		height: 100dvh;
		transition: all 300ms ease-out;
		opacity: 0;
		visibility: hidden;
		overflow: auto;
		text-align: center;
		padding: 0 var(--gutter-size);
		background: var(--color-black);
	}
}

@media screen and (max-width: 767px) {
	.header-menu {
		top: 70px;
	}
}

@media screen and (min-width: 1025px) {
	.header-eichner {
		width: 160px;
	}

	.header-toggle {
		display: none;
	}

	.header-logo {
		width: 300px;
		margin-right: 25px;
		margin-left: -20px;
	}

	.header-menu {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.header-menu ul {
		display: inline-flex;
		align-items: center;
		margin: 0;
	}

	.header-menu ul li {
		margin-left: 20px;
	}

	.header-menu ul li:first-child {
		margin-left: 0;
	}

	.header-menu ul li a {
		font-size: 1.125rem;
	}

	.header-social {
		gap: 10px;
		justify-content: flex-end;
		margin-left: 20px;
		width: auto;
	}
}

@media screen and (min-width: 1280px) {

	.header-eichner {
		width: 192px;
		top: 6px;
	}

	.header-logo {
		width: 378px;
		margin-right: 40px;
		margin-left: -50px;
	}

	.header-menu ul li {
		margin-left: 60px;
	}

	.header-menu ul li a {
		font-size: 1.313rem;
	}

	.header-social {
		gap: 20px;
		top: 3px;
		margin-left: 40px;
	}

}


.title-icon h2 {
	font-size: 1.7rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
}

.title-icon h2 img {
	width: 25px;
	margin-right: 10px;
}

@media screen and (min-width: 768px) {
	.title-icon h2 img {
		width: 45px;
		margin-right: 20px;
	}
}

@media screen and (min-width: 1025px) {
	.title-icon h2 {
		font-size: 2.813rem;
		margin-bottom: 45px;
	}
}

/*******************************************************************************************
BANNER - Page-top image and title
*******************************************************************************************/
.banner {
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}

.banner-image {
	position: relative;
	width: 100%;
	aspect-ratio: 320/240;
	margin-bottom: 30px;
}

.banner-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.banner-text p strong {
	font-weight: 900;
}

.banner-button {
	text-align: center;
}

@media screen and (min-width: 768px) {
	.banner-text {
		width: 50%;
		padding: 50px 0;
	}

	.banner-image {
		position: absolute;
		top: 0;
		margin-bottom: 0;
		right: 0;
		width: 45.9%;
		height: 100%;
		aspect-ratio: auto;
	}
}

@media screen and (min-width: 1025px) {
	.banner {
		margin-bottom: 130px;
	}

	.banner-button {
		padding-top: 30px;
	}
}

@media screen and (min-width: 1280px) {
	.banner-text {
		padding: 135px 50px 80px 45px;
	}

	.banner-button {
		padding-top: 30px;
	}
}


/*******************************************************************************************
STORY - Page-top image and title
*******************************************************************************************/
.story {
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}

.story-top {
	text-transform: uppercase;
	color: var(--color-primary);
	text-align: center;
	font-size: 1.15rem;
}

.story-image {
	position: relative;
	width: 100%;
	aspect-ratio: 320/240;
	margin-bottom: 30px;
}

.story-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.story-holder {
	margin-bottom: 20px;
}

.story-text {
	width: 100%;
}

.story-bottom {
	padding: 20px;
	border: 2px solid var(--color-primary);
}

@media screen and (min-width: 768px) {
	.story-holder {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-bottom: 35px;
	}

	.story-text {
		flex: 1;
		padding-top: 15px;
	}

	.story-image {
		width: 220px;
		min-width: 220px;
		aspect-ratio: auto;
		margin-bottom: 0;
		margin-right: 40px;
	}
}

@media screen and (min-width: 1025px) {
	.story {
		margin-bottom: 100px;
	}

	.story-image {
		width: 335px;
		min-width: 335px;
		margin-right: 55px;
	}

	.story-top {
		font-size: 1.563rem;
		margin-bottom: 35px;
	}

	.story-top h2 {
		margin-bottom: 35px;
	}

	.story-bottom {
		padding: 28px 35px;
	}
}

/*******************************************************************************************
PREMIERE - Page-top image and title
*******************************************************************************************/
.premiere {
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}

.premiere-caption {
	text-align: center;
	font-size: 1.15rem;
	margin-top: 30px;
	margin-bottom: 25px;
}

.premiere-video video {
	width: 100%;
	display: block;
}

@media screen and (min-width: 1025px) {
	.premiere {
		margin-bottom: 90px;
	}

	.premiere-caption {
		font-size: 1.25rem;
		margin-top: 45px;
	}
}


/*******************************************************************************************
GALLERY-SECTION - Page-top image and title
*******************************************************************************************/
.gallery-section {
	position: relative;
	margin-bottom: 60px;
	width: 100%;
}

.gallery-section .swiper-wrapper {
	height: auto;
}

.gallery-section .image-block {
	display: block;
	width: auto;
	height: auto;
}

.gallery-section .image-block img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.gallery-section .gallery-section-bottom {
	padding: 40px 0 20px;
}

@media screen and (min-width: 1025px) {
	.gallery-section .gallery-section-bottom {
		padding: 55px 0 30px;
	}
}

/*******************************************************************************************
JOIN-SECTION - Page-top image and title
*******************************************************************************************/
.join-section {
	position: relative;
	margin-bottom: 60px;
	width: 100%;
}

.join-section .member-card.is-hidden {
	display: none;
}

.join-section-text {
	margin-bottom: 30px;
}

.join-section-text h2 {
	margin-bottom: 20px;
}

.join-section-form {
	padding: 30px;
	border: 1px solid rgb(from var(--color-primary) r g b / 30%);
}

.join-section-form .auth-switch {
	display: flex;
	flex-wrap: wrap;
	row-gap: 15px;
	column-gap: 15px;
	margin-bottom: 30px;
}

.join-section-form .auth-switch button {
	background: transparent;
	color: var(--color-primary);
	min-width: inherit;
	padding: 0;
	border-bottom: 2px solid transparent;
}

.join-section-form .auth-switch button.is-active {
	color: var(--color-secondary);
	border-color: var(--color-secondary);
}

@media screen and (min-width: 768px) {
	.join-section-holder {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}

	.join-section-text {
		flex: 1;
		padding-top: 30px;
		margin-bottom: 0;
	}

	.join-section-text h2 {
		font-size: 2.625rem;
		margin-bottom: 40px;
	}

	.join-section-form {
		width: 50%;
		min-width: 50%;
		margin-left: 40px;
	}

	.join-section-block {
		max-width: 440px;
	}
}

@media screen and (min-width: 1025px) {
	.join-section {
		margin-bottom: 85px;
	}

	.join-section-text {
		padding-top: 70px;
	}

	.join-section-text h2 {
		font-size: 3.563rem;
		margin-bottom: 75px;
	}

	.join-section-form {
		margin-left: 50px;
		padding: 50px;
	}

	.join-section-form .auth-switch {
		margin-bottom: 60px;
	}

	.join-section-form .auth-switch button {
		font-size: 2rem;
	}
}


/*******************************************************************************************
IMAGE-CONTENT - Page-top image and title
*******************************************************************************************/
.image-content {
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}

.image-content h2 {
	font-size: 30px;
}

.image-content-text {
	margin-bottom: 30px;
}

.image-content-text h2 {
	margin-bottom: 20px;
}

.image-content-image {
	position: relative;
	width: 100%;
}

.image-content-image span {
	position: absolute;
	bottom: 0;
	left: 0;
	width: auto;
	font-size: 19px;
	color: var(--color-white);
	display: inline-flex;
	align-items: center;
	padding: 2px 10px 0;
	background: rgb(from var(--color-black) r g b / 54%);
}

.image-content-image video,
.image-content-image img {
	width: 100%;
	display: block;
	height: auto;
}

@media screen and (min-width: 768px) {
	.image-content h2 {
		font-size: 40px;
	}

	.image-content-holder {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		align-items: center;
	}

	.image-content-text {
		flex: 1;
		margin-bottom: 0;
	}

	.image-content-image {
		width: 45%;
		min-width: 45%;
		margin-left: 40px;
	}

	.reverse .image-content-holder {
		flex-direction: row-reverse;
	}

	.reverse .image-content-image {
		margin-left: 0;
		margin-right: 40px;
		width: 35%;
		min-width: 35%;
	}
}

@media screen and (min-width: 1025px) {
	.image-content {
		margin-bottom: 90px;
	}

	.image-content h2 {
		font-size: 51px;
	}
}

@media screen and (min-width: 1440px) {
	.image-content-holder {
		padding: 0 45px 0 150px;
	}

	.image-content-image {
		width: 40%;
		min-width: 40%;
		margin-left: 100px;
	}

	.reverse .image-content-text {
		padding-right: 50px;
	}

	.reverse .image-content-image {
		width: 27.3%;
		min-width: 27.3%;
		margin-left: 0;
		margin-right: 100px;
	}
}


.card-social {
	display: flex;
	flex-wrap: wrap;
	row-gap: 15px;
	column-gap: 20px;
	margin-top: -10px;
}

.card-social a {
	display: inline-block;
	color: var(--color-black);
	font-size: 2.5rem;
	text-decoration: none;
	line-height: 1;
}

.card-social a i {
	display: block;
	line-height: 1;
}

.card-social a:hover {
	color: var(--color-secondary);
}

/*******************************************************************************************
MEDIA-CONTENT - Page-top image and title
*******************************************************************************************/
.media-content {
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}

.media-content h2 {
	font-size: 30px;
	margin-bottom: 20px;
}

.media-content-text {
	margin-bottom: 30px;
}

.media-content-video {
	position: relative;
	width: 100%;
}

.media-content-video video,
.media-content-video img {
	width: 100%;
	display: block;
	height: auto;
}

@media screen and (min-width: 768px) {
	.media-content h2 {
		font-size: 40px;
	}

	.media-content-holder {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		align-items: flex-start;
	}

	.media-content-text {
		flex: 1;
		margin-bottom: 0;
	}

	.media-content-video {
		width: 48%;
		min-width: 48%;
		margin-left: 4%;
	}

	.reverse .media-content-holder {
		flex-direction: row-reverse;
	}

	.reverse .media-content-video {
		margin-left: 0;
		margin-right: 4%;
	}
}

@media screen and (min-width: 1025px) {
	.media-content-holder {
		align-items: center;
	}

	.media-content {
		margin-bottom: 90px;
	}

	.media-content h2 {
		font-size: 51px;
	}
}


/*******************************************************************************************
VOTE-SECTION - Page-top image and title
*******************************************************************************************/
.vote-section {
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}

.vote-section h2 {
	font-size: 30px;
}

.vote-section .vote-left {
	margin-bottom: 30px;
}

.vote-form {
	background: #b6b6b6;
	padding: 22px;
	display: block;
}

.vote-form textarea {
	width: 100%;
	height: 170px;
	border: 0;
	padding: 20px;
	margin-bottom: 15px;
}

.vote-form button {
	margin: 0 auto;
	width: 290px;
	display: block;
}

.vote-section .vote-right {
	position: relative;
	width: 100%;
}

.vote-section .vote-right img {
	width: 100%;
	display: block;
	height: auto;
}

@media screen and (min-width: 768px) {
	.vote-section h2 {
		font-size: 40px;
	}

	.vote-section .vote-holder {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}

	.vote-section .vote-left {
		flex: 1;
		margin-bottom: 0;
	}

	.vote-section .vote-right {
		width: 35%;
		min-width: 35%;
		margin-left: 45px;
	}
}

@media screen and (min-width: 1025px) {
	.vote-section h2 {
		font-size: 48px;
	}
}


/*******************************************************************************************
FOOTER - Page-bottom footer section
*******************************************************************************************/
.footer {
	background: var(--color-black);
	width: 100%;
}

.footer-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 30px 0;
	row-gap: 20px;
}

.footer-logo {
	display: block;
	width: 120px;
	line-height: 1;
	margin-right: 15px;
}

.footer-logo img {
	width: 100%;
	display: block;
}

.footer-right {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-link {
	text-decoration: none;
	color: var(--color-white);
	font-size: 1.313rem;
	display: block;
	line-height: 1;
}

.footer-link:focus,
.footer-link:hover {
	color: var(--color-secondary);
}

.footer-social {
	display: flex;
	column-gap: 20px;
	margin-right: 10px;
}

.footer-social-link {
	color: var(--color-white);
	text-decoration: none;
	display: block;
	line-height: 1;
}

.footer-social-link:focus,
.footer-social-link:hover {
	color: var(--color-secondary);
}

.footer-social-link i {
	display: block;
	font-size: 1.7rem;
}

.footer-social-link .icon-envelope-solid {
	font-size: 1.8rem;
}

@media screen and (min-width: 768px) {
	.footer-inner {
		justify-content: space-between;
	}

	.footer-right {
		width: auto;
		justify-content: flex-end;
	}
}

@media screen and (min-width: 1025px) {

}

/*******************************************************************************************
/*******************************************************************************************
PSYCHNER SITE
*******************************************************************************************/

label {
	display: block;
	font-size: 0.9rem;
	color: #444;
	margin-bottom: 6px;
}

input {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #b6b6b6;
	padding: 8px 0;
	margin-bottom: 14px;
	font-size: 0.95rem;
}

.form-message {
	margin: 10px 0 0;
	font-size: 0.92rem;
}

.form-message.is-error {
	color: #d12c2c;
}
