/*
Theme Name: EXKNOW
Theme URI: http://www.exknow.com/
Description: Template für EXpert KNOWledge Resources
Author: Sebastian Klammer Grafikdesign Berlin
Author URI: https://sebastian-klammer.de/
*/

/* === EXKNOW THEME for WordPress === */
/* Version: 1.0 */
/* Copyright: 2015 EXKNOW GmbH */
/* URI: http://www.exknow.com */

/* === IMPORT WEBFONTS === */

@import url('fonts/stylesheet.css');

/* === BROWSER RESET === */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { border: 0; font-size: 100%; margin: 0; outline: 0; padding: 0; vertical-align: baseline; }
:focus { outline: 0; }
strong { font-weight: 700; }
body { line-height: 1; }
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { font-weight: 400; text-align: left; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
a img { border: 0; }
.clear, .clr  { clear: both; }


/* === GENERIC SETTINGS === */


* { margin: 0; padding: 0; }
html, body { width: 100%; min-height: 100%; }
a, a:visited { color: #9dcc09; text-decoration: none; font-weight: 600; }
a:hover { color: #4e606f; text-decoration: none; }

#header { border-radius: 60px; }
#header.small { border-radius: 0; border-bottom-left-radius: 1.5em; border-bottom-right-radius: 1.5em; }
#content .pageContent { border-radius: 1.5em; }
#content .pageContent ul { margin-left: 0; margin-bottom: 2em; }
#content .pageContent ul li { margin-left: 1em; margin-bottom: .25em; }
#content .pageContent ul li::marker { color: #9dcc09; }

ul.subMenu { border-radius: 1.5em; overflow: hidden; }
#header #main-menu ul.menu li ul.sub-menu li:last-of-type { border-bottom-left-radius: 1em; border-bottom-right-radius: 1em; overflow: hidden; }


/* === FONTS === */

body { font-family: 'SFPro', sans-serif; font-weight: normal; color: #333; font-size: 1.8rem; font-size: 18px; line-height: 1.4; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.004); }

h1, h2, h3, h4, h5, h6 { display: block; float: left; width: 100%; font-family: 'SFPro', sans-serif; font-weight: 300; color: #1e3551; line-height: 1.1; box-sizing: border-box; letter-spacing: -1px; }
h1 { font-size: 4em; color: #fff; text-transform: uppercase; }
h2 { font-size: 2.75em; font-weight: 300; margin-bottom: 1em; }
h3 { font-size: 1.5em; font-weight: 600; margin-bottom: 1em; position: relative; }
h3:before { content: ""; width: 10%; height: 3px; background-color: #9dcc09; display: block; margin-bottom: .75em; }
h4 { font-size: 1.5em; font-weight: normal; margin-bottom: 1em; }
p { box-sizing: border-box; display: block; margin-bottom: 1em; float: left; width: 100%; }

p+h2, p+h3 { margin-top: 1em; }

.wp-block-columns h1,
.wp-block-columns h2,
.wp-block-columns h3,
.wp-block-columns h4,
.wp-block-columns h5,
.wp-block-columns h6,
.wp-block-columns p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 1em}

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

#footer h4 { font-weight: bold; font-size: 1.2em; color: #fff; margin: 0 0 1em; }
#footer { font-size: .9em; }


/* === PAGE STRUCTURE === */


body { width: 100%; height: 100%; background-color: #1e3551; }
#outerWrapper { width: 100%; overflow: hidden; background-size: cover; background-position: center center; background-repeat: no-repeat; background-attachment: fixed; }
#contentWrapper { margin: 10em auto 0; position: relative; width: 80%; max-width: 1460px; height: auto; overflow: hidden; }
#footer { float: left; width: 100%; }


/* === TRANSITIONS === */


#header { transition: all .5s; }
#header #main-menu * { transition: all .3s; }
#sidebar * { transition: all .6s; }


/* === HEADER === */


#headerWrapper { width: 100%; position: fixed; top: 0; left: 0; z-index: 9000; }
#header { margin: 0 auto; margin-top: 30px; width: 80%; max-width: 1460px; height: auto; background-color: #1e3551; position: relative; overflow: }
#header #logo { float: left; height: 60px; margin: 20px; width: auto; }
#header #logo img { height: 100%; }
#header .lang { position: absolute; top: 38px; right: 30px; }
#header .lang a { display: inline-block; color: #fff; margin-left: .35em; padding-left: .3em; border-left: 1px solid #fff; line-height: 1; font-weight: 400; font-size: .8em; }
#header .lang a:hover { color: #fff; }
#header .lang a:first-of-type { margin-left: 0; border-left: 0; }
#header .lang a.current_language { color: #9dcc09; font-weight: bold; }


/* --- NAVIGATION --- */


#main-menu { width: auto; margin-right: 70px; font-weight: normal; text-transform: uppercase; float: right; display: inline-block; }
#main-menu ul.menu { list-style-type: none; }
#main-menu ul.menu { float: right; margin-right: 20px; }
#main-menu ul.menu li { display: inline-block; position: relative; }
#main-menu ul.menu li a { display: block; color: #fff; font-size: 1em; font-weight: 400; line-height: 100px; padding: 0 10px; margin-right: 10px; }
#main-menu ul.menu li a:hover,
#main-menu ul.menu li a:focus { color: #9dcc09; }
#main-menu ul.menu li.current_page_item > a,
#main-menu ul.menu li.current-page-ancestor > a { color: #9dcc09; }

#main-menu ul.menu li ul.sub-menu { display: none; position: absolute; top: 100%; left: 0; width: auto; }
#main-menu ul.menu li:hover ul.sub-menu { display: block; }
#main-menu ul.menu li ul.sub-menu li { display: block; }
#main-menu ul.menu li ul.sub-menu li a { display: block; background-color: #1e3551; font-size: inherit; margin: 0; line-height: 1.6; padding: .6em 1.25em; white-space: nowrap; text-transform: none; }
#main-menu ul.menu li ul.sub-menu li:last-of-type a { padding-bottom: 1.25em; }
#main-menu ul.menu li ul.sub-menu li a:hover { background-color: #152539; }
#main-menu ul.menu li ul.sub-menu li.current_page_item a { background-color: #152539; border-left: 6px solid #9dcc09; }

.navToggle { display: none; position: absolute; top: 20px; right: 20px; height: 22px; width: 32px; box-sizing: border-box; }
.navToggle:hover { cursor: pointer; }
.navToggle .bar { position: absolute; height: 3px; border-radius: 3px; background-color: #fff; transition: all .2s ease-in-out; }
.navToggle:hover .bar { background-color: #9dcc09; }
.navToggle .bar.one { width: 32px ; top: 4px; left: 0; }
.navToggle .bar.two { width: 20px; top: 14px; opacity: 1; visibility: visible; }
.navToggle .bar.three { width: 32px; top: 24px; }
.navToggle.active .bar { background-color: #fff; }
.navToggle.active:hover .bar { background-color: #9dcc09; }
.navToggle.active .bar.one { -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); top: 15px; }
.navToggle.active .bar.two { visibility: hidden; opacity: 0; }
.navToggle.active .bar.three { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); top: 15px; }


/* --- SMALL HEADER WHEN SCROLLING --- */


#header.small { /* width: 100%; */ margin-top: 0; }
/* #header.small { border-radius: 0; } */
#header.small { border-top-left-radius: 0; border-top-right-radius: 0; }
#header.small #logo { height: 40px; margin: 15px; }
#header.small #logo img { height: 100%; }
#header.small #main-menu > ul.menu > li > a { line-height: 70px; }
#header.small .lang { top: 18px; }


/* #header.small #main-menu ul.menu li a { font-size: .9em; } */


/* --- SEARCH --- */


#header #search { font-size: 1em; line-height: 1.2; padding: 0 20px; background: #eeeeee; }


/* === PAGE TITLE === */


#titleWrapper { float: left; width: 99.6%; height: auto; overflow: hidden; padding-top: 1em; padding-bottom: 3em; } 

#titleWrapper h1.page-title { float: right; width: 70%; hyphens: manual; word-wrap: break-word; }
body.home #titleWrapper h1.page-title { float: left; width: 100%; padding-left: .5em; box-sizing: border-box; }
#contentWrapper.full-width #titleWrapper h1.page-title { float: left; width: 100%; padding-left: .5em; box-sizing: border-box; }

#contentWrapper #homeWidgetWrapper { float: left; width: 99.6%; height: auto; overflow: hidden; margin-top: 0; margin-bottom: 1em; border-radius: 1.5em; }


/* === CONTENT === */


#contentWrapper #content { float: right; width: 70%; height: auto; overflow: hidden; }
body.home #contentWrapper #content { float: left; width: 100%; }
#contentWrapper.full-width #content { float: left; width: 100%; }
section { height: auto; overflow: hidden; }
#content h1.page-title { margin: 0 4%; font-weight: 300; }
#content .pageContent { float: left; width: 100%; height: auto; box-sizing: border-box; margin: 27px 0 0 0; padding: 2em; overflow: hidden; background: #fff; }

.wp-block-columns { float: left; width: 100%; box-sizing: border-box; height: auto; overflow: hidden; margin-top: 2em; margin-bottom: 2em; }
.wp-block-columns + .wp-block-columns { margin-top: 0; }


/* --- BUTTONS --- */


#content a.button,
#content a.button:visited { display: inline-block; border-radius: 3px; border: none; padding: 6px 20px; margin-top: 20px; background: #9dcc09; color: #fff; }
#content a.button:hover,
#content a.button:focus { border: 1px solid #9dcc09; background: #1e3551 !important; color: #fff !important; }
	
	
/* === IMAGE FORMATS === */


.rounded-image { border-radius: 1em; overflow: hidden; }
.wp-block-image img { border-radius: 1em; }

	
	
/* === SIDEBAR === */


#contentWrapper #sidebar { float: left; width: 30%; margin-top: 27px; padding-right: 3em; box-sizing: border-box; } 
#sidebar ul.subMenu li { background: #fff; width: 100%; box-sizing: border-box; margin-bottom: 0px;}
#sidebar ul.subMenu li { opacity: .5; }
#sidebar:hover ul.subMenu li { opacity: 1.0; }
#sidebar ul.subMenu { backdrop-filter: saturate(180%) blur(20px); }
#sidebar ul.subMenu li > ul.children { margin-bottom: 2px; }
#sidebar ul.subMenu li a { width: 100%; display: block; box-sizing: border-box; border-left: 6px solid #fff; padding: .75em 1.25em; font-weight: 400; color: #1e3551;}
#sidebar ul.subMenu li:first-of-type { padding-top: .75em; }
#sidebar ul.subMenu li:last-of-type { padding-bottom: .75em; }
#sidebar ul.subMenu li a + #sidebar ul.subMenu li a { padding-top: 0.75em; }
#sidebar ul.subMenu li a:hover { color: #9dcc09; }
#sidebar ul.subMenu li.current_page_item { opacity: 1.0; }
#sidebar ul.subMenu li.current_page_item > a { border-left: 6px solid #9dcc09; color: #9dcc09; }
#sidebar ul.children li { width: 100%; }
#sidebar ul.children li a { background: rgba(66,94,129,0.1); border-left: 6px solid rgba(66,94,129,0.05);}

	
/* === FOOTER === */


#footer { float: left; background-color: #1e3551; margin-top: 6em; }
#footer #innerWrapper { margin: 0 auto; width: 80%; max-width: 1460px; padding: 4em 2em 4em 2em; box-sizing: border-box; height: auto; overflow: hidden; }
#footer .footerWidget { float: left; width: 30%; margin-right: 3%; }
#footer ul { list-style-type: none; } 
#footer ul li { display: block; float: left; width: 100%; padding: 2px; box-sizing: border-box; border-bottom: 1px solid rgba(255,255,255,0.1); }
#footer ul li a { display: block; padding: .5em; font-weight: 400; color: #fff; border-radius: 6px; }
#footer ul li a:hover { background-color: #2d4562; }
#footer ul li.current_page_item > a  { background-color: #9dcc09; }


/* === UAG CUSTOMIZATIONS === */


.wp-block-uagb-forms,
.wp-block-uagb-google-map { padding: 0 50px; padding-bottom: 50px; }

.wp-block-buttons, .wp-block-button { float: left; }

.bg-color { padding: 1em; box-sizing: border-box; border-radius: 1em; }
.bg-color.lightgrey { background: #2a629b; background: linear-gradient(0deg,rgba(42, 98, 155, 0.1) 1%, rgba(42, 98, 155, 0.08) 40%, rgba(42, 98, 155, 0.05) 100%); }

.wp-block-uagb-call-to-action { float: left; width: 100%; margin-bottom: 1em; height: auto; overflow: hidden; }

.uagb-cta__title { font-weight: bold; font-size:1.5em; margin-bottom: 1em !important; }

.block-editor-block-list__block.wp-block-uagb-call-to-action { float: left; width:100%; height: auto; overflow: hidden; }

.wp-block-button__link, .wp-element-button { background-color: #9dcc09; color: #fff; border-radius: 60px !important; font-size: .9em; .5em 1.75em; border: none !important; }

.wp-block-button__link:hover, .wp-element-button:hover { background-color: #1e3551; color: #fff; }

.wp-block-uagb-call-to-action { transition: all .2s ease-out; }
.wp-block-uagb-call-to-action:hover { transform: scale(1.02); }

.product-teaser { margin-top: 2em; margin-bottom: 2em; padding: 1em 2em 2em 1em; box-sizing: border-box; transition: all .2s ease-out; background: #2a629b; background: linear-gradient(0deg,rgba(42, 98, 155, 0.08) 0%, rgba(42, 98, 155, 0.04) 20%, rgba(42, 98, 155, 0) 40%); border-radius: 1.25em; }
.product-teaser:hover { transform: scale(1.02); }
.product-teaser img { border-radius: 1.25em; }
.product-teaser h3 { color: #1e3551; }
.product-teaser h3:before { display: none; }
.product-teaser p { font-size: .9em; }
.product-teaser a { color: #1e3551; }
.product-teaser a:hover { color: #9dcc09; }
.product-teaser a.wp-block-button__link { background-color: #1e3551; color: #fff; border-left: 6px solid #9dcc09 !important; }
.product-teaser a.wp-block-button__link:hover,
.product-teaser:hover a.wp-block-button__link { background-color: #9dcc09; color: #fff; }

.wp-block-columns:has(.product-teaser.vertical) { overflow: visible; }
.product-teaser.vertical { padding: 0; padding-bottom: 1em; }
.product-teaser.vertical img { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.product-teaser.vertical .wp-block-heading { padding: 0 0.5em; }
.product-teaser.vertical .wp-block-paragraph,
.product-teaser.vertical .wp-block-button { padding: 0 1em; }


/* === CONTACT FORM 7 CUSTOMIZATION == */


.wp-block-column .wpcf7-form-control-wrap { display: block; width: 100%; }
.wp-block-column .wpcf7 { width: 100%; display: block; height: auto; }
.wp-block-column .wpcf7 br { display: none; }
.wp-block-column .wpcf7 .wpcf7-form { width: 100%; }
.wp-block-column .wpcf7 input, .wp-block-column .wpcf7 textarea { background-color: rgba(41, 97, 155, 0.05); border-radius: .25em; font-size: 1em; border: none; padding: .6em 1em; margin-bottom: .25em; color: #000; }
.wp-block-column .wpcf7 textarea { height: 150px; }

.wp-block-column .wpcf7 .full-width { float: left; margin: 5px 1%; width: 98%; box-sizing: border-box; }
.wp-block-column .wpcf7 .half-width { float: left; width: 48%; margin: 5px 1%; box-sizing: border-box; }
.wp-block-column .wpcf7 .half-width-first { float: left; width: 49%; margin-left: 0; }

.wp-block-column .wpcf7 .wpcf7-checkbox { float: left; width: 100%; margin-bottom: 1em; }
.wp-block-column .wpcf7 .wpcf7-checkbox .wpcf7-list-item { margin: .6em 0 0 0; width: 50%; }

.wp-block-column .wpcf7 .wpcf7-acceptance { float: left; width: 100%; }
.wp-block-column .wpcf7 .wpcf7-acceptance .wpcf7-list-item { float: left; width: 100%; margin: 0; }
.wp-block-column .wpcf7 .wpcf7-acceptance input { float: left; display: inline-block; width: auto; }
.wp-block-column .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label { float: left; display: inline-block; font-size: .75em; width: 92%; margin-left: 12px; line-height: 1.4; margin-bottom: 1em; }

.wp-block-column .wpcf7 .button { margin-left: 1%; margin-top: 1em; padding: .6em 1.2em; background-color: #9dcc09; color: #fff; border: none; border-radius: 120px; transition: all .2s ease-in-out; }
.wp-block-column .wpcf7 .button:hover { background-color: #1e3551; color: #fff; }

.wp-block-column .wpcf7 ::placeholder { color: #000; }


/* === ARCONIX FAQ CUSZOMIZATION === */


.arconix-faq-accordion-wrap { display: block; height: auto; overflow: hidden; }
h3.arconix-faq-term-title { display: none !important; }

.ui-widget { font-family: inherit; font-size: 1.5em !important; width: 100%; border-radius: 1.25em; margin-bottom: 1.5em !important; background: #2a629b; background: linear-gradient(0deg,rgba(42, 98, 155, 0.1) 1%, rgba(42, 98, 155, 0.08) 40%, rgba(42, 98, 155, 0.05) 100%); }
.ui-accordion .ui-accordion-header { color: inherit; border: none; border-top: 1px solid rgba(0,0,0,0.1); background-color: transparent !important; padding: 1em 0 1em 2em !important; font-family: inherit; font-weight: 400; font-size: .8em !important; }
.ui-accordion .ui-accordion-header:first-of-type { border-top: none; }
.ui-accordion .ui-accordion-header.ui-state-active { color: #9dcc09 !important; }
.arconix-faq-accordion-title.ui-accordion-header span.ui-icon { background-image: url(images/arconix_icon_plus.svg) !important; margin-top: -10px; left: 14px !important; width: 20px; height: 20px; background-position: center center; background-size: 100%; }
.arconix-faq-accordion-title.ui-accordion-header.ui-accordion-header-active .ui-icon { background-image: url(images/arconix_icon_minus.svg) !important; }

.ui-widget-content { position: relative; border: none; padding: 1.5em !important; font-family: inherit !important; font-weight: normal; margin-top: 10px; background: transparent !important; background-image: none !important; border-radius: 1.25em; }
.ui-accordion .ui-accordion-content {  overflow: visible; border: none; font-size: 1rem !important; }
.arconix-faq-accordion-content h3 { margin-bottom: 1em; font-size: 1.5em; }
.arconix-faq-accordion-content h3:before { display: none; }
.arconix-faq-accordion-content p {  }
.arconix-faq-accordion-content p a {  }
.arconix-faq-accordion-content p a:hover {  }
.arconix-faq-accordion-content li:before { color: #000; }
.arconix-faq-accordion-content table { width: auto; margin-top: 0; margin-bottom: 0; font-size: 0.6em; }
.arconix-faq-accordion-content table tbody tr { background-color: transparent; }


/* === SLIDER === */


.n2-ss-slide-limiter { max-width: 1400px !important; }
.n2-ss-layer-row-inner { margin: 0; }


/* ======================================================= */
/*               RESPONSIVE LAYOUTS                        */
/* ======================================================= */


@media only screen and (max-width: 1680px) {
	body { font-size: 1.7rem; font-size: 17px; }
}

@media only screen and (max-width: 1280px) {
	body { font-size: 1.5rem; font-size: 15px; }
    #header { width: 100%; margin-top: 0; border-radius: 0 !important; }
	#header #logo { height: 40px; margin: 20px; }
	#header.small #logo { height: 40px; margin: 15px 20px; }
	#header #logo img { border-radius: 0; }
	#header .lang { top: 28px; }
	#header #main-menu > ul.menu > li > a { line-height: 80px; }
	#contentWrapper { width: 90%; margin: 8em auto 0; }
	h1 { font-size: 3.0em; }
	#footer #innerWrapper { width: 90%; }
	#footer .footerWidget h4 { font-size: 1.2em; }
	#footer ul li a { font-size: .9em; }
}

@media only screen and (max-width: 1024px) {
	#header { width: 100%; margin-top: 0; }
	#header #logo, #header.small #logo { height: 30px; margin: 20px 20px; }
	#header .lang { top: 23px; right: 20px; }
	#header > #main-menu > ul.menu > li > a { line-height: 70px; }
	#contentWrapper { width: 95%; }
	h1 { font-size: 3.0em; }
	#footer #innerWrapper { width: 95%; }
	#footer .footerWidget h4 { font-size: 1.2em; }
	#footer ul li a { font-size: .9em; }
}

@media only screen and (max-width: 820px) {
	#header #logo, #header.small #logo { height: 30px; margin: 20px 20px; }
    #header .navToggle { display: block; }
	#header .lang { right: 70px; font-size: 1.2em; }
	#header.small .lang { top: 23px; right: 70px; font-size: 1.2em; }
	#header #main-menu { display: none; width: 100%; background-color: green; position: absolute; top: 100%; height: auto; overflow: hidden; background-color: #1e3551; }
	#header #main-menu.open { display: block; }
	#header #main-menu ul.menu { width: 100%; margin: 0; padding: 1em 2em; box-sizing: border-box; text-align: right; }
	#header #main-menu ul.menu li { display: block; }
	#header #main-menu ul.menu li a { line-height: 1.0 !important; margin: 0; padding: 1em 0; font-size: 1.2em; }
	#header #main-menu ul.menu li ul.sub-menu { display: none; position: relative; top: 0; left: 0; }
	#header #main-menu ul.menu li.current_page_item ul.sub-menu, 
	#header #main-menu ul.menu li.current-page-ancestor ul.sub-menu { display: block; }
	#header #main-menu ul.menu li ul.sub-menu li a { background-color: transparent; padding: .5em 0; }
	#header #main-menu ul.menu li ul.sub-menu li a:hover { background-color: transparent; }
	
	#contentWrapper { margin-top: 6em; }
	#titleWrapper { padding-bottom: 1em; }
	#content .pageContent { padding: 1em !important; }
	#contentWrapper #sidebar { width: 100%; padding-right: 0; }
	.wp-block-columns { padding: 0; }
	
	h1, h2 { hyphens: auto; }
	h2 { font-size: 2em; margin-top: 1em !important; margin-bottom: .5em !important; }
	
	#footer { margin-top: 2em; padding-top: 2em; padding-bottom: 2em; }
	
	.uagb-cta__wrap { text-align: left !important; width: 100% !important; }
	
}

@media only screen and (max-width: 640px) {
	#contentWrapper { width: 100%; padding: 0 1.5em; box-sizing: border-box; }
	#titleWrapper { width: 100%; }
	#titleWrapper h1.page-title { width: 100%; }
	#contentWrapper #content { width: 100%; }
	h1 { font-size: 2.2em; font-weight: 400; }
	#footer #innerWrapper { width: 100%; padding: 0 1.5em; }
	#footer .footerWidget { width: 100%; margin-right: 0; margin-bottom: 2em; }
}
