/*!
Theme Name: kw_hff
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kw_hff
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

kw_hff is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/



/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/

@font-face {
	font-family: 'HankenGrotesk';
	src: url('fonts/Hanken_Grotesk/HankenGrotesk-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	}

@font-face {
	font-family: 'HankenGrotesk';
	src: url('fonts/Hanken_Grotesk/HankenGrotesk-Italic-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: italic;
	}


/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

/* Font size adjust
	 ========================================================================== */

html { font-size: 16px; }

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

    html {
        font-size: 14px;
    }

}

@media screen and (min-width: 1200px) {
	
	html {
		font-size: 16px;
	}
	
}

@media screen and (min-width: 1800px) {
	
	html {
		font-size: 20px;
		font-size: 16px;
	}
	
}

@media screen and (min-width: 2100px) {
	
	html {
		font-size: 24px;
		font-size: 17px;
	}
	
}

@media screen and (min-width: 2400px) {
	
	html {
		font-size: 26px;
		font-size: 18px;
	}
	
}

/*

@media screen and (min-width: 2800px) {
	
	html {
		font-size: 32px;
	}
	
}

@media screen and (min-width: 3400px) {
	
	html {
		font-size: 40px;
	}
	
}

@media screen and (min-width: 4000px) {
	
	html {
		font-size: 50px;
	}
	
} */

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
	position: relative;
	z-index: 1;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 1.2rem;
	margin: 0 0 1.5rem 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 540;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
    display: block;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #232323;
	font-family: "HankenGrotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1.1rem;
	line-height: 1.5;
    font-feature-settings: "ss01" 1, "ss03" 1;
    font-weight: 380;
    letter-spacing: 0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: normal;
}

p {
	margin: 0 0 1rem 0;
}

dfn,
cite,
em,
i {
	font-family: "HankenGrotesk";
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

.site {
	position: relative;
}

hr {
    display: block;
    content: "";
	background-color: #ccc;
	border: 0;
	height: 0.125rem;
    width: 2.4rem;
	margin: 2.4rem auto 2.4rem 0;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #232323;
	text-decoration: none;
    transition: all 0.2s ease;
}

a:visited {
	color: #232323;
}

a:hover,
a:focus,
a:active {
	color: #232323;
}

a:focus {
    outline: 0;
}

a:focus-visible {
    outline: 1px solid #232323;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

footer {
	position: relative;
	z-index: 2;
}

.site-header .container,
.site-main .container,
.site-footer .container {
	/* max-width: 120rem; */
	margin: 0 auto 0 auto;
    padding: 0 5rem;
}

.site-main .container {
	margin: 0 7rem 0 auto;
}

@media only screen and (max-width: 1200px) {
    
    .site-header .container,
    .site-main .container,
    .site-footer .container {
        padding: 0 3rem;
    }

    .site-main .container {
        margin: 0 5rem 0 auto;
    }
}

.site-branding {
    padding: 2rem 0 2rem 0;
}

.site-title {
    font-size: 3rem;
    font-weight: 240;
	margin: 0 2rem 0 0;
    white-space: nowrap;
}

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

    .site-main .container {
        margin: 0 4rem 0 auto;
    }

    .wp-singular.page-child:not(.page-parent) .site-main .container,
    .wp-singular.page-biographie .site-main .container,
    .wp-singular.page-kontakt .site-main .container {
        margin: 0 0 0 auto;
    }
}

@media only screen and (max-width: 520px) {
    
    .site-header .container,
    .site-main .container,
    .site-footer .container {
        padding: 0 2rem;
    }

    .site-branding {
        padding: 1.4rem 0 1.4rem 0;
    }
}

.site-title a {
    color: #232323;
}

.site-title a:hover {
    color: #999;
}

.home .site-title a {
    pointer-events: none;
    cursor: default;
}

.site-header .container {
	display: flex;
}

.site-header .container .site-branding {
	width: 80rem;
	display: flex;
}

.site-header .container .main-navigation {
	width: 40rem;
}

.site-header .container .breadcrumb {
	display: flex;
    padding-top: 1.925rem;
}
.site-header .container .breadcrumb h1.entry-title {
	margin: 0;
}

.site-header .container .breadcrumb .entry {
	display: inline-block;
	margin: 0 2rem 0 0;
}

@media screen and (max-width: 880px) {
	
	.site-header .container .site-branding {
        flex-direction: column;
    }

    .site-header .container .breadcrumb {
        padding-top: 0.5rem;
    }
}

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

    .site-header .container .breadcrumb {
        flex-direction: column;
    }
}

@media only screen and (max-width: 520px) {
    
    .site-header .container .breadcrumb {
        padding-top: 0;
    }
}

/* home
--------------------------------------------- */

.home .site-main .container {
	margin: 0;
}

.home .columns {
	display: flex;
}

.home .columns .column {
	flex: 0 0 calc(50% - 2.5rem);
    overflow: hidden;
}

