/* Farben

blau
#187697

*/
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, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

html {
    scroll-behavior: initial;
}

body {
    line-height: 1;
}

a {
    text-decoration-skip-ink: auto
}

button {
    outline: 0
}

blockquote, q {
    quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none
}

q {
    display: inline;
    font-style: italic
}

q:before {
    content: '"';
    font-style: normal
}

q:after {
    content: '"';
    font-style: normal
}

textarea, input[type="text"], input[type="button"], input[type="submit"], input[type="reset"], input[type="search"], input[type="password"] {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0
}

input[type="search"] {
    -webkit-appearance: textfield
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

th, td {
    padding: 2px
}

big {
    font-size: 120%
}

small, sup, sub {
    font-size: 80%
}

sup {
    vertical-align: super
}

sub {
    vertical-align: sub
}

dd {
    margin-left: 20px
}

kbd, tt {
    font-family: courier;
    font-size: 12px
}

ins {
    text-decoration: underline
}

del, strike, s {
    text-decoration: line-through
}

dt {
    font-weight: bold
}

address, cite, var {
    font-style: italic
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent
}

.sticky {
}

.bypostauthor {
}

.wp-caption {
}

.wp-caption-text {
}

.gallery-caption {
}

.alignright {
}

.alignleft {
}

.aligncenter {
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal
}

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

.skip-link {
    left: -9999rem;
    top: 2.5rem;
    z-index: 999999999;
    text-decoration: underline
}

.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 15px 23px 14px;
    z-index: 100000;
    right: auto
}

.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active) {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap
}

/* main */

/* roboto-regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v27-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v27-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/roboto-v27-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('../fonts/roboto-v27-latin-regular.woff') format('woff'), /* Modern Browsers */ url('../fonts/roboto-v27-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/roboto-v27-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-700 - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/roboto-v27-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v27-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/roboto-v27-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ url('../fonts/roboto-v27-latin-700.woff') format('woff'), /* Modern Browsers */ url('../fonts/roboto-v27-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/roboto-v27-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}

body, html {
    font-family: 'Roboto', sans-serif;
    background: #eee;
    font-size: 16px;
    color: #333;
}

a {
    color: #333;
    transition: color 0.3s ease-in;
}

a:hover {
    color: #187697;
}

img {
    height: auto;
}

#header {
    top: 0;
    position: absolute;
    z-index: 99;
    right: 0;
    left: 0;
}

.row {
    max-width: 1170px;
    margin: auto;
    position: relative;
}

#logo {
    float: left;
}

#home-link:before {
    display: block;
    width: 112px;
    height: 56px;
    background: url(/wp-content/uploads/2021/09/boysen_logo_blau.png) no-repeat;
    background-size: 100% 100%;
    content: '';
    margin: 0 auto 25px;
}

#home-link {
    text-decoration: none;
    display: block;
    position: absolute;
    text-align: center;
    bottom: 18px;
    color: #555;
    font-weight: bold;
    left: 35px;
}

#navbar {
    position: relative;
    background: rgba(255, 255, 255, 0.8);
    text-align: center;
    padding: 0 35px;
}

ul .wpml-ls-menu-item a {
    display: inline;
}

#content {
    line-height: 180%;
}

#header-top {
    padding: 30px 35px;
    text-align: right;
    background: rgb(255, 255, 255);
    background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0.7987570028011204) 0%, rgba(255, 255, 255, 0.804359243697479) 19%, rgba(255, 255, 255, 0) 29%);
    background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0.7987570028011204) 0%, rgba(255, 255, 255, 0.804359243697479) 19%, rgba(255, 255, 255, 0) 29%);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.7987570028011204) 0%, rgba(255, 255, 255, 0.804359243697479) 19%, rgba(255, 255, 255, 0) 29%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=1);
    margin-bottom: 1px;
}

#header-top > * {
    float: right;
}


#top {
    text-align: center;
    display: block;
    width: 50px;
    height: 50px;
    line-height: 45px;
    border: 2px solid #ccc;
    border-radius: 100%;
    color: #ccc;
    margin: auto;
    font-size: 2rem;
}

#footer {
    background: #fff;
    padding-top: 60px;
    line-height: 160%;
}

