/*!
Theme Name: Shift Arch
Theme URI: https://lobsterspace.cz
Author: Lobster Space
Author URI: https://lobsterspace.cz
Description: Custom theme developed by Lobster Space.
Version: 1.0.á
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: shiftarch
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

@font-face {
	font-family: 'DP Saans';
	src: url('./fonts/dp-saans/Saans-TRIAL-VF.woff2') format('woff2'),
		url('./fonts/dp-saans/Saans-TRIAL-VF.woff') format('woff');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--white: #fff;
	--black: #000;
	--gray: #EAEAEA;
	--darkGray: #4F4F4F;
	overscroll-behavior: none;
}

::selection {
	background: var(--black);
	color: var(--white);
}

:focus-visible {
	outline: none;
}

/* Basic formatting */
body {
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	font-smooth: always;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	background-color: var(--gray);
	font-weight: 400;
	font-variation-settings: "wght" 400, "ital" 0, "MONO" 0
}

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

table {
	margin: 0;
}

iframe,
video {
	width: 100%;
	display: block;
}

.skip-link {
	display: block;
	font-size: 0;
	height: 0;
	width: 0;
}

/* Fonts */
body,
h1,
h2,
h3,
h4,
h5,
p,
a,
ul,
li,
input,
textarea,
label,
input,
select,
textarea,
.regular,
.regular *,
tr,
html .fancybox__infobar,
html .fancybox__infobar *,
#cmplz-document p,
#cmplz-document a,
.editor-styles-wrapper .cmplz-unlinked-mode p,
#cmplz-document li,
.editor-styles-wrapper .cmplz-unlinked-mode li,
#cmplz-document td,
.editor-styles-wrapper .cmplz-unlinked-mode td,
#cmplz-document,
.editor-styles-wrapper .cmplz-unlinked-mode,
html .cmplz-blocked-content-container .cmplz-blocked-content-notice {
	font-family: 'DP Saans', sans-serif;
	font-style: normal;
	font-size: 18px;
	letter-spacing: 2%;
	font-weight: 400;
	font-variation-settings: "wght" 400, "ital" 0, "MONO" 0;
	line-height: 1.5;
	color: var(--black);
}

h1,
h2,
h3,
h4,
h5,
legend {
	margin-top: 0;
	word-break: keep-all;
}

h1,
h2,
h3 {
	margin-bottom: 20px;
}

.huge,
.huge * {
	font-size: 10.6vw;
	letter-spacing: -1%;
}

.extra-large,
.extra-large * {
	font-size: 80px;
	line-height: 1;
}

h2,
h2 *,
.large,
.large * {
	font-size: 40px;
	letter-spacing: 2%;
	line-height: 1;
}

h3,
h3 *,
.larger,
.larger *,
#customBuilder h2,
#customBuilder h2 * {
	font-size: 26px;
	letter-spacing: 2%;
	line-height: 1.15;
}

h2,
h3 {
	margin-bottom: 14px;
}

.small,
.small * {
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 3%;
}

.small p,
p.small,
p.fontMobileSmall,
.fontMobileSmall p {
	margin-bottom: 16px;
}

p {
	margin-top: 0;
	margin-bottom: 20px;
}

a:hover {
	color: var(--black);
	text-decoration: underline;
}

a img {
	-webkit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}

.current-lang a {
	color: var(--black);
	text-decoration: none !important;
	pointer-events: none !important;
}

p a {
	text-decoration: underline;
}

p a:hover {
	text-decoration: none;
}

b,
strong,
.strong,
.strong * {
	font-weight: 700 !important;
}

input,
textarea {
	border: none;
	border-radius: 0;
	padding: 0;
	margin-bottom: 20px;
	border: none;
	color: #000;
	background-color: transparent !important;
	line-height: 1;
	transition: all 200ms ease-in-out;
	-webkit-transition: all 200ms ease-in-out;
	box-shadow: none !important;

}

input:-webkit-autofill {
	color: transparent !important;
	-webkit-box-shadow: 0 0 0px 1000px white inset;
}

input:is([type="button"], [type="submit"], [type="reset"]),
input[type="file"]::file-selector-button {
	background-color: transparent;
}

input::placeholder {
	color: var(--black);
}

