/*  ######################################################################
	- Typography
	-	- Miscellaneous
	-	- Regular font sizes
	-	- Scalable font sizes
###################################################################### */
/*  ######################################################################
	-	- Miscellaneous
###################################################################### */

/*  ######################################################################
	-	- Regular font sizes
###################################################################### */
html {
	font-size: 62.5%; /* font-size 1em = 10px on default browser settings */
}
body,
button,
input,
select,
textarea {
	font-size: 1.4rem;
}
h1, *:where( .h1 ) { font-size: 2.4rem; }
h2, *:where( .h2 ) { font-size: 1.8rem; }
h3, *:where( .h3 ) { font-size: 1.8rem; }
h4, *:where( .h4 ) { font-size: 1.6rem; }




/*  ######################################################################
!! RESTRUCTURE !!
	- General
	-	- Elements
	-	- Classes
	-	- Site Branding
	-	- Menu
	-	- Menu Trigger
	-	- Menu Item Icons
	-	- Breadcrumb
	-	- Images
###################################################################### */
/*  ######################################################################
	-	- Elements
###################################################################### */
body {
	background-color: #ebe8e2;
}

h2, *:where( .h2 ) {
	color: #c45d2d;
}
a {
	color: var( --wp--preset--color--ir-primary-green );
	background-position: 0 100%;
	background-size: 0% 1px;
}
	a:where( :focus, :hover, :active ) {
		background-size: 100% 1px;
	}

hr {
	background-color: #c0c0c0;
	height: 1px;
	margin: 1.5em 0;
	border: none;
}

ul,
ol {
	margin: 0 0 1.5em;
	padding: 0 0 0 1em;
}
	ul:first-child,
	ol:first-child {
		margin-top: 0;
	}
	ul:last-child,
	ol:last-child { margin-bottom: 0; }
ol {
	list-style-type: lower-alpha;
}
ol li::marker {
	font-weight: 700
}
li {
	padding: 0 0 0 .5em;
}
p + ul,
*:where( .p ) + ul {
	margin-top: -.75em;
}

/*  ######################################################################
	-	- Classes
###################################################################### */
.image-has-border-radius {
	border-radius: .5rem;
}
.content-part {
	margin: 2rem 0;
}
	.content-part:first-child { margin-top: 0; }
	.content-part:last-child { margin-bottom: 0; }
.is-float-left {
	float: left;
	margin-right: 2rem;
}
.is-float-right {
	float: right;
	margin-left: 2rem;
}

/*  ######################################################################
	-	- Trigger
###################################################################### */
.fsb-trigger__color {
	background-color: #fff;
}
	.fsb-trigger:focus .fsb-trigger__color,
	.fsb-trigger:hover .fsb-trigger__color,
	.fsb-trigger:active .fsb-trigger__color,
	.fsb-trigger.is-active .fsb-trigger__color {
		background-color: #fff;
	}





/*---------------------------------------------------------------------------*\
	#Breadcrumb
\*---------------------------------------------------------------------------*/

.breadcrumb {
	position: relative;
	padding: 1rem 2rem;
	z-index: 5;
}

.breadcrumb-container {
	width: 108rem;
	max-width: 100%;
	margin: 0 auto;
}

.breadcrumb-wrapper {
	display: inline-flex;
	flex-wrap: wrap;
}

.breadcrumb .crumb-separator {
	margin: 0 .5em;
}





/*  ######################################################################
	-	- Images
###################################################################### */
.figcaption {
	padding: .5em 1em 0 1em;
}
.figcaption span {
	opacity: .5;
}





/*---------------------------------------------------------------------------*\
	#Page - main structure
\*---------------------------------------------------------------------------*/

.main {
	padding: 4rem 2rem;
}

	.breadcrumb + :where( .main ) {
		padding-top: 0;
	}

.main_container {
	width: 108rem;
	max-width: 100%;
	margin: auto;
}

.main_wrapper {
	gap: 4rem 2rem;
}

	.main--with-sidebar :where( .main_wrapper ) {
		grid-template-columns: repeat( 4, 1fr );
	}


.main--with-sidebar :where( .main__content ) {
	grid-column: 1 / 4;
}

.content_container {
	background-color: #fff;
	border-radius: .5rem;
	box-shadow: 0 .5rem 1rem rgba( 0, 0, 0, .1 );
}


@media screen and ( max-width: 67.5em ) {

	.main--with-sidebar :where( .main_wrapper ) {
		grid-template-columns: 100%;
	}


	.main--with-sidebar :where( .main__content ) {
		grid-column: 1 / -1;
	}
	
}





/*---------------------------------------------------------------------------*\
	#Sidebar
\*---------------------------------------------------------------------------*/

.sidebar {
	grid-column: 4 / 5;
}

.sidebar_container {
	background-color: #fafafa;
	height: 100%;
	border-radius: .5rem;
	padding: 2rem;
	box-shadow: 0 .2rem .6rem rgba( 0, 0, 0, .15 );
}

.sidebar_wrapper {
	position: sticky;
	top: 9.5rem;
}


:where( .sidebar__part:where( :not( :first-child ) ) ) .sidebar__part_container {
	margin-top: 2rem;
	border-top: 1px solid #e5e5e5;
	padding-top: 2rem;
}

.sidebar__part_wrapper > :where( *:not( :last-child ) ) {
	margin-bottom: 1rem;
}


@media screen and ( max-width: 67.5em ) {

	.sidebar {
		grid-column: 1 / -1;
	}
	
}





/*  ######################################################################
	- Page
###################################################################### */