.home .columns .column2 {
    flex: 0 0 calc(50% + 2.5rem);
	padding: 0 0 4rem 4rem;
	box-shadow: -1rem 0 2rem rgba(0, 0, 0, 0.04);
    z-index: 99999;
}

.home .columns .column .image {
	width: 120%;
	height: auto;
    margin-right: -20%;
    padding: 0 0 3rem 0;
}

.home .columns .column .image img {
	transform: scale(1);
    transition: all 0.4s ease;
}

.home .columns .column .image img:hover {
	transform: scale(0.98);
}

.home .site-main .container {
    padding: 0 0 0 5rem;
}

@media only screen and (max-width: 1200px) {
    
    .home .columns .column2 {
        padding: 0 0 3rem 3rem;
    }
    
    .home .site-main .container {
        padding: 0 0 0 3rem;
    }
}

@media screen and (max-width: 780px) {
    
    .home .columns {
        flex-direction: column;
    }
	
	.home .columns .column {
        width: 100%;
    }
    
    .home .columns .column2 {
        width: 100%;
        padding: 0 0 3rem 0;
        box-shadow: 0 -1rem 2rem rgba(0, 0, 0, 0.04);
    }
    
    .home .site-main .container {
        padding: 0 0 0 0;
    }

    .home .columns .column .image {
        width: 100%;
        height: 12rem;
        margin-right: 0;
        padding: 0 3.3rem;
    }

    .home .columns .column .image img {
        object-fit: contain;
    }

    .home .columns .column .image img:hover {
        transform: scale(1);
    }
}

@media only screen and (max-width: 520px) {
    
    .home .columns .column .image {
        padding: 0 2.3rem;
    }
}

.home .site-main .container article {
	padding: 4rem 0 4rem 0; 
}

.home .site-main .container article,
.site-main.no_shadow .container article {
	padding: 0 0 0 0; 
}

.site-main:not(.no_shadow) {
	box-shadow: 0 -1rem 2rem rgba(0, 0, 0, 0.04);
}

.home .site-main:not(.no_shadow) {
	overflow: hidden;
}


/* Sidebar Navigation
--------------------------------------------- */

.mega-menu-toggle {
	top: 2rem;
	right: -2.4rem;
    width: 2rem;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.sidebar-navigation {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    margin-right: -0.125rem;
}

.sidebar-navigation ul.menu {
	margin: 8.725rem 0 0 0;
}

.sidebar-navigation ul.menu li {
	display: inline-block;
	margin: 0 2rem 0 0;
	white-space: nowrap;
}

@media only screen and (max-width: 1200px) {
    
    .mega-menu-toggle {
        top: 2rem;
        right: -1.4rem;
        width: 2rem;
    }

    .sidebar-navigation {
        margin-right: -0.125rem;
    }

    .sidebar-navigation ul.menu {
        margin: 7.8rem 0 0 0;
    }

    .sidebar-navigation ul.menu li {
        margin: 0 2rem 0 0;
    }
}

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

    .sidebar-navigation {
        display: none;
    }
}

#mega-menu-wrap-menu-1 .mega-menu-toggle {
    line-height: 2.5rem!important;
    height: 2.5rem!important;
    background: rgba(255,255,255,0.00)!important;
}

#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
	width: 2.25rem!important; /* 36px */
	height: 0.15rem!important; /* 3px */
	background-color: #BBB!important;
	border-radius: 0;
	position: absolute;
	transition-property: none!important;
	transition-duration: 0!important;
	transition-timing-function: none!important;
    transition: all 0.15s ease!important;
}

#mega-menu-wrap-menu-1:hover .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner, #mega-menu-wrap-menu-1:hover .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-menu-1:hover .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
	background-color: #232323!important;
}

#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner {
    top: 0.125rem!important; /* 2px */
}

#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner::before {
    top: 0.625rem!important; /* 10px */
}

#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-slider .mega-toggle-animated-inner::after {
    top: 1.25rem!important; /* 20px */
}