input[type="checkbox"],
input[type="radio"] {
	height: 16px;
	width: 16px;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	vertical-align: top;
	position: relative;
	margin-right: 10px;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked,
input[type="checkbox"]:checked,
input[type="radio"]:focus {
	background: var(--black);
	outline: none;
}

input:focus,
textarea:focus {
	color: var(--black);
	border-color: var(--black);
	box-shadow: none;
}

select {
	-webkit-appearance: none;
	appearance: none;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none !important;
}

.active-link {
	pointer-events: none;
}

.reference-link-container {
	font-size: 13px;
	top: 0;
	line-height: 1;
	text-align: center;
	vertical-align: unset;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-left: 4px;
	top: -2px;
}

.reference-link {
	padding: 0;
	border: none;
	outline: none;
	width: 40px;
	height: 20px;
	border: 1px solid var(--darkGray);
	border-radius: 24px;
	font-size: 13px;
	text-align: center;
}

.reference-link.active {
	background-color: var(--black);
	color: var(--white);
}

/* Buttons */
.button,
button {
	position: relative;
	display: inline-block;
	max-width: 100%;
	width: auto;
	font-size: 16px;
	padding: 13px 30px;
	background-color: var(--gray);
	color: var(--black);
	text-align: center;
	text-decoration: none !important;
	line-height: 1;
	border: 1px solid var(--darkGray);
	border-radius: 24px;
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
	outline: none;
}

.button:hover,
button:hover {
	color: var(--white);
	background-color: var(--black);
	opacity: 1;
	text-decoration: none;
}

.button.inverted {
	background-color: var(--black);
	border-color: var(--darkGray);
	color: var(--gray);
}

.button.inverted:hover {
	border-color: var(--gray);
	background-color: var(--gray);
	color: var(--black);
}

.button.small {
	padding: 1px 0 2px 0;
	min-width: 40px;
	width: 40px;
}

.button.white {
	background-color: var(--white);
	color: var(--black);
}

.button.white:hover {
	background-color: var(--black);
	color: var(--white);
}

.categoryButton {
	padding: 9px 25px;
}

.searchButton,
.categoryButton {
	height: 44px;
	display: flex;
	align-items: center;
	border: none;
	background-color: transparent;
}

.categoryButton:hover {
	outline: 1px solid var(--darkGray);
	color: var(--white);
}

.categoryButton.page:hover {
	background-color: var(--gray) !important;
	color: var(--black) !important;
}

.inTextButton {
	margin-bottom: 20px;
}

.small-button {
	padding: 2px 22px 3px 22px;
	border-radius: 24px;
	font-size: 13px;
	letter-spacing: 4%;
}

/* Bootstrap & general formatting */
.container {
	width: 100%;
	max-width: 100%;
	padding-left: 16px;
	padding-right: 16px;
	display: block;
}

.row {
	margin-left: -16px;
	margin-right: -16px;
}

.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-auto,
.col-xl,
.col-xl-1,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-auto {
	padding-left: 16px;
	padding-right: 16px;
}

.row.tight {
	margin-left: -8px;
	margin-right: -8px;
}

.row.tight .col,
.row.tight .col-6 {
	padding-left: 8px;
	padding-right: 8px;
}

.screen-reader-text {
	font-size: 0;
	height: 0;
	margin: 0;
}

ul,
ol {
	margin: 0 0 32px 0;
	padding: 0;
	list-style: none;
}

ul li {
	text-indent: -37px;
	margin-left: 37px;
}

ul li::before {
	content: "-";
	margin-right: 6px;
}

.card {
	border: none;
	border-radius: 0;
}

.card-header {
	background-color: transparent;
	border: none;
	outline: none;
	padding: 0;
	margin: 0;
}

.card-body {
	padding: 0;
	margin: 0;
}

.accordion .card-header button {
	color: var(--gray);
	text-align: left;
}

.accordion .card-header button[aria-expanded="true"],
.accordion .card-header button:hover {
	color: var(--black);
}

.accordion .card-header button[aria-expanded="true"] {
	pointer-events: none;
}

.accordion .collapsing {
	-webkit-transition-duration: 0s !important;
	transition-duration: 0s !important;
}

/* Custom classes */
.mt-8 {
	margin-top: 8px;
}

.mt-10 {
	margin-top: 10px;
}

.mt-70 {
	margin-top: 70px;
}

.mb-16 {
	margin-bottom: 16px;
}

.pt-11 {
	padding-top: 11px;
}

.pt-18 {
	padding-top: 18px;
}

.pt-160 {
	padding-top: 160px;
}

.pt-20 {
	padding-top: 20px;
}

.pt-50 {
	padding-top: 50px;
}

.pb-11 {
	padding-bottom: 11px;
}

.pb-15 {
	padding-bottom: 15px;
}

.pb-16 {
	padding-bottom: 16px;
}

.pb-18 {
	padding-bottom: 18px;
}

.pb-20 {
	padding-bottom: 20px;
}

.pb-50 {
	padding-bottom: 50px;
}

.pb-64 {
	padding-bottom: 64px;
}

.pl-23 {
	padding-left: 23px;
}

.pr-23 {
	padding-right: 23px;
}

.mr-16 {
	padding-right: 16px;
}

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

.align-end {
	align-items: flex-end;
}

.content-end {
	align-content: flex-end;
}

.justify-end {
	justify-content: flex-end;
}

.space-between {
	justify-content: space-between;
}

.justify-center {
	justify-content: center;
}

.flex-direction-column {
	display: flex;
	flex-direction: column;
}

.marginless,
.marginless *:last-child {
	margin-bottom: 0 !important;
}

.paddingless {
	padding-left: 0;
	padding-right: 0;
	overflow-x: hidden;
}

.borderless {
	border: none !important;
}

.border-top {
	border-top: 1px solid var(--darkGray) !important;
}

.border-bottom {
	border-bottom: 1px solid var(--darkGray) !important;
}

.border-radius {
	border-radius: 24px;
}

.automargin {
	margin-left: auto;
	margin-right: auto;
}

.max-457 {
	max-width: 457px;
}

.max-577 {
	max-width: 577px;
}

.image-box,
.video-box {
	outline: none !important;
	position: relative;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
}

.image-box::after,
.video-box::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.image-box.high::after {
	padding-bottom: 111%;
}

.video-box::after {
	padding-bottom: 56.25%;
}

.image-box img,
.image-box video,
.video-box iframe,
.video-box video,
.video-box img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.video-box {
	-wekbit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
}

.uppercase,
.uppercase * {
	text-transform: uppercase;
}

.lowercase,
.lowercase * {
	text-transform: lowercase;
}

.notransform,
.notransform * {
	text-transform: none;
}

.white,
.white *,
.white a:hover,
.white input:focus {
	color: var(--white);
}

.white input::placeholder {
	color: var(--white);
}

.white *::selection {
	background: var(--white);
	color: var(--black);
}

.gray,
.gray * {
	color: var(--gray);
}

.red {
	color: #FF4B00;
}

.blackBg {
	background-color: var(--black);
}

.reveal {
	visibility: hidden;
	/* this is needed for scrollrevealjs */
}

.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 148px;
}