#footer a {
    text-decoration: none;
}

#footer a[href^="tel"], #footer a[href^="mailto"] {
    text-decoration: underline;
}

#footer-wrapper {
    position: relative;
    display: grid;
    padding: 60px 35px;
    grid-template-columns: 1.3fr 1.3fr 0.7fr 0.7fr;
    grid-gap: 25px;
    align-items: end;
    width: 100%;
}

.footer-col {
    position: relative;
    padding-left: 25px;
}

.footer-col .wp-block-image {
    margin-bottom: 0;
}

.footer-col:before {
    content: '';
    display: block;
    width: 1px;
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    background: #B7B7B7;
}

.footer-col:first-child {
    padding-left: 0;
}

.footer-col:first-child:before, .footer-col:nth-child(4):before {
    display: none;
}

#footer-4 {
    text-align: center;
}

#footer-4 > div {
    display: inline;
}

#footer-4 a {
    color: #ccc;
}

#footer-4 a:hover {
    color: #187697;
}

.logo-footer {
    text-align: center;
    color: #555;
    font-weight: bold;
}


/* search */

.search-field {
    border: 1px solid rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.5);
    color: #666;
}

.search-field::placeholder {
    color: #fff;
}

.search-submit {
    background: none;
    color: #fff;
    border: none;
    cursor: pointer;
}

#mobile-search {
    padding: 20px 10px;
}

#mobile-search .search-submit, #mobile-search .search-field::placeholder {
    color: #666;
}

#mobile-search .search-field {
    border: 1px solid #666;
    padding: 10px;
}


/* nav top */
#menu-topnavigation, #menu-topnavigation-en {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #fff;
    font-weight: bold;
    line-height: 1.4rem;
}

#menu-topnavigation li, #menu-topnavigation-en li {
    display: inline;
    margin-left: 15px;
}

#menu-topnavigation a, #menu-topnavigation-en a {
    color: #fff;
    text-decoration: none;
}

/* widget areas */

#footer-social {
    float: right;
    margin-left: 10px;
}

/* posts */

.no-header-img {
    padding-top: 150px;
    padding-bottom: 30px;
}

.single-post-wrapper h1 {
    color: #187697;
    font-weight: bold;
}

.single-post #menu-topnavigation a, .single-post .search-submit {
    color: #666;
}

.single-post .search-field {
    border-color:#666;
}

.nav-links > div {
    float: left;
    margin-right: 20px;
    padding: 25px 0;
}

.nav-links a {
    text-decoration: none;
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid #187697;
    background: #187697;
    color: #fff;
}

.nav-links:after {
    content: '';
    display: block;
    height: 1px;
    clear: both;
}


/* blocks */

.videoheight iframe {
    max-height: 312px;
}

.wp-block-columns {
    max-width: 1170px;
    margin: auto;
    position: relative;
    padding: 0 15px;
}

.page-id-1907 .wp-block-columns {
    max-width: 900px;
}


.wp-block-columns .wp-block-columns {
    padding: 0;
}

.wp-block-cover.header-cover {
    align-items: flex-end;
    padding-bottom: 50px;
}

@media only screen and (min-width: 1025px) {
    .wp-block-cover.header-cover {
        min-height: 790px;
    }
}

/* text */
h1 {
    margin-top: 30px;
    font-size: 2.5rem;
    line-height: 110%;
}

h2, h3, h4 {
    margin-top: 20px;
    font-size: 1.2rem;
    line-height: 110%;
    color: #187697;
    font-weight: bold;
    margin-bottom: 15px;
}

h2 {
    font-size: 2.25rem;
    margin: 50px 0 40px;
}

h3 {
    font-size: 1.5rem;
    margin: 30px 0 20px;
}

strong {
    font-weight: bold;
}

.consultingcheck {
    font-weight: bold;
    color: #951C44;
}

.consultingcheck span {
    color: #444;
    font-weight: normal;
}

.has-large-font-size {
    line-height: 100%;
}

.wp-block-button__link {
    border-radius: 0;
    font-weight: bold;
    transition: all 0.3s ease-in;
}