@media only screen and (max-width: 10000px) {
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        box-shadow: -1rem 0 2rem rgba(0, 0, 0, 0.04);
        padding: 8rem 3rem 3rem;
    }
	
	#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 li a {
		padding: 0 !important;
	}

    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open::after {
        position: fixed;
        width: 190%;
        height: 99999px;
        content: "";
        top: 0;
        left: 0;
        opacity: 0;
        background: white;
        cursor: pointer;
        z-index: 9999999998;
    }
	
    #mega-menu-wrap-menu-1 .mega-menu-toggle ~ button.mega-close::before {
        margin: 3.35rem 2rem 0 0;
    }
	
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
		font-size: 1.125rem;
        font-feature-settings: "ss01" 1, "ss03" 1;
        font-weight: 370;
        letter-spacing: 0.06em;
        word-spacing: 0.2em;
		text-transform: uppercase;
        color: #232323;
        transition: all 0.2s ease;
        margin-top: 0.75rem;
        line-height: 2!important;
        height: auto!important;
	}
	
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li:first-of-type.mega-menu-item > a.mega-menu-link {
		margin-top: 0;
	}
	
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:hover,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
        font-weight: 370;
        color: #999;
	}
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
        background: rgba(255,255,255,0.00);
        color: #232323!important;
        text-transform: uppercase;
        font-size: 0.9275rem!important;
        font-weight: 450!important;
        letter-spacing: 0.09em;
        word-spacing: 0.2em;
        padding: 0 0.625rem; /* 0px 10px */
        line-height: 2.1875rem; /* 35px */
        transition: all 0.2s ease;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {
        font-size: 0.8rem!important;
        font-weight: 470!important;
        padding: 0 0!important;
        line-height: 2rem!important;
    }
	
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a:focus-visible.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li:first-of-type.mega-menu-item > a:focus-visible.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a:focus-visible.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a:focus-visible.mega-menu-link {
        outline: 1px solid #232323!important;
        padding-left: 0.6rem!important;
        padding-right: 0.6rem!important;
        margin-left: -0.6rem!important;
        margin-right: -0.6rem!important;
	}
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li {
        display: inline-flex!important;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li::after {
        display: inline-flex!important;
        content: "·";
        font-weight: 900!important;
        line-height: 2rem!important;
        font-size: 0.9rem;
        padding: 0 0.5rem;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu li:last-of-type::after {
        display: none!important;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu {
        background: rgba(255,255,255,0.00);
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
        font-weight: 370!important;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item.mega-current-menu-item > a.mega-menu-link:focus,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:focus,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
        background: rgba(255,255,255,0.00);
        color: #999!important;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
        color: #232323!important;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus:hover {
        color: #999!important;
    }

    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        width: 28.75rem!important;
        max-width: 100%;
        transition: left 200ms ease-in-out, right 200ms ease-in-out, visibility 200ms ease-in-out;
    }
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        visibility: visible;
        opacity: 1;
        right: calc(min(100vw - 2.5rem, 22rem))!important;
    }
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open ~ button:focus-visible.mega-close {
        outline: 1px solid #232323!important;
        padding-left: 0.3rem!important;
        margin-left: -0.3rem!important;
	}
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle ~ button.mega-close {
        visibility: hidden;
        opacity: 0;
        transition: left 200ms ease-in-out, right 200ms ease-in-out, visibility 200ms ease-in-out, opacity 200ms ease-out;
    }
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle ~ button.mega-close::before {
        content: "×"!important;
        font-family: "HankenGrotesk"!important;
        font-weight: 200!important;
        color: #999!important;
        font-size: 2.6rem!important;
        transition: all 0.2s ease;
        width: 2.5rem!important; /* 40px */
        height: 2.5rem!important; /* 40px */
    }
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle ~ button:hover.mega-close::before {
        color: #232323!important;
    }
    
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator::after {
        content: ""!important;
    }
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-box {
        width: 2.5rem!important; /* 40px */
        height: 1.5rem!important; /* 24px */
    }
    
}

@media only screen and (max-width: 520px) {
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        padding: 7rem 3rem 3rem;
    }

    #mega-menu-wrap-menu-1 .mega-menu-toggle ~ button.mega-close::before {
        margin: 2.65rem 2rem 0 0;
    }
}

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

    #mega-menu-wrap-menu-1 .mega-menu-toggle + #mega-menu-menu-1 {
        width: 23.75rem!important;
    }
    
    #mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        right: calc(min(100vw - 2.5rem, 17rem))!important;
    }
}


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

.site-footer {
	box-shadow:  0 -1rem 2rem rgba(0, 0, 0, 0.04);
	background-color: #fff;
}

.site-footer .container {
	padding-top: 3.4rem;
	padding-bottom: 4rem;
}

.site-footer .columns {
	display: flex;
}

.site-footer .columns .column {
	flex: 0 0 50%;
    overflow: visible;
}

.site-footer .columns .column.first_column {
    flex: 0 0 20%;
}

.site-footer .columns .column.second_column {
    flex: 0 0 80%;
}

.site-footer .footer-navigation ul {
	margin: 0;
	padding: 0 7rem 0 0;
	list-style: none;
	text-align: right;
}

.site-footer .footer-navigation ul li {
	display: inline-block;
	margin: 0 0 0 2rem;
}

.site-footer .site-info {
	padding: 0 7rem 0 0;
	text-align: right;
}

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

    .site-footer .footer-navigation ul {
        padding: 0 0 0 0;
    }

    .site-footer .site-info {
        padding: 0 0 0 0;
    }
}