#introBack {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background-color: var(--gray);
	z-index: 3;
	width: 100%;
}

.single #introBack {
	padding-top: 70px;
}

#introBack.fixed {
	position: fixed;
}

.page-template-page-contact #introBack,
.page-template-page-about #introBack {
	padding-top: 70px;
	top: 0;
}

body.page-template-page-homepage #main-content.bounce-active {
	position: relative;
	animation: bounce 4.5s infinite ease-in-out;
}

@keyframes bounce {

	0%,
	12.5%,
	37.5% {
		top: 0;
	}

	25% {
		top: 15px;
	}
}

/* Header */
#masthead {
	position: fixed;
	top: 13px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--black);
	width: calc(100% - 32px);
	border: 1px solid var(--darkGray);
	border-radius: 24px;
	z-index: 9;
}

#masthead * {
	color: var(--white);
	line-height: 1;
}

#site-navigation {
	margin-left: 15px;
}

#site-navigation .menu,
#page-navigation .menu {
	display: flex;
}

#siteName img {
	width: 39px;
	height: auto;
	filter: brightness(0) invert();
}

#siteName a:hover img {
	filter: none;
}

/* Language switcher */
.language-switcher {
	display: flex;
	margin-bottom: 0;
}

.language-switcher li {
	margin: 0;
	text-indent: 0;
}

.language-switcher li::before {
	display: none;
}

/* Menus */
ul.menu,
ul.menu li {
	margin: 0;
	padding: 0;
	list-style: none;
	text-indent: 0;
}

.menu ul,
.menu ol {
	padding: 0;
	margin: 0;
	list-style: none;
}

.menu li::before {
	display: none;
}

/* Mobile menu */
#openMenu {
	padding: 12px 22px;
	border-radius: 24px;
	border: none;
	color: var(--white) !important;
	background-color: transparent !important;
}

#openMenu.active {
	background-color: var(--gray) !important;
	color: var(--black) !important;
	outline: 1px solid var(--darkGray);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto
}

/* Mobile menu */
#mobileMenu {
	display: none;
	position: fixed;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 16px);
	background-color: var(--black);
	border-radius: 24px;
	border: 1px solid var(--darkGray);
	z-index: 99999999999;
	overflow: hidden;
}

#mobileMenu * {
	font-size: 16px !important;
	line-height: 1;
	color: var(--white);
}

#mobileMenu .searchButton {
	padding: 0 !important;
	border: none !important;
	color: var(--white) !important;
	background-color: transparent !important;
	justify-content: center;
	outline: none !important;
}

#mobileMenu .searchButton {
	padding: 22px 0 !important;
	height: auto;
}

#mobileMenu .searchButton:hover::before {
	filter: none;
}

.mobileMenuItem {
	height: auto;
	display: block;
	border-top: 1px solid var(--darkGray);
}

a.mobileMenuItem,
.mobileMenuItem a {
	padding: 25px 0;
	display: block;
	text-decoration: none !important;
}

a.mobileMenuItem:hover,
.mobileMenuItem a:hover {
	background-color: var(--darkGray);
}

/* Page */
#main-content {
	min-height: 60vh;
}

.headerOffset {
	padding-top: 82px;
}

.introHeading {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 350px;
}

.page-template-page-contact .introHeading,
.page-template-page-about .introHeading {
	min-height: 200px;
}

/* homepage */
#homeStick {
	position: -webkit-sticky;
	position: sticky;
	top: 57px;
	padding-bottom: 96px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	z-index: 1;
	mix-blend-mode: difference;
}

#introButtonContainer {
	position: -webkit-sticky;
	position: sticky;
	top: calc(100vh - 136px);
	z-index: 2;
}

#introButtonContainer.stickyFixed {
	top: calc(100vh - 216px);
}

#introButtonContainer>.row.stickyFixed {
	position: relative;
	top: 80px;
}

#homeStick h1 {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 0;
}

#introWord {
	position: absolute;
	max-width: calc(100% - 60px);
	padding: 0;
	transform: rotate(-10deg);
	top: clamp(70px, 10vw, 10vw);
	text-align: right;
	line-height: 1;
}