.is-style-outline > .wp-block-button__link, .wp-block-button__link.is-style-outline {
    padding: 10px 20px;
}

.is-style-outline > .wp-block-button__link:hover, .wp-block-button__link.is-style-outline:hover {
    background: #187697 !important;
    color: #fff !important;
}

.is-style-full-width img {
    width:100%;
}

.wp-block-button__link.has-boysen-blue-color:hover, .wp-block-button__link.has-boysen-blue-color:hover * {
    color: #fff;
}

.btn {
    display: inline-block;
    padding: 5px 25px;
    text-transform: uppercase;
    margin-top: 10px;
    border: 1px solid #999;
    border-radius: 2px;
    color: #333;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: bold;
}

#footer-wrapper ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* blog items */

.latest-blog-entry a {
    text-decoration: none;
}

.latest-blog-entry .date {
    display: block;
    font-size: 0.8rem;
    font-weight: bold;
}

.latest-blog-entry h3 {
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    text-transform: uppercase;
    margin: 3px 0 15px;
}

.latest-blog-entry {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dotted #333;
}

@media only screen and (min-width: 768px) {
    .entry-content img {
        max-width: 40%;
        float: left;
        margin: 10px 20px 10px 0;
    }

    .wp-block-columns.vertical-align-buttons > div {
        position: relative;
        padding-bottom: 70px;
    }

    .wp-block-columns.vertical-align-buttons .wp-block-buttons {
        position: absolute;
        /*
        left: 50%;
        transform: translateX(-50%);
        */
        bottom: 10px;
    }
}

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

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

#content p {
    margin: 20px 0;
}

/* widgets */

#header-widget .widget_base_icon_widget {
    float: right;
}

.widget_base_icon_widget {
    display: block;
    margin-left: 20px;
}

.widget_base_icon_widget > div {
    display: table;
}

.icon-widget-icon-wrapper {
    float: left;
    font-size: 50px;
    margin-right: 5px;
    display: table-cell;
    vertical-align: middle;
}

.icon-widget-text-wrapper {
    display: table-cell;
    vertical-align: middle;
}

.widget_base_icon_widget span {
    display: block;
    padding: 3px 0;
}

.icon-widget-text-wrapper .first-line {
    color: #444;
    font-size: 1rem;
}

.icon-widget-text-wrapper .second-line {
    color: rgba(68, 68, 68, .4);
    font-size: 0.9rem;
}

.linked-icon {
    display: inline-block;
    font-size: 1.5rem;
    left: 1px;
}

#footer-social .linked-icon {
    font-size: 0.9rem;
}


/* main nav */
.sf-menu {
    float: none;
    margin-bottom: 0;
}

.sf-menu li, .sf-menu li:hover, .sf-menu li.sfHover {
    background: none;
}

.sf-menu > li {
    margin: 0 10px;
    float: none;
    display: inline-block;
    height: 52px;
    line-height: 52px;
}

.sf-menu > li > a {
    padding: 0;
    height: 52px;
    line-height: 52px;
    border: none;
    text-transform: uppercase;
    font-weight: bold;
    display: inline-block;
}

.sf-menu ul li, .sf-menu ul li:hover, .sf-menu ul ul li, .sf-menu ul li.sfHover, .sf-menu li.sfHover li {
    background: rgba(255, 255, 255, 0.8);
}

.sf-menu a {
    color: #555;
    text-decoration: none;
    zoom: 1;
}

.sf-menu ul a {
    color: #444;
    padding: 10px 15px;
    text-align: left;
    line-height: 100%;
}

.sf-menu ul a:before {
    content: '\f105';;
    font-family: 'fontello';
    margin-right: 5px;
    color: rgba(68, 68, 68, .5);
}

.sf-menu ul {
    font-size: 0.9rem;
}

/* mobile nav */

.page-nav-trigger {
    display: none;
}

.page-nav-trigger i {
    font-size: 2rem;
}

#sidrnav {
    display: none;
}

.sidr {
    background: #fff;
    display: none;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    top: 0;
    width: 260px;
    z-index: 999999;
}

.sidr.right {
    left: auto;
    right: -260px;
}