.is-multicolumn {
	column-count: 2;
	column-gap: 2rem;
}
.is-column-span-all {
	column-span: all;
}
@media screen and ( max-width: 67.5em ) {
	.is-multicolumn {
		column-count: 1;
	}
}

/*  ######################################################################
	- Main
	-	- Header
###################################################################### */
/*  ######################################################################
	-	- Header
###################################################################### */
.page-header .header-container {
	padding: 4rem 0;
}
	.page-header:first-child .header-container {
		padding-top: 0;
	}
	.page-header:last-child .header-container {
		padding-bottom: 0;
	}
.page-header .header-content-wrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	margin: -2rem;
}
.page-header .header-content-part {
	padding: 2rem;
}
.page-header .image {
	display: block;
	height: 6.4rem;
	width: auto;
	max-width: 100%;
}
.page-header .image.flag {
	height: 3.36rem;
}
.page-header .image.icon {
	width: 6.4rem;
	max-width: none;
	overflow: hidden;
	border-radius: 3.2rem;
}





/*---------------------------------------------------------------------------*\
	#Content-Box
\*---------------------------------------------------------------------------*/

.content-box_container {
	position: relative;
	background-color: #fafafa;
	margin: 0 4rem;
	padding: 2rem;
	box-shadow: 0 .5rem 1rem rgba( 0, 0, 0, .1 ) inset;
	border-radius: .5rem;
}

.content-box_wrapper {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr 1fr;
}

.content-box__part:where( :not( .content-box__part--content, .content-box__part--media ) ) {
	grid-column: 1 / -1;
}

.content-box__part--media {
	position: sticky;
	align-self: start;
	/* Site Header + Content Menu ( font-size * line-height + padding ( top + bottom ) ) + Grid Gap */
	top: calc( 8.5rem + calc( 1.4rem * 1.6 + 2.5rem ) + 2rem );
}


@media screen and ( max-width: 45em ) {

	.content-box_wrapper {
		grid-template-columns: 1fr;
	}

}





/*  ######################################################################
	- Video
###################################################################### */
.video-player-container {
	position: relative;
	padding-bottom: 56.25%;
}
.video-player-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
.video-player-body {
	display: block;
	width: 100%;
	height: 100%;
}


/*  ######################################################################
	- FAQ
###################################################################### */
.faq-wrapper > p {
	position: relative;
	background: #f5f5f5;
	overflow: hidden;
	margin: 1em 0 0;
	padding: 1rem 2rem;
	border-radius: .5rem .5rem 0 0;
}
	.faq-wrapper > p::before {
		content: '';
		position: absolute;
		background: #43771b;
		top: 0;
		left: 0;
		width: .5rem;
		height: 100%;
	}
.faq-wrapper > ul {
	position: relative;
	background: #fafafa;
	list-style-type: none;
	overflow: hidden;
	margin: 0;
	padding: 1rem 2rem;
	border-radius: 0 0 .5rem .5rem;
}
	.faq-wrapper > ul::before {
		content: '';
		position: absolute;
		background: #c0c0c0;
		top: 0;
		left: 0;
		width: .5rem;
		height: 100%;
	}
.faq-wrapper > ul > li {
	margin: 2rem 0 0;
	padding: 0;
}
	.faq-wrapper > ul > li:first-child {
		margin-top: 0;
	}

	.faq li li {
		list-style-type: disc;
	}


/* ######################################################################
	- Numbers, Data, Facts
###################################################################### */
.numbers-data-facts-wrapper {
	display: flex;
	margin: -1rem;
}
.numbers-data-facts-part {
	padding: 1rem;
}
.numbers-data-facts-media {
	width: 37.5%;
}
.numbers-data-facts-content {
	width: 62.5%;
}
.numbers-data-facts-row-container {
	padding: 1rem;
}
.numbers-data-facts-row:nth-of-type( odd ) .numbers-data-facts-row-container {
	background: #f5f5f5;
}
.numbers-data-facts-row:nth-of-type( even )  .numbers-data-facts-row-container {
	background: #fff;
}
.numbers-data-facts-row-wrapper {
	display: flex;
}
.numbers-data-facts-label,
.numbers-data-facts-value {
	padding: .5rem 1rem;
}
.numbers-data-facts-label {
	font-weight: 600;
	width: 33.33333333%;
}
.numbers-data-facts-value {
	width: 66.66666667%;
}


/* ######################################################################
	- Search
###################################################################### */
.search-header-container,
.search-form-frame-container,
.search-results-frame-container {
	padding: 2rem 0;
}
.search-wrapper > *:first-child > .container {
	padding-top: 0;
}
.search-wraapper > *:last-child > .container {
	padding-bottom: 0;
}


/* ######################################################################
	- Modal
###################################################################### */
.modal-frame.fixed {
	z-index: 100000;
}
.fixed.fixed-bottom.is-inactive > .fixed-container > .fixed-wrapper {
	bottom: 0;
}
.modal-frame-wrapper {
	height: 100%;
}
.modal-frame .modal {
	position: relative;
	background-color: rgba( 0, 0, 0, .4 );
	display: flex;
	opacity: 1;
	height: 100%;
	width: 100%;
	transition: opacity .25s ease;
}
	.modal-frame.is-inactive .modal {
		opacity: 0;
	}
.modal-container {
	margin: auto;
}
.modal-content-frame-container {
	position: relative;
	/*overflow: hidden auto;*/
	max-height: calc( 100vh - 4rem );
	width: 72rem;
	max-width: calc( 100vw - 4rem );
	border-radius: .5rem;
	box-shadow: 0 .5rem 1rem rgba( 0, 0, 0, .1 );
	/*scrollbar-color: #c0c0c0 transparent;
	scrollbar-width: thin;*/
}
	/*.modal-content-frame-container::-webkit-scrollbar {
		width: 8px;
	}
	.modal-content-frame-container::-webkit-scrollbar-track {
		background: transparent;
	}
	.modal-content-frame-container::-webkit-scrollbar-thumb {
		background: #c0c0c0;
	}*/