#introQuestion {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 2;
}

#homeStick .huge {
	line-height: 1;
}

#introButton {
	flex: 0;
	min-width: 220px;
}

#line_two {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.scrollImage {
	position: relative;
}

#scrollContent {
	max-width: 100%;
	padding-bottom: 70vh;
}

.singleScrollContent {
	position: relative;
	margin-bottom: 100px;
	max-width: 100%;
	padding-top: 200px;
}

.singleScrollContent h2 {
	position: relative;
	display: inline-block;
	z-index: 3;
}

.singleScrollContent .singleImage {
	max-width: 100%;
}

#introWord,
.singleScrollContent h2 {
	right: 1vw;
}

/* Single */
#postTitle {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: var(--gray);
	z-index: 2;
	padding-top: 70px;
}

#postTitle.scrolled,
#postTitle.scrolled #backButton {
	background-color: transparent;
	border-color: var(--black) !important;
}

#postTitle.scrolled #backButton:hover {
	background-color: var(--gray);
	color: var(--black);
}

.tags {
	border-top: 1px solid var(--darkGray);
	border-bottom: 1px solid var(--darkGray);
}

.tags .container {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

#contentIntroTitle {
	position: -webkit-sticky;
	position: sticky;
	top: 120px;
	z-index: 1;
	padding-left: 16px;
	max-width: calc(41.666% - 16px);
}

#contentIntroTitle.stickyFixed {
	height: auto;
}

#contentIntroTitle h2 {
	position: relative;
}

.publicationLinks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.publicationLinks .button {
	top: 2px;
	position: relative;
}

/* Tiles */
.tilePublication a,
.tileContact {
	padding-top: 16px;
	padding-bottom: 16px;
}

.tilePublication.search a {
	padding: 11px 19px;
}

.hoverBg:hover,
.hoverBg.inView {
	background-color: var(--hover-bg) !important;
}

.hoverBg:hover *,
.hoverBg.inView * {
	text-decoration: none;
	color: var(--white);
}

.tileContact a {
	text-decoration: none;
}

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

/* Custom builder */
.imageFullScreen img {
	height: auto;
	max-height: calc(100vh - 92px);
	width: 100vw;
	object-fit: cover;
	object-position: top center;
}

.b-structured-text .col-auto {
	min-width: 100px;
	max-width: calc(100% - 100px);
}

.b-structured-text td {
	padding: 0;
	vertical-align: top;
}

.b-structured-text td:not(:first-child) {
	padding-left: 10px;
	padding-bottom: 10px;
}

.b-text * {
	word-break: break-word;
}

.b-image,
.b-video,
.b-gallery,
#tags {
	position: relative;
	z-index: 2;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
}

#customBuilder a[target="_blank"] {
	font-style: italic;
	text-decoration: none !important;
}

#customBuilder a[target="_blank"]::after {
	content: "";
	display: inline-block;
	position: relative;
	top: 3px;
	height: 20px;
	width: 40px;
	border-radius: 24px;
	border: 1px solid var(--darkGray);
	margin-left: 8px;
	margin-right: 3px;
	background-image: url('./img/external-link.svg');
	background-size: auto 8px;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--gray);
}

#customBuilder a[target="_blank"]:hover::after {
	border-color: var(--gray);
	filter: invert(1);
}

#customBuilder a:not([target="_blank"]) {
	position: relative;
	top: -2px;
	font-size: 13px;
	line-height: 1;
	padding: 2px 20px 3px 20px;
	display: inline-block;
	border: 1px solid var(--darkGray);
	text-decoration: none !important;
	border-radius: 24px;
	margin-left: 4px;
	margin-right: 2px;
}

#customBuilder a:not([target="_blank"]):hover {
	background-color: var(--black);
	color: var(--white);
}

#customBuilder .b-gallery a {
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-top: 0 !important;
	margin-right: 0 !important;
}

#customBuilder section:last-child {
	border-bottom: none !important;
}

/* Modals */
.popup {
	display: none;
	position: fixed;
	bottom: 16px;
	left: 16px;
	width: calc(50% - 32px);
	max-width: 577px;
	max-height: 360px;
	overflow: hidden;
	background-color: var(--gray);
	border: 1px solid var(--darkGray);
	z-index: 10;
	padding: 20px 80px 20px 20px;
}

#reference-popup {
	padding-top: 0;
	padding-bottom: 0;
}

.popup-inner {
	height: 100%;
	max-height: 360px;
	overflow-x: hidden;
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	padding-top: 20px;
	padding-bottom: 20px;
}

.popup-inner::-webkit-scrollbar {
	display: none;
}

.singleReference {
	display: flex;
	align-items: flex-start;
}

.singleReference > a {
	margin-right: 11px;
}

.singleReference .button.active {
	background-color: var(--black);
	color: var(--white);
}

#close-popup {
	position: absolute;
	top: 21px;
	right: 25px;
	z-index: 999;
}

.highlight .button {
	background-color: var(--black);
	color: var(--white);
}

/* Footer */
footer {
	position: relative;
	z-index: 5;
	background-color: var(--black);
	padding-bottom: 26px;
}