.site-footer .top a {
    content: "";
    display: inline-flex;
    width: 2.1rem;
    height: 2.1rem;
    background-image: url('data:image/svg+xml;charset=UTF-8, <svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" fill="rgba(112,112,112,1.00)"><path d="M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm5.247 15l-5.247-6.44-5.263 6.44-.737-.678 6-7.322 6 7.335-.753.665z"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: -0.25rem;
    filter: opacity(0.5);
}

/* background-image: url('data:image/svg+xml;charset=UTF-8, <svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" fill="rgba(112,112,112,1.00)"><path d="M23.245 20l-11.245-14.374-11.219 14.374-.781-.619 12-15.381 12 15.391-.755.609z"/></svg>'); */

.site-footer .top a:hover {
    background-image: url('data:image/svg+xml;charset=UTF-8, <svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" fill="rgba(35,35,35,1.00)"><path d="M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm5.247 15l-5.247-6.44-5.263 6.44-.737-.678 6-7.322 6 7.335-.753.665z"/></svg>');
    filter: opacity(1);
}

.home .site-footer .footer-navigation ul,
.home .site-footer .site-info {
	padding: 0 0 0 0;
}

/* -- sticky footer -- */

.site {
display: flex;
flex-direction: column;
min-height: 100vh;
}

.logged-in .site {
min-height: calc( 100vh - 32px );
}

.site-main {
flex: 1 0 auto;
}

.site-footer {
flex-shrink: 0;
}


/* Accordion / .home
--------------------------------------------- */

.accordion > .entry {
    box-shadow: 0 -1rem 2rem rgba(0, 0, 0, 0.04);
    margin: 0 -5rem;
    width: calc(100% + 10rem);
    padding: 0 5rem;
}

.accordion_block h3.title,
.home h2.title {
    font-size: 2.2rem;
    font-weight: 270;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    margin: 2.2rem 0 2.6rem;
    color: #232323;
    transition: all 0.2s ease;
}

@media only screen and (max-width: 880px) {
    
    .accordion > .entry {
        margin: 0 -3rem;
        width: calc(100% + 10rem);
        padding: 0 3rem;
    }
}

@media screen and (max-width: 780px) {
	
	.home h2.title {
        padding-left: 3rem;
    }
}

@media only screen and (max-width: 520px) {
    
    .accordion > .entry {
        margin: 0 -2rem;
        width: calc(100% + 8rem);
        padding: 0 2rem;
    }
}

.accordion_block h3.title:hover,
.home h2.title:hover {
    color: #999;
}

.accordion_block h3.title::before,
.home h2.title::before {
    content: "/";
    padding-right: 1.57rem;
    padding-left: 0.2rem;
    font-size: 1.4rem;
    font-weight: 620;
}

.accordion_block h3.title .year {
    padding-left: 1.4rem;
    font-size: 1.5rem;
    font-weight: 320;
    padding-top: 0.5rem;
    color: #999;
}

@media screen and (max-width: 640px) {
    
    .accordion_block h3.title,
    .home h2.title {
        margin: 1.4rem 0 1.6rem;
        display: inline-flex;
        white-space: wrap;
    }
	
	.home h2.title {
        padding-left: 3rem;
    }

    .accordion_block h3.title,
    .home h2.title,
    .accordion_block h3.title .year {
        text-transform: uppercase;
        font-size: 0.9275rem;
        font-weight: 450;
        letter-spacing: 0.09em;
        word-spacing: 0.2em;
        padding-left: 1.3rem;
        display: inline-block;
    }

    .accordion_block h3.title,
    .home h2.title {
        margin-top: -0.4rem;
    }

    .home h2.title {
        margin-left: 3rem;
    }

    .accordion_block h3.title::before,
    .home h2.title::before {
        padding-right: 0.9rem;
        margin-left: -1.3rem;
        padding-bottom: 0.275em;
        font-size: 0.775rem;
        font-weight: 900;
        align-self: flex-start;
        display: flex;
        padding-top: 2rem;
        margin-bottom: -1.4rem;
    }

    .accordion_block h3.title .year {
        padding-left: 0;
        padding-top: 0;
        color: #999;
        align-self: flex-end;
    }
}

@media screen and (max-width: 520px) {
    
    .home h2.title {
        margin-left: 2rem;
    }
}

.accordion_block .teaser_list {
    display: flex;
    gap: 3.5%;
    padding-bottom: 2.2rem;
    flex-wrap: wrap;
}  

.accordion_block .teaser_list .entry {
    text-align: center;
    width: 22.375%;
    height: auto;
    flex: 0 0 auto;
}

@media only screen and (min-width: 1800px) {
    
    .accordion_block .teaser_list {
        gap: 2%;
    }
    
    .accordion_block .teaser_list .entry {
        width: 18.4%;
    }
}

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

    .accordion_block .teaser_list {
        padding-bottom: 0.5rem;
    }
    
    .accordion_block .teaser_list .entry {
        width: 31%;
    }
}

.accordion_block .teaser_list .entry div.image,
.cv_block div.image {
    display: block;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
}

.accordion_block .teaser_list .entry div.image img,
.cv_block div.image img {
    transform: scale(1.075);
    transition: all 0.4s ease;
}

.accordion_block .teaser_list .entry div.image:hover img,
.cv_block div.image:hover img {
    transform: scale(1);
}