.modal-content-frame-wrapper {
	position: relative;
}
.modal-header {
	background: var( --wp--preset--color--ir-primary-green );
	background-image: var( --wp--preset--gradient--ir-darker-to-brighter-primary-green );
	color: #fff;
}
.modal-header-container {
	padding: 2rem;
}
.modal-header-wrapper {
	position: relative;
}
.modal-title {
	color: inherit;
	margin: 0;
	padding-right: 3rem;
}
.modal-title .icon.is-inline {
	margin: 0 .5em 0 0;
}
.button.button-close.modal-close-trigger,
.button.button-close.modal-close-trigger:focus,
.button.button-close.modal-close-trigger:hover,
.button.button-close.modal-close-trigger:active {
	position: absolute;
	background: none;
	color: inherit;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1;
	width: 4rem;
	height: 4rem;
	top: -1rem;
	right: -1rem;
	margin: 0;
	border: none;
	padding: 1rem;
}
	.button.button-close.modal-close-trigger::before {
		content: '';
		position: absolute;
		background: rgba( 255, 255, 255, 0 );
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		border-radius: .5rem;
		mix-blend-mode: soft-light;
		transition: background-color .25s;
		z-index: 0;
	}
	.button.button-close.modal-close-trigger:focus::before,
	.button.button-close.modal-close-trigger:hover::before,
	.button.button-close.modal-close-trigger:active::before {
		background: rgba( 255, 255, 255, .4 );
	}
.modal-content {
	background-color: #fff;
	max-height: calc( 100vh - 10.5rem );
	overflow: hidden auto;
	scrollbar-color: #c0c0c0 transparent;
	scrollbar-width: thin;
}
	.modal-content::-webkit-scrollbar {
		width: 8px;
	}
	.modal-content::-webkit-scrollbar-track {
		background: transparent;
	}
	.modal-content::-webkit-scrollbar-thumb {
		background: #c0c0c0;
	}
.modal-content-container {
	padding: 2rem;
}




/*  ######################################################################
	- Forms
	-	- Modern Checkbox
	-	- Modern Select
	-	- Fieldset
###################################################################### */
.ajax-form {
	position: relative;
	/* Flexgrid fix */
	margin: -1rem;
	padding: 1rem;
}
.field-wrapper,
.field-value-wrapper {
	position: relative;
}
.field-description {
	color: #808080;
	font-size: 80%;
}
.field-description-container {
	padding: 1rem 2rem 0;
}
textarea {
	height: 6em;
}
textarea,
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
input[type="url"] {
	background-color: #f0f0f0;
	font-weight: 700;
	padding: 1rem 2rem;
	border: .1rem solid #f0f0f0;
	border-radius: .5rem;
	transition: all .25s ease;
}
	textarea:focus,
	textarea:hover,
	textarea:active,
	input[type="date"]:focus,
	input[type="date"]:hover,
	input[type="date"]:active,
	input[type="email"]:focus,
	input[type="email"]:hover,
	input[type="email"]:active,
	input[type="number"]:focus,
	input[type="number"]:hover,
	input[type="number"]:active,
	input[type="password"]:focus,
	input[type="password"]:hover,
	input[type="password"]:active,
	input[type="tel"]:focus,
	input[type="tel"]:hover,
	input[type="tel"]:active,
	input[type="text"]:focus,
	input[type="text"]:hover,
	input[type="text"]:active,
	input[type="url"]:focus,
	input[type="url"]:hover,
	input[type="url"]:active {
		background-color: #fafafa;
	}