#footerIcon {
	margin-top: 140px;
	z-index: 5;
	position: relative;
}

.page-template-page-homepage #footerIcon {
	margin-top: 0;
	z-index: 0;
}

.singleFooterCategory:last-child {
	border: none !important;
}

.singleFooterCategory .button {
	min-width: 156px;
}

.logos {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 20px 30px;
}

.logos img {
	height: 30px;
	width: auto;
	-webkit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}

.logos a:hover img {
	opacity: 0.6;
}

.footerContact {
	display: flex;
	align-items: flex-end;
	gap: 30px;
	padding-bottom: 20px;
}

.footerContact * {
	line-height: 1;
}

.footerContact img {
	max-height: 60px;
	max-width: 140px;
	height: auto;
	width: auto;
	filter: brightness(0) invert(1);
}

#categories,
#footerImage {
	position: relative;
	z-index: 5;
}

/* fancybox */
.fancybox__toolbar,
.fancybox__toolbar * {
	font-family: "DP Saans", serif;
}

.fancybox__toolbar {
	text-shadow: none !important;
	padding: 16px !important;
}

html .fancybox__toolbar * {
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 3%;
}

.fancybox__toolbar__column.is-middle,
.fancybox__toolbar__column [data-panzoom-action],
.fancybox__toolbar__column [data-fancybox-toggle-slideshow],
.fancybox__toolbar__column [data-fancybox-toggle-fullscreen],
.f-button[data-fancybox-close] svg {
	display: none !important;
}

a[data-fancybox="gallery"] {
	overflow: hidden !important;
	display: block;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
}

a[data-fancybox="gallery"] img {
	-wekbit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}

.f-button {
	background-color: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.f-button[data-fancybox-close] {
	display: block;
	background-image: url("./img/close.svg");
	height: 20px;
	width: 40px;
	background-size: 6px auto;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 24px;
	border: 1px solid var(--darkGray);
}

.f-button[data-fancybox-close]:hover {
	background-image: url("./img/close-white.svg");
	background-color: var(--black) !important;
}

.fancybox__nav .f-button {
	height: 20px;
	width: 40px;
	background-image: url("./img/arrow.svg");
	background-size: 8px auto;
	background-repeat: no-repeat;
	background-position: center;
	transition: all 100ms ease-in-out;
	-webkit-transition: all 100ms ease-in-out;
	margin-left: 0;
	border: 1px solid var(--darkGray);
	border-radius: 24px;
}

.fancybox__nav .f-button:hover {
	background-color: var(--black) !important;
	background-image: url("./img/arrow-white.svg");
}

html .is-horizontal .fancybox__nav .f-button.is-prev {
	left: 16px;
}

html .is-horizontal .fancybox__nav .f-button.is-next {
	right: 16px;
}

@media(max-width: 1199px) {
	html .is-horizontal .fancybox__nav .f-button.is-next {
		right: 10px;
	}

	html .is-horizontal .fancybox__nav .f-button.is-prev {
		left: 10px;
	}

	.fancybox__toolbar {
		padding: 18px 10px !important;
	}
}

.fancybox__nav .f-button svg {
	display: none !important;
}

.fancybox__nav .f-button.is-prev {
	transform: translateY(-50%) rotate(180deg) !important;
}

.fancybox__nav .f-button[disabled] {
	opacity: 0;
}

html .fancybox__backdrop {
	background-color: rgba(255, 255, 255, 1);
}

html .fancybox__infobar {
	padding: 0;
	margin-left: -5px;
}

.is-compact .fancybox__footer {
	background-color: transparent !important;
	text-align: center;
}

.fancybox__caption {
	color: var(--black) !important;
	font-size: 18px !important;
	padding: 13px !important;
	line-height: 1 !important;
}

html .fancybox-image {
	max-height: calc(100vh - 64px);
	width: auto;
	max-width: calc(100vw - 120px);
	margin: 0;
	padding: 0;
}

.is-idle .fancybox__nav,
.is-idle .fancybox__toolbar {
	animation: none !important;
}

.fancybox-button--zoom,
.fancybox-button--play,
.fancybox-button--thumbs {
	display: none !important;
}

html .fancybox__caption {
	display: none !important;
}

.fancybox-is-open .fancybox-bg {
	background-color: var(--light) !important;
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:visited {
	color: var(--black) !important;
}

.fancybox-button {
	background-color: transparent !important;
}

.fancybox-caption,
.fancybox-infobar,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar {
	opacity: 1 !important;
	visibility: visible !important;
}

/* Cookies */
html .cmplz-cookiebanner {
	min-width: 200px;
	max-width: 577px;
	width: 100%;
	padding: 20px 70px 20px 20px;
	display: block;
	bottom: 16px;
	right: 16px;
	border: 1px solid var(--darkGray);
	border-radius: 24px !important;
	z-index: 999999999999;
}

html .cmplz-cookiebanner.cmplz-show {
	box-shadow: none !important;
	background-color: var(--gray);
}

html .cmplz-cookiebanner .cmplz-header {
	display: block !important;
}

html .cmplz-cookiebanner .cmplz-title,
html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	color: var(--black);
	font-weight: 700;
}

html .cmplz-cookiebanner .cmplz-close {
	position: absolute;
	top: 18px;
	right: 20px;
	height: 20px;
	width: 40px;
	outline: none;
	border-radius: 24px;
	border: 1px solid var(--darkGray);
	background-image: url('./img/close.svg');
	background-size: 6px auto;
	background-repeat: no-repeat;
	background-position: center;
	background-color: transparent;
	-webkit-transition-duration: 0s !important;
	transition-duration: 0s !important;
}

html .cmplz-cookiebanner .cmplz-close:hover {
	background-image: url("./img/close-white.svg");
	background-color: var(--black);
}

html .cmplz-cookiebanner .cmplz-close svg {
	display: none !important;
}

.cmplz-link.cookie-statement,
.cmplz-link.privacy-statement {
	display: none !important;
}

html .cmplz-cookiebanner .cmplz-title {
	display: none !important;
}

html .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background: transparent;
}