.accordion_block .teaser_list .entry div.image::after,
.cv_block div.image::after {
    content: "";
    display: block;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    box-shadow: inset 1rem 1rem 1rem rgba(0, 0, 0, 0.25);
    position: absolute;
    top: 0;
}

.site-header .container .breadcrumb ul,
.sidebar-navigation ul,
.footer-navigation ul {
    font-size: 0;
}

.site-header .container .breadcrumb li,
.sidebar-navigation li,
.footer-navigation li {
    font-size: 0.9275rem;
}

.accordion_block .teaser_list .entry .title,
h1.entry-title,
.site-header .container .breadcrumb a,
.sidebar-navigation a,
.footer-navigation a,
.site-info,
.cv_block h3.title,
.page-kontakt h3 {
    text-transform: uppercase;
    font-size: 0.9275rem;
    font-weight: 450;
    letter-spacing: 0.09em;
    word-spacing: 0.2em;
}

@media only screen and (max-width: 640px) {
    
    .accordion_block .teaser_list .entry .title {
        font-size: 0.75rem;
        letter-spacing: 0.08em;
        font-weight: 480;
    }
}


/*
 * page kontakt
 *
 */ 

.page-kontakt h3 {
    margin-top: 0;
    margin-bottom: 2rem;
}

.page-kontakt {
    background-image: url(http://dev.karlwesker.de/wp-content/uploads/2025/09/Kontakt.jpg);
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 52%;
}

.page-kontakt .text_1,
.page-kontakt .text_2 {
    padding-top: 3.2rem;
    padding-bottom: 1.2rem;
}

.page-kontakt .text_2 {
    padding-left: 4rem;
    background-color: #FFF;
    box-shadow: -1.5rem 0 1.8rem rgba(0, 0, 0, 0.03);
}

@media only screen and (max-width: 1200px) {
    
    .page-kontakt .text_2 {
        padding-left: 3rem;
    }
}

@media only screen and (max-width: 640px) {
    
    .page-kontakt {
        background-image: none;
    }
    
    .page-kontakt .text_1 {
        padding-bottom: 50%;
        margin-bottom: 2rem;
        background-image: url(http://dev.karlwesker.de/wp-content/uploads/2025/09/Kontakt.jpg);
        background-position: bottom left;
        background-repeat: no-repeat;
        background-size: 110%;
    }
    
    .page-kontakt .text_2 {
        margin-left: -3rem;
        box-shadow: -1.5rem 0 1.8rem 1.8rem rgba(0, 0, 0, 0.03);
    }
}

@media screen and (max-width: 520px) {
    
    .page-kontakt .text_2 {
        margin-left: -2rem;
        padding-left: 2rem;
    }
}

.page-kontakt .site-main {
    overflow: hidden;
}

.site-info {
    margin-top: 3rem;
    color: #999;
}

.accordion_block .teaser_list .entry .title {
    margin-top: 1rem;
    margin-bottom: 1.4rem;
}

h1.entry-title,
.site-header .container .breadcrumb a,
.sidebar-navigation a,
.footer-navigation a {
    color: #999;
    display: inline-flex;
}

.site-header .container .breadcrumb a:hover {
    color: #232323;
}

.sidebar-navigation a,
.footer-navigation a {
    color: #232323;
}

.sidebar-navigation a:hover,
.footer-navigation a:hover {
    color: #999;
}

h1.entry-title::before,
.site-header .container .breadcrumb a::before,
.sidebar-navigation a::before,
.footer-navigation a::before {
    content: "/";
    padding-right: 0.9rem;
    font-size: 0.775rem;
    font-weight: 900;
    display: inline-flex;
}


/* swiper / slider / making-of 
--------------------------------------------- */

.mySwiper {
	max-width: 400px;
	margin: 0 auto;
}

.swiper-button-prev {
	margin: 0 0 0 -50% !important;
    display: none;
}

.swiper-button-next {
	margin: 0 -50% 0 0 !important;
    display: none;
}

.swiper-pagination {
	background-color: #FFF;
	position: relative;
	margin: 1rem auto;
	padding: 1rem 0 1rem 0;
    filter: opacity(0.5);
}

.swiper-pagination-bullet {
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,0.4rem));
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,0.4rem));
}

:root {
    --swiper-theme-color: #232323;
}



/* CV / cv_block 
--------------------------------------------- */

.cv_block .columns {
	display: flex;
    align-items: flex-start;
}

.cv_block .columns .column.first_column {
	flex: 0 0 35%;
    padding-top: 0.5rem;
    padding-right: 5rem;
    min-width: 260px;
    max-width: 600px;
    max-width: 1000px;
    /* min-width: 16.25rem;
    max-width: 37.5rem; */
}

@media only screen and (max-width: 1200px) {
    
    .cv_block .columns .column.first_column {
        padding-right: 3rem;
    }
}

.cv_block .columns .column.second_column {
	flex: 0 1 65%;
    
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;

    -webkit-hyphenate-limit-before: 3; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    -ms-hyphenate-limit-chars: 7 3 4;
    hyphenate-limit-chars: 7 3 4;
}