textarea.has-error,
input[type="date"].has-error,
input[type="email"].has-error,
input[type="number"].has-error,
input[type="password"].has-error,
input[type="tel"].has-error,
input[type="text"].has-error,
input[type="text"]:invalid,
input[type="url"].has-error {
	color: #ff6666;
	border-color: #ff6666;
}
input[type="submit"],
a.button,
button.button,
input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background-color: transparent;
    background-image: linear-gradient( 35deg, #601636 0%, #781c44 50%, #934969 100% );
	background-position: 0 0;
	background-size: 200% 100%;
	display: block;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	line-height: inherit;
	text-align: center;
	border: none;
	padding: 1.1rem 2.1rem;
	outline: none;
	box-shadow: none;
	border-radius: .5rem;
	transition: background .25s ease;
}
	input[type="submit"]:focus,
	input[type="submit"]:hover,
	input[type="submit"]:active,
	a.button:focus,
	a.button:hover,
	a.button:active,
	button.button:focus,
	button.button:hover,
	button.button:active,
	input.button:focus,
	input.button:hover,
	input.button:active,
	.woocommerce #respond input#submit:focus,
	.woocommerce #respond input#submit:hover,
	.woocommerce #respond input#submit:active,
	.woocommerce a.button:focus,
	.woocommerce a.button:hover,
	.woocommerce a.button:active,
	.woocommerce button.button:focus,
	.woocommerce button.button:hover,
	.woocommerce button.button:active,
	.woocommerce input.button:focus,
	.woocommerce input.button:hover,
	.woocommerce input.button:active {
		background-color: transparent;
		background-image: linear-gradient( 35deg, #601636 0%, #781c44 50%, #934969 100% );
		background-position: 100% 0;
		color: #fff;
		outline: none;
	}
	input[type="submit"]:disabled,
	a.button:disabled,
	button.button:disabled,
	input.button:disabled,
	.woocommerce #respond input#submit:disabled,
	.woocommerce a.button:disabled,
	.woocommerce button.button:disabled,
	.woocommerce input.button:disabled {
		background-color: transparent;
		background-image: linear-gradient( 35deg, #adadad 0%, #858585 50%, #c2c2c2 100% );
		background-position: 0 0;
		color: #fff;
		cursor: default;
		outline: none;
	}
button {
	
}
label {
	font-weight: 700;
}
.has-label-on-top:placeholder-shown::placeholder {
	opacity: 0;
}
textarea.has-label-on-top,
.has-label-on-top[type="date"]:placeholder-shown,
.has-label-on-top[type="date"]:not( :placeholder-shown ),
.has-label-on-top[type="email"]:placeholder-shown,
.has-label-on-top[type="email"]:not( :placeholder-shown ),
.has-label-on-top[type="number"]:placeholder-shown,
.has-label-on-top[type="number"]:not( :placeholder-shown ),
.has-label-on-top[type="password"]:placeholder-shown,
.has-label-on-top[type="password"]:not( :placeholder-shown ),
.has-label-on-top[type="tel"]:placeholder-shown,
.has-label-on-top[type="tel"]:not( :placeholder-shown ),
.has-label-on-top[type="text"]:placeholder-shown,
.has-label-on-top[type="text"]:not( :placeholder-shown ),
.has-label-on-top[type="url"]:placeholder-shown,
.has-label-on-top[type="url"]:not( :placeholder-shown ) {
	/* Padding top is the label line height. */
	padding-top: 2.048rem;
	padding-bottom: .5rem;
}
.has-label-on-top ~ .label-is-on-top {
	display: none;
}
.has-label-on-top:placeholder-shown ~ .label-is-on-top,
.has-label-on-top:not( :placeholder-shown ) ~ .label-is-on-top {
	position: absolute;
	cursor: text;
	color: #808080;
	font-weight: 500;
	top: 50%;
	left: 2rem;
	display: block;
	transform-origin: 0 0;
	transition: transform .25s ease;
	z-index: 10;
}
	textarea.has-label-on-top:placeholder-shown ~ .label-is-on-top,
	textarea.has-label-on-top:not( :placeholder-shown ) ~ .label-is-on-top {
		top: 2.5rem;
	}
	.has-label-on-top:placeholder-shown ~ .label-is-on-top {
		transform: translate( 0, -50% );
	}
	.has-label-on-top:focus ~ .label-is-on-top,
	.has-label-on-top:not( :placeholder-shown ) ~ .label-is-on-top {
		/* Translate the label to the top of the input. */
		transform: scale( .8 ) translate( -1.25rem, -3.1925rem );
	}
input.input-has-extended-height {
	padding-top: 1.274rem;
	padding-bottom: 1.274rem;
}
input[type="submit"].input-has-extended-height,
a.button.button-has-extended-height,
button.button.button-has-extended-height,
input.button.button-has-extended-height,
.woocommerce #respond input#submit.button-has-extended-height,
.woocommerce a.button.button-has-extended-height,
.woocommerce button.button.button-has-extended-height,
.woocommerce input.button.button-has-extended-height {
    padding-top: 1.374rem;
    padding-bottom: 1.374rem;
}
input[type="number"].has-currency-label {
	padding-right: 6rem;
	-moz-appearance: textfield;
	appearance: textfield;
}
	input[type="number"].has-currency-label::-webkit-inner-spin-button,
	input[type="number"].has-currency-label::-webkit-outer-spin-button {
		-webkit-appearance: none;
		appearance: none;
	}
.currency-label {
	position: absolute;
	cursor: text;
	font-weight: 700;
	right: 2rem;
	top: 50%;
	transform: translateY( -50% );
	transition: transform .25s ease;
}
	.has-label-on-top:focus ~ .currency-label,
	.has-label-on-top:not( :placeholder-shown ) ~ .currency-label {
		/* Translate the label to the top of the input. */
		transform: translateY( calc( -50% + 0.774rem ) );
	}

/*  ######################################################################
	-	- Modern Checkbox
###################################################################### */
.modern-checkbox-frame-wrapper {
	position: relative;
}
.modern-checkbox {
	position: absolute;
	cursor: pointer;
	height: 2.56rem;
	width: 1.8rem;
	top: 0;
	left: 0;
	opacity: 0;
	margin: 0;
	z-index: 100;
}
.checkbox-label {
	position: relative;
	display: inline-block;
	font-weight: 700;
	margin: 0 0 0 1.8rem;
	padding: 0 0 0 1rem;
	z-index: 1;
}
.checkbox-label .option-description {
	font-size: 1.4rem;
	font-weight: 400;
}
.checkbox-icon {
	position: absolute;
	height: 2.56rem;
	width: 1.8rem;
	top: 0;
	left: 0;
	z-index: 10;
}
.checkbox-icon i {
	position: absolute;
	display: block;
	font-size: 1.8rem;
	line-height: 1.42222222;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	transition: all .25s ease;
}
.modern-checkbox ~ .checkbox-icon .fa-circle,
.modern-checkbox ~ .checkbox-icon .fa-square {
	opacity: 1;
}
	.modern-checkbox:checked ~ .checkbox-icon .fa-square,
	.modern-checkbox:checked ~ .checkbox-icon .fa-circle {
		opacity: 0;
	}
.modern-checkbox ~ .checkbox-icon .fa-circle-check,
.modern-checkbox ~ .checkbox-icon .fa-square-check {
	opacity: 0;
}
	.modern-checkbox:checked ~ .checkbox-icon .fa-circle-check,
	.modern-checkbox:checked ~ .checkbox-icon .fa-square-check {
		opacity: 1;
	}

/*  ######################################################################
	-	- Modern Select
###################################################################### */
.modern-select {
	position: relative;
}
.modern-select-selection-wrapper {
	position: relative;
}
.select-button.modern-select-button {
	padding-right: 5.2rem;
}
.select-selection-icon {
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY( -50% );
	z-index: 10;
}
.modern-select-button-toggle {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 100;
}

.modern-select-options-frame-wrapper {
	height: 100%;
}
.modern-select-options {
	position: relative;
	background-color: rgba( 0, 0, 0, .4 );
	opacity: 1;
	height: 100%;
	width: 100%;
	transition: opacity .25s ease;
}
	.modern-select-options-frame.is-inactive .modern-select-options {
		opacity: 0;
	}
.modern-select-options-container {
	position: absolute;
	overflow: hidden auto;
	max-height: calc( 100% - 4rem );
	max-width: 50%;
	top: 50%;
	left: 50%;
	scrollbar-color: #c0c0c0 transparent;
	scrollbar-width: thin;
	transform: translate( -50%, -50% );
}
	.modern-select-options-container::-webkit-scrollbar {
		width: 8px;
	}
	.modern-select-options-container::-webkit-scrollbar-track {
		background: transparent;
	}
	.modern-select-options-container::-webkit-scrollbar-thumb {
		background: #c0c0c0;
	}
.modern-select-options-wrapper {
	position: relative;
}
.modern-option-frame {
	margin: 2rem 2rem 0 2rem;
}
	.modern-option-frame:first-child {
		margin-top: 0;
	}
.modern-option-frame-container {
}
.modern-option-label.modern-checkbox-label {
	background: #fff;
	display: block;
	margin-left: 0;
	border-radius: .5rem;
	padding: 1.1rem 2.1rem 1.1rem 4.9rem;
}
	.modern-option-label.modern-checkbox-label.label-has-extended-height {
		padding-top: 1.347rem;
		padding-bottom: 1.347rem;
	}
.modern-option.modern-checkbox,
.option-icon.checkbox-icon {
	top: 1.1rem;
	left: 2.1rem;
}
	.label-has-extended-height ~ .modern-option.modern-checkbox,
	.label-has-extended-height ~ .option-icon.checkbox-icon {
		top: 1.374rem;
	}


.fixed.fixed-bottom.is-inactive > .fixed-container > .fixed-wrapper {
	bottom: 0;
}

@media screen and ( max-width: 67.5em ) {
	.modern-select-options-container {
		max-width: calc( 100% - 4rem );
	}
}





/* Multi toggle */
.multi-toggle {
}
.multi-toggle .multi-toggle-wrapper {
	background-color: #f5f5f5;
	display: inline-flex;
	overflow: hidden;
	border-radius: .5rem;
}
.multi-toggle .multi-toggle-option {
	
}
.multi-toggle .multi-toggle-radio {
	position: absolute;
	z-index: 0;
}
.multi-toggle label {
	position: relative;
	background-color: #f5f5f5;
	background-image: none;
	display: block;
	padding: 1rem 2rem;
	transition: background-color .25s ease, color .25s ease;
	z-index: 10;
}
.multi-toggle label:hover {
	background-color: #e5e5e5;
}
.multi-toggle input:checked + label {
	background-color: var( --wp--preset--color--ir-primary-green );
	color: #fff;
}


/* Custom */
.infotext {
	color: #808080;
	font-size: 80%;
}

.fieldset-frame {
	margin: 0;
	padding: 0;
}
	.fieldset-frame:first-child {
		margin-top: 0;
	}
	.fieldset-frame.step::before {
		content: none;
	}
.fieldset-content {
	padding: 0;
}

.content-scroll-box {
	position: relative;
	overflow: hidden;
	height: 25rem;
	border: 1px solid #f0f0f0;
	border-radius: .5rem;
}
.content-scroll-box-container {
	position: relative;
	background: #fafafa;
	box-shadow: 0 .5rem 1rem rgba( 0, 0, 0, .1 ) inset;
	overflow: hidden auto;
	height: 100%;
	padding: 2rem;
	scrollbar-color: #c0c0c0 #f0f0f0;
	scrollbar-width: thin;
}
	.content-scroll-box-container::-webkit-scrollbar {
		width: 8px;
	}
	.content-scroll-box-container::-webkit-scrollbar-track {
		background: #f0f0f0;
	}
	.content-scroll-box-container::-webkit-scrollbar-thumb {
		background: #c0c0c0;
	}
.content-scroll-box * {
	color: inherit;
}
.content-scroll-box h1 {
	font-size: 1.5rem;
}
.content-scroll-box h2 {
	font-size: 1.4rem;
}
.content-scroll-box h3 {
	font-size: 1.3rem;
}
.content-scroll-box h4 {
	font-size: 1.2rem;
}
.content-scroll-box p {
	font-size: 1.2rem;
}


input[type="checkbox"] + .checkbox-label {
	font-weight: 500;
}
.step input[type="email"], .step input[type="number"], .step input[type="password"], .step input[type="text"] {
	background-color: #f0f0f0;
	border: .1rem solid #f0f0f0;
}


.panel-container {
	border: 1px solid #f0f0f0;
	border-radius: .5rem;
}
.panel-trigger {
	cursor: pointer;
}
.panel-header {
	background: #c0c0c0;
	font-weight: 700;
	padding-right: 2em;
}
.panel-header-container {
	padding: 2rem;
}
.panel-header-wrapper {
	position: relative;
}
.panel-header-text {
	padding-right: 2em;
}
.panel-header-icon {
	position: absolute;
	width: 1em;
	height: 1em;
	top: 0;
	right: 0;
}
.panel-trigger .panel-header-icon .fa-caret-up {
	display: none;
}
.panel-trigger .panel-header-icon .fa-caret-down {
	display: inline-block;
}
.panel-trigger.has-content .panel-header-icon .fa-caret-up {
	display: inline-block;
}
.panel-trigger.has-content .panel-header-icon .fa-caret-down {
	display: none;
}
.panel-content-container {
	padding: 2rem;
}


/*  ######################################################################
	- Taxonomies ( after content )
###################################################################### */
.taxonomy-group-container {
	padding-top: 4rem;
}
	.taxonomy-group:first-child .taxonomy-group-container {
		padding-top: 0;
	}
.term-item-container,
.term-item-wrapper,
.term-item-link,
.term-item-content,
.term-item-content-container,
.term-item-content-wrapper {
	height: 100%;
}
.term-item-link {
	color: inherit;
	display: block;
	background: none;
}
	.term-item-link:hover {
		color: inherit;
		background: none;
	}
.term-item-content-container {
	background-color: #f5f5f5;
	border-radius: .5rem;
	padding: 2rem;
	box-shadow: 0 .1rem .2rem rgba( 0, 0, 0, .2 );
	transition: background-color .25s ease;
	text-align: center;
}
	.term-item-link:hover .term-item-content-container {
		background-color: #edf2e9;
	}
.term-item .image-frame {
	background-color: #808080;
	height: 6.4rem;
	width: 6.4rem;
	margin: 0 auto 2rem;
	border-radius: 6.4rem;
}
.term-item .image-placeholder {
	background-color: #c0c0c0;
}
.term-item-heading {
	color: inherit;
	font-size: 1.6rem;
}
.term-item .icon {
	background-color: var( --wp--preset--color--ir-primary-green );
	display: block;
	height: 6.4rem;
	width: 6.4rem;
	margin: auto;
	border-radius: 10rem;
}
.term-item-content .subtitle {
	font-size: 1.2rem;
}
/* Small */
.term-item-small .term-item-content-wrapper {
	display: flex;
	align-items: center;
	text-align: left;
}
.term-item-small .image-frame {
	flex-shrink: 0;
	height: 3.2rem;
	width: 3.2rem;
	margin: 0 2rem 0 0;
	padding: 0;
}
.term-item-small .heading {
	margin: 0;
	padding: 0;
}
.term-item-small .icon {
	height: 3.2rem;
	width: 3.2rem;
}


/*  ######################################################################
	- Taxonomies
	-	- Inline ( default )
	-	- Tile
	-	- Tile small
###################################################################### */
/*  ######################################################################
	-	- Inline ( default )
###################################################################### */
.taxonomy-content-wrapper {
	display: flex;
}
.taxonomy-content-wrapper {
	margin: -.5rem;
}
.taxonomy-part {
	padding: .5rem;
}
/*  ######################################################################
	-	- Tile
###################################################################### */
.taxonomy-tiles-content .taxonomy-content-container {
	padding-top: 4rem;
}
	.taxonomy-tiles-content:first-child .taxonomy-content-container {
		padding-top: 0;
	}
.taxonomy-tiles-content .taxonomy-content-wrapper {
	flex-wrap: wrap;
	margin: -1rem;
}
.taxonomy-tiles-content .taxonomy-part {
	padding: 1rem;
}
.taxonomy-tiles-content .taxonomy-heading-frame {
	width: 100%;
}
.term.is-tile {
	width: 25%;
}
.term.is-tile .term-container,
.term.is-tile .term-wrapper,
.term.is-tile .term-link,
.term.is-tile .term-content,
.term.is-tile .term-content-container {
	height: 100%;
}
.term.is-tile .term-link {
	color: inherit;
	display: block;
	background: none;
}
	.term.is-tile .term-link:focus,
	.term.is-tile .term-link:hover,
	.term.is-tile .term-link:active {
		color: inherit;
		background: none;
	}
.term.is-tile .term-content-container {
	background-color: #f5f5f5;
	border-radius: .5rem;
	padding: 2rem;
	box-shadow: 0 .1rem .2rem rgba( 0, 0, 0, .2 );
	transition: background-color .25s ease;
	text-align: center;
}
	.term.is-tile .term-link:focus .term-content-container,
	.term.is-tile .term-link:hover .term-content-container,
	.term.is-tile .term-link:active .term-content-container {
		background-color: #edf2e9;
	}
.term.is-tile .term-image.icon,
.term.is-tile .image-placeholder {
	display: block;
	height: 6.4rem;
	width: 6.4rem;
	margin: auto;
	border-radius: 6.4rem;
}
	.term.is-tile .term-image.icon {
		background-color: var( --wp--preset--color--ir-primary-green );
	}
	.term.is-tile .image-placeholder {
		background-color: #c0c0c0;
	}
.term.is-tile .term-heading {
	color: inherit;
	font-size: 1.6rem;
}
.term.is-tile .term-subtitle {
	font-size: 1.2rem;
}

/*  ######################################################################
	-	- Tile small
###################################################################### */
.term.is-tile.is-small .term-content-wrapper {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	text-align: left;
	margin: -1rem;
}
.term.is-tile.is-small .term-part {
	padding: 1rem;
}
.term.is-tile.is-small .term-heading {
	margin: 0;
	padding: 0;
}
.term.is-tile.is-small .term-image.icon,
.term.is-tile.is-small .image-placeholder {
	height: 3.2rem;
	width: 3.2rem;
}


/*  ######################################################################
	- Travelogues
	-	- Tile small
###################################################################### */
/*  ######################################################################
	-	- Inline ( default )
###################################################################### */
.travelogues-content-wrapper {
	display: flex;
}
.travelogues-content-wrapper {
	margin: -.5rem;
}
.travelogues-part {
	padding: .5rem;
}
/*  ######################################################################
	-	- Tile
###################################################################### */
.travelogues-tiles-content .travelogues-content-container {
	padding-top: 4rem;
}
	.travelogues-tiles-content:first-child .travelogues-content-container {
		padding-top: 0;
	}
.travelogues-tiles-content .travelogues-content-wrapper {
	flex-wrap: wrap;
	margin: -1rem;
}
.travelogues-tiles-content .travelogues-part {
	padding: 1rem;
}
.travelogues-tiles-content .travelogues-heading-frame {
	width: 100%;
}
.travelogue.is-tile {
	width: 25%;
}
.travelogue.is-tile .travelogue-container,
.travelogue.is-tile .travelogue-wrapper,
.travelogue.is-tile .travelogue-link,
.travelogue.is-tile .travelogue-content,
.travelogue.is-tile .travelogue-content-container {
	height: 100%;
}
.travelogue.is-tile .travelogue-link {
	color: inherit;
	display: block;
	background: none;
}
	.travelogue.is-tile .travelogue-link:focus,
	.travelogue.is-tile .travelogue-link:hover,
	.travelogue.is-tile .travelogue-link:active {
		color: inherit;
		background: none;
	}
.travelogue.is-tile .travelogue-content-container {
	background-color: #f5f5f5;
	border-radius: .5rem;
	padding: 2rem;
	box-shadow: 0 .1rem .2rem rgba( 0, 0, 0, .2 );
	transition: background-color .25s ease;
	text-align: center;
}
	.travelogue.is-tile .travelogue-link:focus .travelogue-content-container,
	.travelogue.is-tile .travelogue-link:hover .travelogue-content-container,
	.travelogue.is-tile .travelogue-link:active .travelogue-content-container {
		background-color: #edf2e9;
	}
.travelogue.is-tile .travelogue-image.icon,
.travelogue.is-tile .image-placeholder {
	display: block;
	height: 6.4rem;
	width: 6.4rem;
	margin: auto;
	border-radius: 6.4rem;
}
	.travelogue.is-tile .travelogue-image.icon {
		background-color: var( --wp--preset--color--ir-primary-green );
	}
	.travelogue.is-tile .image-placeholder {
		background-color: #c0c0c0;
	}
.travelogue.is-tile .travelogue-heading {
	color: inherit;
	font-size: 1.6rem;
}
.travelogue.is-tile .travelogue-subtitle {
	font-size: 1.2rem;
}

/*  ######################################################################
	-	- Tile small
###################################################################### */
.travelogue.is-tile.is-small .travelogue-content-wrapper {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	text-align: left;
	margin: -1rem;
}
.travelogue.is-tile.is-small .travelogue-part {
	padding: 1rem;
}
	.travelogue.is-tile.is-small .travelogue-part.travelogue-image-frame {
		flex-shrink: 0;
	}
.travelogue.is-tile.is-small .travelogue-heading {
	margin: 0;
	padding: 0;
}
.travelogue.is-tile.is-small .travelogue-image.icon,
.travelogue.is-tile.is-small .image-placeholder {
	height: 3.2rem;
	width: 3.2rem;
}



/*  ######################################################################
	- Header Image
###################################################################### */
.header-image-frame-container {
	box-shadow: 0 .5rem 1rem rgba( 0, 0, 0, .1 );
}
.header-image-frame figure {
	display: block;
	margin: 0;
}
#header-image {
	display: block;
	object-fit: cover;
	object-position: center;
	height: 20rem;
	width: 100%;
	max-width: none;
}





/*  ######################################################################
	- Newsletter !! TMP until new fnc !!
###################################################################### */
#newsletter a {
	background: none !important;
}
#newsletter p {
	margin: 0;
}
#newsletter .flyer-header {
	background-repeat: no-repeat;
	background-color: #43771B;
	background-position: bottom;
	background-size: contain;
	margin: 0;
	border-radius: .5rem;
	padding: 2rem 2rem 29.27272727rem 2rem;
}
#newsletter .flyer-header h1,
#newsletter .flyer-header h2 {
	color: #fff;
	font-weight: 600;
	padding: 0 !important;
}
#newsletter .row {
	display: flex;
	margin: 0 -1rem !important;
}
	#newsletter .row:first-child,
	#newsletter .row .row {
		display: block;
		margin: 0 !important;
		padding: 0 !important;
	}
	#newsletter .row .row {
		padding: 1rem 0 !important;
	}