html .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) {
	margin-bottom: 5px;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon {
	filter: brightness(0);
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open {
	position: relative;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	line-height: 1.2;
}

html .cmplz-cookiebanner .cmplz-message,
html .cmplz-cookiebanner .cmplz-message * {
	font-size: 14px;
	line-height: 1.25;
	margin-bottom: 16px;
	width: 100%;
	color: var(--black) !important;
}

html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title,
html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active {
	font-size: 12px;
	color: var(--black);
}

#cmplz-document li {
	margin-left: 21px;
	text-indent: -21px;
}

#cmplz-document ul,
.editor-styles-wrapper .cmplz-unlinked-mode ul {
	margin-left: 0;
	padding-left: 0;
}

html #cmplz-document p a:hover {
	text-decoration: none;
	animation: colorFull .45s infinite;
}

html .cmplz-cookiebanner .cmplz-message a {
	text-decoration: underline;
}

html .cmplz-cookiebanner .cmplz-message a:hover {
	text-decoration: none;
}

html .cmplz-cookiebanner .cmplz-buttons {
	gap: 11px;
	flex-wrap: wrap;
}

html .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	font-size: 13px;
	border-radius: 24px;
	border: 1px solid var(--darkGray) !important;
	font-weight: 400;
	line-height: 18px;
	padding: 0 24px;
	background-color: transparent !important;
	height: unset;
	color: var(--black) !important;
	width: auto !important;
}

html .cmplz-cookiebanner .cmplz-buttons {
	display: flex;
}

html .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover {
	background-color: var(--black) !important;
	color: var(--white) !important;
}

html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
	padding: 0 0 5px 0;
}

html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	padding: 0 0 10px 0;
}

.cmplz-icon svg {
	height: 12px;
	position: absolute;
}

html .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open {
	height: 12px;
	width: 12px;
	transition-duration: 0s !important;
}

html .cmplz-cookiebanner .cmplz-categories.cmplz-fade-in {
	margin-bottom: 15px;
	max-width: 100%;
	width: 100%;
}

#cmplz-document ul,
.editor-styles-wrapper .cmplz-unlinked-mode ul {
	list-style: none;
}

#cmplz-manage-consent .cmplz-manage-consent {
	display: none !important;
}

html .cmplz-cookiebanner .cmplz-body {
	max-width: 400px;
}

@media (max-width: 767px) {
	html .cmplz-cookiebanner {
		bottom: -1px;
		left: 8px;
		bottom: 8px;
		transform: none !important;
		max-width: calc(100% - 16px);
	}

	html .cmplz-cookiebanner .cmplz-buttons {
		flex-direction: row;
	}

	html .cmplz-cookiebanner .cmplz-body {
		min-width: unset;
	}
}

html .cmplz-blocked-content-container,
html .cmplz-placeholder-1.cmplz-blocked-content-container iframe {
	height: 450px;
	max-height: 60vh;
}

html .cmplz-blocked-content-container .cmplz-blocked-content-notice {
	background: #fff;
	color: var(--black);
	line-height: 22px;
	border: none;
}

html .cmplz-blocked-content-container .cmplz-blocked-content-notice:hover {
	background: var(--black);
	color: #fff;
}

html .cmplz-blocked-content-container {
	border-radius: 0 !important;
	box-shadow: none;
}

.cmplz_consent_per_service_label {
	display: none;
}

#cmplz-document .cmplz-subtitle,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-subtitle {
	font-weight: 700;
}

/* Search */
#searchContainer {
	display: none;
	position: fixed;
	top: 70px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 24px;
	border: 1px solid var(--darkGray);
	background-color: var(--black);
	width: 100%;
	max-width: calc(100% - 32px);
	max-height: 600px;
	height: calc(100vh - 90px);
	z-index: 99999;
	overflow-y: scroll;
}

#searchContainerInner {
	position: relative;
	height: 100%;
	overflow-y: scroll;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	-ms-overflow-style: none;
	/* IE and Edge */
	scrollbar-width: none;
	/* Firefox */
}

#searchContainerInner::-webkit-scrollbar {
	display: none;
}

#searchControls,
#searchButtons {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

#searchButtons {
	align-items: flex-start;
}

#searchInput {
	flex: 1;
}

/* clears the 'X' from Internet Explorer */
input[type=search]::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}