@media screen and (max-width: 640px) {
    
    .cv_block .columns {
        flex-direction: column;
    }
	
	.cv_block .columns .column {
        width: 100%;
    }
    
    .cv_block .columns .column.first_column {
        padding-right: 0;
    }

    .cv_block .columns .column.first_column {
        flex: 0 0 100%;
        padding: 0 4% 3rem;
        min-width: auto;
        max-width: auto;
    }

    .cv_block .columns .column.second_column {
        flex: 0 1 100%;
    }
}

.cv_block .columns .column.text {
	padding: 0 5% 0 0;
}

.cv_block .cv_list {
	display: table;
}

.cv_block .cv_list .entry {
	display: table-row;
}

.cv_block .cv_list .entry .time,
.cv_block .cv_list .entry .details {
	display: table-cell;
    padding-bottom: 0.5rem;
}

.cv_block .cv_list .entry .time {
    width: auto;
    text-align: right;
    text-align: left;
    padding-right: 1.4rem;
}

.cv_block div.image {
    width: 100%;
    margin: 0;
}

.cv_block .column.second_column h3.title::before {
    display: block;
    content: "";
    width: 2.4rem;
    height: 0.125rem;
    background: #CCC;
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
}



/* biographie 
--------------------------------------------- */

.page-biographie .entry-content {
    padding: 3.2rem 0;
}

.page-biographie .cv_block .column.second_column p:first-of-type {
    font-size: 1.24rem;
    font-weight: 350;
}

.page-biographie .cv_block .column.second_column p:last-of-type {
    margin-bottom: 0;
}


/* twotext block
--------------------------------------------- */

.twotext_block .columns {
	display: flex;
}

.twotext_block .columns .column {
	flex: 0 0 50%;
}

.twotext_block .columns .column.text {
	padding: 0 3rem 0 0;
}

@media screen and (max-width: 640px) {
    
    .twotext_block .columns {
        flex-direction: column;
    }
	
	.twotext_block .columns .column {
        width: calc(100% + 6rem);
        padding-right: 3rem;
        padding-left: 3rem;
    }
	
	.twotext_block .columns .column.text_1 {
        width: calc(100% + 6rem);
        padding-right: 0;
        margin-left: -3rem;
    }

    .twotext_block .columns .column.text {
        padding: 0 0 0 0;
    }
}

@media screen and (max-width: 520px) {
    
    .twotext_block .columns .column {
        width: calc(100% + 4rem);
        padding-right: 2rem;
        padding-left: 2rem;
    }
	
	.twotext_block .columns .column.text_1 {
        width: calc(100% + 4rem);
        margin-left: -2rem;
    }
}


/* Single Page
--------------------------------------------- */

.img_block h2.title,
.entry.grid-item .title {
    font-size: 3.7rem;
    font-size: clamp(1.8rem, 4.3vw, 4rem);
    font-weight: 180;
    color: #999;
    line-height: 1;
}

.img_block {
    padding-top: 7rem;
}

section.block.animation_block {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
}

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

    .img_block {
        padding-top: 5rem;
    }
}

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

    .grid-sizer, .grid-item {
        width: calc(50% - 32px)!important;
    }
}

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

    .img_block {
        padding-top: 4rem;
    }
}

.entry.grid-item .title {
    padding: 0;
    padding-top: 15%;
}

.entry.grid-item figcaption {
	display: none;
}

.img_block h2.title {
    width: auto;
    display: block;
    text-align: center;
}

/* temp. none */
.img_block h2.title {
    display: none;
}

.img_block h2.title::after,
.entry.grid-item .title::after {
    content: "—";
    display: block;
    line-height: 0.7;
}

.entry.grid-item {
    text-align: center;
    margin-bottom: 10%;
}

.entry.grid-item .image img {
    transform: scale(1);
    transition: all 0.4s ease;
}

.entry.grid-item:hover .image img {
    transform: scale(1.075);
}

.grid-item {
    width: 33.333333%!important;
}

.grid-sizer{
    width: calc(33.3% - 32px);
}

.grid { z-index: 1; }


/* ---

.grid { z-index: 1; }

.grid-sizer,
.grid-item { width: calc(33.3% - 32px); }

---- */

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

    .grid-item {
        width: 25%!important;
    }

    .grid-sizer{
        width: calc(25% - 32px);
    }
}

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

    .grid-item {
        width: 20%!important;
    }

    .grid-sizer{
        width: calc(20% - 32px);
    }
}

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

    .grid-item {
        width: 50%!important;
    }

    .grid-sizer{
        width: calc(50% - 32px);
    }
}

.entry.grid-item .title {
    aspect-ratio: 2 / 1;
}

.grid-item:nth-of-type(2),
.grid-item:nth-of-type(4) {
    padding: 0 5%;
}


/* image_list description */

.image_list .entry {
	position: relative;
}