#newsletter .col-md-6 {
	width: 50% !important;
	padding: 1rem !important;
}
#newsletter .flyer-image {
	position: relative;
}
#newsletter .flyer-image img {
	display: block;
	width: 100% !important;
	padding-top: 15rem;
	background-color: #43771B;
	border-radius: .5rem;
}
#newsletter .flyer-image .flyer-land {
	position: absolute;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	top: 0;
	padding: 2rem;
}
#newsletter .flyer-image .flyer-title,
#newsletter .flyer-image .flyer-title2,
#newsletter .flyer-image .flyer-preis {
	font-size: 1.6rem;
	font-weight: 400;
}
#newsletter .flyer-image .flyer-title {
	margin-bottom: .5em;
}
#newsletter .row .row > a {
	display: flex;
	align-items: flex-start;
	column-gap: 1rem;
}
#newsletter .flyer-highlights,
#newsletter .flyer-text {
	font-size: 1.4rem;
}
#newsletter .flyer-highlights {
	border-radius: .5rem;
	color: #fff;
	background: #43771b;
}
#newsletter .alignright {
	float: right;
}

/*.p--inspirationen--home {
	padding: 4rem 0 11rem 0;
}*/

.p--inspirationen--home ~ :where( div ) {
	clear: both;
}

.p--inspirationen--home a:first-of-type {
	background-image: none;
}