input[type=search]::-ms-reveal {
	display: none;
	width: 0;
	height: 0;
}

/* clears the 'X' from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

#searchResults {
	flex: 1;
}

#topTags {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: -1px;
}

#searchInput {
	margin-bottom: 0;
}

.searchButton {
	padding: 9px 25px 9px 20px;
	background-color: var(--black);
	align-items: center;
}

.searchButton::before {
	content: "";
	display: inline-block;
	height: 24px;
	width: 24px;
	background-image: url('./img/search.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 8px;
}

.searchButton:hover,
.searchButton.activeSearch {
	background-color: var(--gray) !important;
	color: var(--black) !important;
	outline: 1px solid var(--darkGray) !important;
}

.searchButton:hover:before,
.searchButton.activeSearch::before {
	filter: invert(1);
}

#deleteSearch {
	display: none;
}

/* Responsive */
@media(max-width: 1400px) {
	#introWord {
		top: clamp(70px, 11vw, 11vw);
	}
}

@media(max-width: 991px) {
	.mt-md-14 {
		margin-top: 14px;
	}

	.mb-md-16 {
		margin-bottom: 16px;
	}

	.pb-md-0 {
		padding-bottom: 0;
	}

	/* Bootstrap */
	.container {
		padding-left: 8px;
		padding-right: 8px;
	}

	.row {
		margin-left: -8px;
		margin-right: -8px;
	}

	.col,
	.col-1,
	.col-10,
	.col-11,
	.col-12,
	.col-2,
	.col-3,
	.col-4,
	.col-5,
	.col-6,
	.col-7,
	.col-8,
	.col-9,
	.col-auto,
	.col-lg,
	.col-lg-1,
	.col-lg-10,
	.col-lg-11,
	.col-lg-12,
	.col-lg-2,
	.col-lg-3,
	.col-lg-4,
	.col-lg-5,
	.col-lg-6,
	.col-lg-7,
	.col-lg-8,
	.col-lg-9,
	.col-lg-auto,
	.col-md,
	.col-md-1,
	.col-md-10,
	.col-md-11,
	.col-md-12,
	.col-md-2,
	.col-md-3,
	.col-md-4,
	.col-md-5,
	.col-md-6,
	.col-md-7,
	.col-md-8,
	.col-md-9,
	.col-md-auto,
	.col-sm,
	.col-sm-1,
	.col-sm-10,
	.col-sm-11,
	.col-sm-12,
	.col-sm-2,
	.col-sm-3,
	.col-sm-4,
	.col-sm-5,
	.col-sm-6,
	.col-sm-7,
	.col-sm-8,
	.col-sm-9,
	.col-sm-auto,
	.col-xl,
	.col-xl-1,
	.col-xl-10,
	.col-xl-11,
	.col-xl-12,
	.col-xl-2,
	.col-xl-3,
	.col-xl-4,
	.col-xl-5,
	.col-xl-6,
	.col-xl-7,
	.col-xl-8,
	.col-xl-9,
	.col-xl-auto {
		padding-left: 8px;
		padding-right: 8px;
	}

	.row.tight .col,
	.row.tight .col-6 {
		padding-left: 4px;
		padding-right: 4px;
	}

	.row.tight {
		margin-left: -4px;
		margin-right: -4px;
	}

	/* Fonts */
	.extra-large,
	.extra-large * {
		font-size: 40px;
	}

	h2,
	h2 *,
	.large,
	.large *,
	#searchInput,
	#searchInput h3,
	h3 *,
	.larger,
	.larger *,
	#customBuilder h2,
	#customBuilder h2 * {
		font-size: 30px;
	}

	/* header */
	#masthead {
		top: 8px;
		width: calc(100% - 16px);
	}

	#masthead>.container {
		padding-right: 0;
	}

	/* Homepage */
	#homeStick {
		top: 60px;
		height: 50vw;
		padding-bottom: 0;
	}

	#introWord {
		top: clamp(82px, 26vw, 180px);
	}

	/* Single */
	#contentIntroTitle {
		position: relative;
		top: 0;
		left: 0;
		transform: none;
		max-width: 100%;
		padding: 40px 8px;
	}

	.publicationLinks .name {
		width: 100%;
	}

	.publicationLinks .button {
		top: 0;
	}

	/* references */
	.popup {
		left: 8px;
		bottom: 8px;
		width: calc(100% - 16px);
		max-height: calc(100vh - 190px);
	}

	/* Search */
	#searchContainer {
		max-width: calc(100% - 16px);
		top: 60px;
	}

	#mobileMenu .searchButton {
		margin: auto;
	}

	/* Footer */
	footer {
		padding-left: 13px;
	}

	.footerContact {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 8px;
	}

	.footerContact img {
		height: 104px;
		width: 100%;
		object-fit: contain;
		object-position: bottom left;
		margin-bottom: 8px;
	}

	/* Tiles */
	.tilePublication a,
	.tileContact {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.tileContact img {
		max-width: 300px;
	}
}