.sidr.left {
    left: -260px;
    right: auto;
    -webkit-box-shadow: 6px 0 4px 1px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 6px 0 4px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 6px 0 4px 1px rgba(0, 0, 0, 0.2);
}

.sidr ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidr li {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

.sidr a:hover {
    text-decoration: none;
}

.sidr a {
    display: block;
    float: none;
    padding: 10px 40px 10px 10px;
    font-size: 15px;
    border-bottom: 1px #353535 solid;
    color: #353535;
    text-decoration: none;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
}

.sidr ul ul {
    background: #656565;
    display: none;
}

.sidr ul ul a {
    display: block;
    float: none;
    padding: 10px 10px 10px 20px;
    font-size: 13px;
    border-bottom: 1px #fff solid;
    color: #fff;
    text-transform: none;
}

.sidr ul ul ul {
    background: #353535;
    display: none;
}

.sidr ul ul ul a {
    padding: 5px 5px 7px 35px;
}

.sidr-inner {
    position: relative;
}

.has-sub {
    border-left: 1px solid #aaa;
    position: absolute;
    height: 100%;
    right: 0;
    top: 0;
    font-size: 180%;
    width: 40px;
    color: #aaa;
}

.sub-inner {
    display: table;
    height: 90%;
    width: 100%;
}

.has-sub i {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.close-nav {
    padding: 10px;
    background: #353535;
    color: #fff;
    text-align: right;
}

.close-nav span {
    text-transform: uppercase;
    float: left;
    display: inline-block;
    padding: 5px 0 0 0;
}

.close-nav i {
    cursor: pointer;
    font-size: 200%;
}

/* transitions */
.transition-all {
    transition: all 0.3s ease-in;
}

.transition-opacity {
    transition: opacity 0.3s ease-in;
}

.transition-color {
    transition: color 0.3s ease-in;
}

.transition-all-links a {
    transition: all 0.3s ease-in;
}


/************* clearfix */
.clearfix:after {
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-block;
}

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix {
    *zoom: 1;
}

/* hide from IE-mac \*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

@media (min-width: 782px) {
    .divided .wp-block-column:not(:first-child) {
        margin-left: 4em;
        position: relative;
    }

    .divided .wp-block-column:not(:first-child):before {
        content: '';
        position: absolute;
        display: block;
        top: 10px;
        bottom: 10px;
        width: 1px;
        left: -2em;
        background-color: #187697;
    }
}

@media only screen and (max-width: 1280px) {
    #navbar {
        text-align: right;
    }
}

@media only screen and (max-width: 992px) {
    #top-menu, #top-search {
        display: none;
    }

    #header-top {
        background: #fff;
    }

    .page-nav-trigger {
        display: block;
        color: #555;
        cursor: pointer;
        position: absolute;
        right: 35px;
        top: 10px;
    }

    #secondary-trigger {
        display: none;
    }

    #header nav, #nav {
        display: none;
    }

    #mobilewrap {
        height: 50px;
    }
}

@media only screen and (max-width: 800px) {
    #footer-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-col:before {
        display: none;
    }

    .footer-col {
        padding-left: 0;
    }
}


@media only screen and (max-width: 600px) {
    #top-search {
        display: none;
    }

    #primary-trigger {
        display: none;
    }

    #secondary-trigger {
        display: block;
        right: 15px;
    }

    #footer-wrapper {
        grid-template-columns: 1fr;
    }
    h1 {
        font-size:1.75rem;
    }
    h2 {
        font-size:1.5rem;
    }
    h3 {
        font-size: 1.3rem;
    }
}

/* media queries */
@media only screen and ( -webkit-min-device-pixel-ratio: 1.3 ), only screen and (    min--moz-device-pixel-ratio: 1.3 ), only screen and (      -o-min-device-pixel-ratio: 2.6/2 ), /* returns 1.3, see Dev.Opera */
only screen and (         min-device-pixel-ratio: 1.3 ), only screen and ( min-resolution: 124.8dpi ), only screen and ( min-resolution: 1.3dppx ) {

    /*retina including devices that upscale (nexus etc) */

}

.logged-in.admin-bar {
    padding-top: 30px;
}

.logged-in.admin-bar #wrapper {
    position: relative;
}