.p--inspirationen--home img {
	height: 225px;
	object-fit: cover;
	object-position: center;
	border-radius: .5rem;
}

@media screen and ( max-width: 33.75em ) {
	.p--inspirationen--home {
		display: none;
	}
}





/*  ######################################################################
	- Inspirationen 2024 Frühling !! TMP until new fnc !!
###################################################################### */
.single-flyer a {
	background-image: none;
}
.single-flyer .main-frame-container {
	width: 600px;
}
.single-flyer .content .section,
.single-flyer .content .section-container {
	padding: 0;
}





/*  ######################################################################
	- Pre mobile fixes !! TMP !!
###################################################################### */
@media screen and ( max-width: 67.5em ) {
	/* Reise */
	#main .content-frame,
	#main .sidebar {
		width: 100%;
	}
	
	
	/* Tiles */
	.term.is-tile {
		width: 33.33333333%;
	}
}

@media screen and ( max-width: 45em ) {
	#main .content-menu-frame {
		display: none;
	}

	#main .numbers-data-facts-wrapper {
		flex-wrap: wrap;
	}
	
	#main .numbers-data-facts-media,
	#main .numbers-data-facts-content {
		width: 100%;
	}
	
	
	/* Tiles */
	.term.is-tile {
		width: 50%;
	}
}