@media(max-width: 767px) {
	.mt-xs-10 {
		margin-top: 10px;
	}

	.mt-xs-14 {
		margin-top: 14px;
	}

	.pt-xs-25 {
		padding-top: 25px;
	}

	.pb-xs-0 {
		padding-bottom: 0;
	}

	.pb-xs-25 {
		padding-bottom: 25px;
	}

	.pt-xs-8 {
		padding-top: 8px;
	}

	.pb-xs-8 {
		padding-bottom: 8px;
	}

	/* Fonts */
	.fontMobileSmall,
	.fontMobileSmall * {
		font-size: 13px;
		line-height: 1.4;
		letter-spacing: 3%;
	}

	.extra-large,
	.extra-large *,
	.mobile-extra-large,
	.mobile-extra-large *,
	h2,
	h2 *,
	.large,
	.large *,
	#searchInput,
	#searchInput h3,
	h3 *,
	.larger,
	.larger *,
	#customBuilder h2,
	#customBuilder h2 * {
		font-size: 24px;
	}

	.huge,
	.huge * {
		font-size: 12vw;
	}

	#line_two {
		display: block;
	}

	#line_two * {
		width: 100%;
		display: block;
	}

	/* Homepage */
	#homeStick {
		height: 56vw;
		padding-bottom: 0;
	}

	#introButtonContainer,
	#introButtonContainer.stickyFixed {
		position: fixed;
		top: auto;
		left: 8px;
		bottom: -1px;
		border-radius: 24px 24px 0 0;
		max-width: calc(100% - 16px);
		border: 1px solid var(--darkGray);
		padding: 16px 20px 23px 16px;
		background-color: var(--gray);
		text-align: center;
		z-index: 4;
	}

	#introButtonContainer>.row.stickyFixed {
		top: auto;
	}

	#scrollContent {
		margin-top: 0;
		padding-bottom: 15vw;
	}

	.singleScrollContent {
		margin-top: 0 !important;
		padding-top: 0;
		display: flex;
		flex-direction: column-reverse;
	}

	.scrollImage {
		margin-top: 0 !important;
		margin-bottom: 60px;
		top: auto !important;
		left: auto !important;
	}

	.page-template-page-homepage #footerIcon {
		z-index: 5;
	}

	/* page */
	.headerOffset {
		padding-top: 66px;
	}

	.introHeading {
		min-height: unset !important;
		padding-bottom: 60px;
		border-bottom: 1px solid var(--darkGray);
	}

	#postIntro h1 {
		border-bottom: 1px solid var(--darkGray);
	}

	#introBack {
		position: relative;
		height: 46px;
		padding: 0;
		border: none !important;
		background-color: transparent;
	}

	#backButton {
		display: none;
	}

	/* References */
	.popup,
	.popup-inner {
		max-height: calc(50vh - 8px);
		height: auto;
	}

	.popup {
		padding: 20px;
	}

	.popup-inner {
		padding-top: 40px;
	}

	#close-popup {
		top: 10px;
		right: 10px;
	}

	/* Search */
	#searchContainer {
		display: none;
		max-width: calc(100% - 16px);
		height: auto;
		max-height: calc(100vh - 190px);
		top: 60px;
	}

	#searchContainerInner .pt-20 {
		padding-top: 16px;
	}

	#searchContainerInner .pb-16 {
		padding-bottom: 16px;
	}

	#searchContainerInner .pl-23 {
		padding-left: 16px;
	}

	#searchContainerInne .pr-23 {
		padding-right: 16px;
	}

	#topTags,
	.tags .container,
	#searchButtons {
		gap: 8px
	}

	#searchControls {
		flex-direction: column;
	}

	#searchButtons {
		justify-content: flex-end;
	}

	#topTags button {
		font-size: 13px;
		line-height: 18px;
		padding: 0 16px;
	}

	#searchInstructions {
		padding-bottom: 0;
	}

	/* Single */
	.basicInfo * {
		font-size: 13px;
		line-height: 1.4;
		letter-spacing: 3%;
	}

	/* Custom builder */
	.b-image .text-center {
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media(max-width: 500px) {
	#scrollContent {
		padding-bottom: 8vw;
	}
}

@media(max-width: 400px) {

	.button,
	button {
		width: 100%;
		max-width: unset;
	}

	#closeSearch,
	#topTags button,
	.tags button,
	#openMenu {
		width: auto;
	}

	html .cmplz-cookiebanner {
		padding: 20px;
	}

	html .cmplz-cookiebanner .cmplz-body {
		padding-right: 50px;
	}

	html .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		width: 100% !important;
	}

	#scrollContent {
		padding-bottom: 4vw;
	}
}

@media(max-width: 350px) {
	#scrollContent {
		padding-bottom: 0;
	}
}

/* admin bar offsets */
@media(min-width: 991px) {
	.admin-bar #contentIntroTitle {
		top: 152px;
	}
}

@media (min-width: 768px) {
	.admin-bar #masthead {
		top: 49px;
	}

	.admin-bar #homeStick {
		top: 89px;
		height: calc(100vh - 232px);
	}

	.admin-bar #introWord {
		top: 172px;
	}

	.admin-bar #searchContainer {
		top: 104px;
		height: calc(100vh - 122px);
	}

	.admin-bar #introBack {
		top: 32px;
	}

	.admin-bar .sticky {
		top: 180px;
	}
}