.image_list .entry .description {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	padding: 0.3rem 2rem 2rem 2rem;
	text-align: left;
	background-color: rgba(255,255,255,1);
	box-shadow: 0 1rem 2.8rem rgba(0,0,0,0.1);
	display: none;
    z-index: 2;
    
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;

    -webkit-hyphenate-limit-before: 3; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    -ms-hyphenate-limit-chars: 7 3 4;
    hyphenate-limit-chars: 7 3 4;
}

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

    .image_list .entry .description {
        width: calc(100% + 6rem);
        left: -3rem;
    }
}

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

    .image_list .entry .description {
        width: calc(100% + 4rem);
        left: -2rem;
    }
}

.image_list .entry .description::before {
    display: block;
    content: "";
    background: linear-gradient(45deg, #4CC1BE, #E33442);
    background: linear-gradient(45deg, #232323, #999);
    width: 0.075rem;
    height: 2rem;
    margin-top: -1.3rem;
    margin-bottom: -0.7rem;
    margin-left: 0.5rem;
    
    
    -webkit-transform: rotate(25deg);
    -moz-transform: rotate(25deg);
    -o-transform: rotate(25deg);
    -ms-transform: rotate(25deg);
    transform: rotate(25deg);
}

.image_list .entry .description h3 {
    font-size: 1.4rem;
    font-weight: 280;
    margin-bottom: 0;
    padding-bottom: 0;
    line-height: 1.2;
}

.image_list .entry .description .text {
    font-size: 1.1rem;
    font-weight: 340;
    margin-top: 1rem;
    line-height: 1.425;
}


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

.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: inline-flex;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: none;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* VERT_Navigation
--------------------------------------------- */

.site-header .container .main-navigation {
    width: 7rem;
    height: 100%;
    background: #FFF;
    box-shadow: -1rem 0 2rem rgba(0, 0, 0, 0.04);
    position: fixed;
    right: 0;
	z-index: 3;
}

.home .site-header .container .main-navigation {
    height: 5rem;
    box-shadow: none;
    position: absolute;
    overflow: hidden;
}

@media only screen and (max-width: 1200px) {
    
    .site-header .container .main-navigation {
        width: 5rem;
    }
}

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

    .site-header .container .main-navigation {
        background: rgba(255,255,255,0.00);
        box-shadow: none;
        position: absolute;
        overflow: hidden;
    }
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Contact Form
--------------------------------------------- */
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
	color: #232323;
	border: 0.1rem solid #E4E4E4;
	border-radius: 0;
	padding: 0.4rem 0.75rem;
	transition: all 0.2s ease;
	margin-top: 0.2rem;
}

input[type="text"]:focus-visible, input[type="email"]:focus-visible, input[type="url"]:focus-visible, input[type="password"]:focus-visible, input[type="search"]:focus-visible, input[type="number"]:focus-visible, input[type="tel"]:focus-visible, input[type="range"]:focus-visible, input[type="date"]:focus-visible, input[type="month"]:focus-visible, input[type="week"]:focus-visible, input[type="time"]:focus-visible, input[type="datetime"]:focus-visible, input[type="datetime-local"]:focus-visible, input[type="color"]:focus-visible, textarea:focus-visible {
	outline: none;
	border: 0.1rem solid #232323;
}

.wpcf7-form label,
.wpcf7-form .wpcf7-not-valid-tip {
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	font-weight: 480;
    color: #232323;
}

.wpcf7-form .wpcf7-not-valid-tip {
	color: #AF0015;
    margin-top: 0.4rem;
}

.wpcf7-form input.wpcf7-text {
	width: 100%;
}

.wpcf7-form textarea {
    resize: vertical;
}

.wpcf7-form .wpcf7-submit {
    border: none;
    border-radius: 0!important;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    font-weight: 480;
    padding: 1.2rem 1.4rem !important;
    background-color: rgba(0,0,0,0.06) !important;
    color: #232323!important;
    transition: all 0.3s ease;
    margin: 0.5rem 0;
    width: 100%;
}

.wpcf7-form .wpcf7-submit:hover {
    background-color: #999999 !important;
    color: #FFF!important;
    cursor: pointer;
}

.wpcf7-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
    line-height: 1.5;
    margin: 0 0 0 0;
    display: inline-flex;
    align-items: center;
    align-content: center;
    text-transform: none!important;
}

.wpcf7-list-item.first {
    margin: 0 0 0 0;
}

input[type="checkbox"], input[type="radio"] {
    appearance: none;
    background-color: #FFF;
    margin: 0 0.05em 0.06em 0;
    width: 0.8rem;
    height: 0.8rem;
    border: 0.16rem solid #E4E4E4;
    border-radius: 0;
    transform: translateY(0.18em);
}

[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="checkbox"]:checked, input[type="radio"]:checked {
    background: #999;
}

.wpcf7 form .wpcf7-response-output {
    margin: 1rem 0 1rem;
    padding: 0.4rem 0.75rem;
    border: 0.16rem solid #E4E4E4;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #7CBE5F;
}

.wpcf7-form .pair {
	display: flex;
	justify-content: space-between;
}