@media screen and ( max-width: 33.75em ) {
	/* Reise */
	#main .reise-header .reise-header-wrapper {
		flex-wrap: wrap;
	}
	
	#main .reise-header-primary {
		width: 100%;
		padding: 0 0 2rem 0;
	}
	
	#main .reise-header-secondary {
		padding: 2rem 0 0 0;
	}
	
	#main .reise-header-secondary-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 2rem;
	}
	
	#main .reise-duration-container,
	#main .reise-participants-container,
	#main .reise-difficulty-container {
		padding: 0;
	}
	
	
	#main .reise-summary-image {
		width: 100%;
		float: none;
		padding: 0 0 2rem 0;
	}
	
	
	#main .reise-highlights .reise-highlights-wrapper {
		flex-wrap: wrap;
	}
	
	#main .reise-highlights-image {
		order: 2;
		width: 100%;
		padding: 2rem 0 0 0;
	}
	
	#main .reise-highlights-content {
		width: 100%;
		padding: 0;
	}
	
	
	#main .reise-itinerary-day.has-image .reise-itinerary-day-content,
	#main .reise-itinerary-day-image {
		width: 100%;
		padding: 0 0 2rem 0;
	}
}


@media screen and ( max-width: 22.5em ) {
	/* Tiles */
	.term.is-tile {
		width: 100%;
	}
}



/*  ######################################################################
	- Pre Form rework fixes !! TMP !!
###################################################################### */
.select-options.modern-select-options {
	padding: 2rem;
}

.select-options-container.modern-select-options-container {
	background-color: #fff;
	padding: 2rem;
	border-radius: .5rem;
}


.option-frame.modern-option-frame {
	margin-right: 0;
	margin-left: 0;
}


.option-label.modern-option-label.modern-checkbox-label {
	background-color: #f5f5f5;
	transition: background-color .25s;
}

	.option-label.modern-option-label.modern-checkbox-label:hover {
		background-color: #e5e5e5;
	}

	.modern-checkbox:checked ~ .option-label.modern-option-label.modern-checkbox-label {
		background-color: #e5e5e5;
	}


.fieldset-frame.step input[type=email],
.fieldset-frame.step input[type=number],
.fieldset-frame.step input[type=password],
.fieldset-frame.step input[type=text] {
	background: #efefef;
	border-color: #efefef;
}
	.fieldset-frame.step input[type=email]:active,
	.fieldset-frame.step input[type=email]:focus,
	.fieldset-frame.step input[type=email]:hover,
	.fieldset-frame.step input[type=number]:active,
	.fieldset-frame.step input[type=number]:focus,
	.fieldset-frame.step input[type=number]:hover,
	.fieldset-frame.step input[type=password]:active,
	.fieldset-frame.step input[type=password]:focus,
	.fieldset-frame.step input[type=password]:hover,
	.fieldset-frame.step input[type=text]:active,
	.fieldset-frame.step input[type=text]:focus,
	.fieldset-frame.step input[type=text]:hover {
	 	background: #fafafa;
	}
.fieldset-frame.step input[type=email].has-error,
.fieldset-frame.step input[type=number].has-error,
.fieldset-frame.step input[type=password].has-error,
.fieldset-frame.step input[type=text].has-error {
	background: #efefef;
	color: #f66;
	border-color: #f66;
}
.fieldset-frame.step .field-frame input[readonly] {
	background: #efefef;
	border-color: #efefef;
}
	.fieldset-frame.step .field-frame input[readonly]:focus,
	.fieldset-frame.step .field-frame input[readonly]:hover,
	.fieldset-frame.step .field-frame input[readonly]:active {
		background: #fafafa;
	}
.fieldset-frame.step .has-label-on-top.has-error:not( :placeholder-shown )~.label-is-on-top,
.fieldset-frame.step .has-label-on-top.has-error:placeholder-shown~.label-is-on-top {
 	color: #808080;
}