.wpcf7-form .pair > * {
	flex: 0 0 48.5%;
}

/* --- */

.wpcf7 form div.visible-only-if-sent {
  display: none;
}
 
.wpcf7 form.sent div.visible-only-if-sent {
  display: block;
}


/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}



/*--------------------------------------------------------------
# Photoswipe
--------------------------------------------------------------*/


.slideshow .image .details {
	display: none;
}

figure {
    margin: 0;
}

button {
    border-radius: 0;
} 

.pswp__bg {
    background: rgb(255, 255, 255, 1)!important;
}

.pswp__caption {
    background-color: rgba(255, 255, 255, 0)!important;
    padding-left: 3rem;
}

.pswp__counter {
    opacity: 0;
}

@media screen and (max-width: 840px) {
	
    .pswp__caption {
        padding-left: 0;
    }
	
}

.pswp__caption .pswp__caption__center {
    display: table;
    margin-left: 0;
    margin-right: 0;
    padding: 0.4rem 1.6rem 1.55rem 1.8rem;
    width: 20%;
    min-width: 300px;
    max-width: 600px;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 1rem 2.8rem rgba(0,0,0,0.1);
	text-align: left;
    min-height: 3.2rem;
}

.pswp__caption .pswp__caption__center h3 {
    font-size: 1.2rem;
    font-weight: 280;
    margin-bottom: 0;
    padding-bottom: 0;
    line-height: 1.2;
    color: #232323;
}

.pswp__caption .pswp__caption__center .text {
    font-size: 0.95rem;
    font-weight: 340;
    margin-top: 1rem;
    line-height: 1.425;
    color: #232323;
    
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;

    -webkit-hyphenate-limit-before: 3; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    -ms-hyphenate-limit-chars: 7 3 4;
    hyphenate-limit-chars: 7 3 4;
}

@media screen and (max-width: 480px) {
	
    .pswp__caption .pswp__caption__center {
        /* text-align:center; */
        margin-left: auto;
        margin-right: auto;
    }
	
}

.pswp__caption .pswp__caption__center div {
	margin: 0 0 0 0;
}

.pswp__caption .pswp__caption__center div:last-of-type {
	margin-bottom: 0;
}

.pswp__ui--fit .pswp__caption, .pswp__ui--fit .pswp__top-bar {
    background-color: rgba(255,255,255,0);
}


.pswp--svg .pswp__top-bar .pswp__button,
.pswp--svg .pswp__button--arrow--left::before, .pswp--svg .pswp__button--arrow--right::before {
    background-image: url(js/photoswipe/hws-skin/skin.svg);
		
}
.pswp__button, 
.pswp__button--arrow--left::before, 
.pswp__button--arrow--right::before,
.pswp--svg button.pswp__button--arrow--left::before,
.pswp--svg button.pswp__button--arrow--right::before
{
    background: url(js/photoswipe/hws-skin/skin.svg) 0 0 no-repeat;
        background-color: rgba(0, 0, 0, 0);
        background-position-x: 0px;
        background-position-y: 0px;
    background-image: url(js/photoswipe/hws-skin/skin.svg);
        background-size: auto;
    background-size: 264px 88px;
    width: 44px;
    height: 44px;
}

.pswp--svg button.pswp__button--arrow--right::before {
	right: 0;
}

.pswp__button--close,
.pswp__button--fs {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
    content: '';
    top: 35px;
    background-color: rgba(255, 255, 255, 0.3);
    height: 44px;
    width: 44px;
    position: absolute;
	overflow: hidden;
}

.pswp__button.pswp__button--fs {
    float: left;
}

button.pswp__button--arrow--left::before {
    left: 0px;
    background-position: -134px -36px !important;
}

button.pswp__button--arrow--right::before {
    right: 0px;
    background-position: -88px -36px !important;
}

/* debugging */
.pswp__caption.pswp__ui--idle, .pswp__ui--idle .pswp__top-bar,
.pswp__ui--idle .pswp__button--arrow--left, .pswp__ui--idle .pswp__button--arrow--right {
    opacity: 1;
}

.pswp__caption {
    background-color: rgba(255,255,255,0.3);
    background-color: rgba(0,0,0,0.3);
}

.pswp__top-bar {
    background-color: rgba(0,0,0,0);
}

.pswp__caption .img_container .caption {
	height: auto;
}

.pswp__caption .tecrec div {
/*	white-space: nowrap; */
}

.img_container figcaption {
	display: none;
}

.pswp__caption__center {
    display: table;
    max-width: none;
    width: auto;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right,
.pswp__ui--idle .pswp__button--close,
.pswp__ui--idle .pswp__button--fs,
.pswp__ui--idle .pswp__button {
    opacity: 0;
}

/* padding */

.pswp--zoom-allowed .pswp__img {
	padding: 2rem;
}


.entry-footer {
    display: none;
}



/* display-nones
--------------------------------------------- */

.entry-footer .edit-link {
    display: none;
}





