@media all and (max-width: 1600px) {
    .top-banner .container {
        max-width: 980px;
    }    
}

@media all and (max-width: 1366px) {
    .vc_section .vc_row.fullwidth-row[data-vc-stretch-content="true"] {
        padding-right: 0;
        padding-left: 0;
    }
    .top-banner .container {
        max-width: 770px;
    }
    .top-banner.interactive .container {
        max-width: 100%;
    }
    .grid-list.wpb_content_element {
        margin: 0 -15px 15px;
    }
    .grid-list > li {
        flex-basis: calc(50% - 30px);
        margin: 0 15px 30px;
    }
    .latest-posts-list .text-box {
        padding: 0;
    }
}

@media all and (max-width: 1199px) {
    .nav-menu > li {
        margin: 0 0 -20px 20px;
    }
    .nav-menu > li:nth-last-child(2) > .sub-menu {
        left: auto;
        right: -15px;
    }
    .fixed .nav-menu > li {
        margin: 0 0 -27px 25px;
    }
    .contact-list a {
        height: 75px;
    }
    .contact-list a div {
        line-height: 46px;
    }
    .contact-list a figure {
        width: 75px;
    }
    .vc_cta3-container .vc_cta3-content-header,
    .icon-list-wrapper .icon-list-heading,
    .all-services .entry-title {
        padding: 11px 28px 11px 28px;
    }
    .site-main .vc_section.top-banner-wrapper + .vc_section {
        padding-top: 60px;
    }
    .vc_row.heading-row {
        margin-top: 0;
        padding: 0 15px;
        background-color: transparent;
    }
    .vc_row.heading-row .wpb_content_element:not(:last-child) {
        width: calc(100% - 290px);
    }
    .vc_row.heading-row .vc_tta-container:last-child {
        width: 290px;
        padding-left: 30px;
    }
    .top-banner {
        min-height: 450px;
    }
    .top-banner:before {
        width: 251px;
    }
    .top-banner:after {
        height: 180px;
    }
    .top-banner .text-box {
        padding: 60px 15px;   
    }
    .top-banner .banner-content,
    .tile-box > div {
        font-size: 22px;
    }
    .top-banner .elem.elem-2 {
        top: 16%;
        left: calc(50% - 232px);
    }
    .top-banner .elem.elem-2:after {
        bottom: 47px;
        right: -42px;
        width: 36px;
        transform: rotate(16deg);
    }
    .top-banner .elem.elem-3 {
        left: calc(50% + 232px);
    }
    .top-banner .elem.elem-3:after {
        bottom: 34px;
        left: -53px;
        width: 51px;
        transform: rotate(-25deg);
    }
    .top-banner .elem.elem-4 {
        bottom: auto;
        top: 51%;
        left: calc(50% + 255px);
    }
    .top-banner .elem.elem-4:after {
        top: 30px;
        left: -69px;
        width: 68px;
        transform: rotate(23deg);
    }
    .top-banner .elem.elem-1 .tooltip-box,
    .top-banner .elem.elem-2 .tooltip-box {
        left: 0;
    }
    .top-banner .elem.elem-3 .tooltip-box,
    .top-banner .elem.elem-4 .tooltip-box {
        right: 0;
    }
    .top-banner.interactive h1 {
        top: 30px;
    }
    .heading-box,
    .grid-list > li > a,
    .grid-list .text-box,
    .teaser-list li,
    .tile-box > div {
        padding: 30px;
    }
    .heading-box br,
    .text-uppercase br,
    .teaser-list li br {
        display: none;
    }
    .bottom-menu-list {
        flex-wrap: wrap;
    }
    .bottom-menu-list li {
        width: 50%;
    }
    .bottom-menu-list li:first-child a {
        justify-content: flex-start;
    }
    .bottom-menu-list a {
        padding: 10px 15px;
    }
    .bottom-menu-list a.img-landscape .icon {
        width: 58px;
    }
    .latest-posts .flexbox-center-between {
        margin: 0 0 20px;
    }
    .references-wrapper {
        margin: 0 -15px;
    }
    .references-heading-box {
        padding-right: 30px;
    }
    .references-slider .text-box {
        padding: 120px 30px;
    }
    .references-slider .more-link {
        float: none;
    }
    .references-tiles {
        margin: 0 -15px;
        padding: 20px 10px;
    }
    .references-tiles .referenz .img-box,
    .references-tiles .referenz_kategorie .img-box {
        height: 195px;
    }
    .content-image-list li {
        min-height: 200px;
        margin-bottom: 30px;
        line-height: inherit;
    }
    .content-image-list .text-box,
    .content-image-list li:nth-child(even) .text-box {
        padding: 30px;
    }
    .grid-list > li {
        min-height: 500px;
    }
    .text-box.wpb_text_column {
        padding-left: 30px;
    }
    .single-description-box.vc_column_container > .vc_column-inner {
        padding-right: 15px;
    }
    .tile-box {
        min-height: 200px;
    }
    .tile-box .entry-title {
        max-width: 100%;
    }
    .latest-posts-list.has-slider .text-box,
    .all-services.has-slider .text-box {
        padding: 30px;
    }
    .history-event figure {
        margin: 0 0 0 15px;
    }
    .history-event:nth-child(even) figure {
        margin: 0 15px 0 0;
    }
    .history-event .history-year {
        height: 46px;
        margin: 69px 0 0 100px;
        padding: 6px;
        font-size: 22px;
    }
    .history-event:nth-child(even) .history-year {
        margin: 69px 100px 0 0;
    }
    .history-event.no-image .history-year {
        margin-top: 5px;
    }
    .footer-logos .slick-slide {
        padding: 0 7.5px;
    }
}

@media all and (max-width: 991px) {
    h1,
    .top-banner .large-text {
        font-size: 36px;
    }
    h2,
    .site-main .square-list ul:not([class]) {
        font-size: 28px;
    }
    h3,
    .all-services.has-slider .entry-title {
        font-size: 23px;
    }
    body.menu-open {
        overflow: hidden;
    }
    body.menu-open .main-navigation {
        opacity: 1;
        visibility: visible;
    }
    body.menu-open .mobile-btn span:first-child {
        top: 10px;
        transform: rotate(45deg);
    }
    body.menu-open .mobile-btn span:nth-child(2) {
        display: none;
    }
    body.menu-open .mobile-btn span:last-child {
        transform: rotate(-45deg);
    }
    .site-main {
        padding-top: 80px;
        background-position: top 600px center;
    }
    .site-main article:not(:last-of-type) {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    .site-main .vc_section.parallax-section .vc_row.vc_inner {
        padding: 30px 0;
    }
    .site-main .vc_section.parallax-section .vc_row.vc_inner .wpb_content_element {
        padding: 15px;
    }
    .site-main .vc_section.parallax-section .vc_row.vc_inner:nth-child(3n + 1) {
        padding: 60px 0 !important;
    }
    .site-main .vc_section.parallax-section .vc_row.vc_inner:nth-child(3n + 1) .wpb_single_image img {
        max-height: 70px;
        margin: 0 0 20px;
    }
    .site-main .vc_section.custom-section .css-parallax {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .site-main .vc_section.custom-section .vc_row.tablet-row {
        padding: 30px 7.5px;
    }
    .site-main .vc_section.custom-section .vc_row.vc_inner .wpb_single_image img {
        max-height: 70px;
        margin: 0 0 20px;
    }
    .site-main .vc_section.custom-section .vc_row .wpb_content_element {
        padding: 15px;
    }
    .vc_section .vc_row.vc_row-flex .vc_column_container:last-child > .vc_column-inner,
    .single-gallery-box.vc_column_container > .vc_column-inner {
        padding-left: 15px;
    }
    .vc_section .vc_row.vc_row-flex .wpb_image_grid .wpb_image_grid_ul {
        justify-content: center;
        margin: 0 -7.5px;
    }
    .vc_section .vc_row.vc_row-flex .wpb_image_grid .wpb_image_grid_ul .isotope-item {
        flex-basis: calc(33.33% - 15px);
        margin: 15px 7.5px 0;
    }
    .vc_section .vc_row.tablet-row {
        flex-direction: column;
    }
    .vc_section .vc_row.tablet-row.reverse {
        flex-direction: column-reverse;
    }
    .vc_section .vc_row.tablet-row .vc_column_container {
        flex-basis: auto;
        width: 100%;
    }
    .vc_section .vc_row.tablet-row.two-columns .vc_col-sm-12 .vc_column-inner > .wpb_wrapper > *,
    .vc_section .vc_row.tablet-row.three-columns .vc_col-sm-12 .vc_column-inner > .wpb_wrapper > * {
        width: 100%;
    }
    .vc_row.heading-row .vc_column-inner > .wpb_wrapper {
        display: block;
    }
    .vc_row.heading-row .wpb_content_element:not(:last-child) {
        width: 100%;
    }
    .vc_row.heading-row .vc_tta-container:last-child {
        width: 100%;
        padding: 30px 0 0;
    }
    .vc_row.cta-row .vc_custom_heading {
        min-height: auto;
        padding: 17px 15px 14px 15px;
    }
    .site-main .comment-navigation,
    .site-main .posts-navigation,
    .site-main .post-navigation {
        padding: 35px 0 0;   
    }
    .single-post .vc_row.vc_inner + .vc_row.vc_inner {
        padding-top: 35px;
    }
    .single-post .vc_row .vc_column_container[class*="vc_col-sm-"]:not(:last-child) {
        padding-bottom: 35px;
    }
    .slick-arrow {
        width: 40px;
        height: 40px;
    }
    .slick-arrow:after {
        width: 12px;
        height: 12px;
    }
    .custom-btn,
    .btn.vc_btn3-container .vc_general.vc_btn3 {
        min-width: 160px;
    }
    section.vc_cta3-container {
        padding-bottom: 20px;
    }
    section.vc_cta3-container .vc_general.vc_cta3,
    .site-main .vc_section.parallax-section section.vc_cta3-container .vc_general.vc_cta3,
    .icon-list-wrapper .icon-list-box {
        padding: 0 15px 15px;
    }
    .vc_cta3-container .vc_cta3-content-header,
    .site-main .vc_section.parallax-section .vc_cta3-container .vc_cta3-content-header,
    .icon-list-wrapper .icon-list-heading,
    .all-services .entry-title {
        min-height: auto;
        margin: 0 -15px 15px;
        padding: 15px 15px 14px 15px;
    }
    .vc_cta3-container .vc_cta3-content-header h2 br,
    .all-services .entry-title br {
        display: none;
    }
    .vc_section .vc_row:last-child .all-services:not(.has-slider) {
        margin-bottom: 30px;
    }
    .all-services {
        margin: 0 0 -30px;
    }
    .all-services.has-slider {
        margin: 0;
    }
    .all-services .leistungen {
        width: 100%;
        margin: 0 0 15px;
        padding: 0 15px 15px;
    }
    .text-center .wpb_single_image.vc_align_left,
    .text-center .wpb_single_image.vc_align_right {
        text-align: inherit;
    }
    .header2-wrapper {
        position: fixed;
        top: 0;
        height: 80px;
        padding: 10px 0;
        -webkit-box-shadow: 0 2px 10px -3px rgba(16, 26, 48, 0.2);
        box-shadow: 0 2px 10px -3px rgba(16, 26, 48, 0.2);
    }
    .admin-bar .header2-wrapper {
        top: 32px;
    }
    .header2-wrapper .flexbox {
        align-items: center;
    }
    .header2-wrapper .flexbox > div:first-child {
        flex-basis: 128px;
    }
    .header2-wrapper .flexbox > div:last-child {
        display: flex;
        align-items: center;
    }
    .contact-list {
        position: static;
        flex-direction: row;
        margin-top: 9px;
    }
    .contact-list li:not(:last-child) {
        margin: 0 15px 0 0;
    }
    .contact-list a {
        width: 28px;
        height: 28px;
        border: 0;
    }
    .contact-list a div {
        display: none;
    }
    .contact-list a figure {
        width: 100%;
    }
    .contact-list a figure:before {
        background-image: url(../images/layout/bg_contact-red.png);
    }
    .contact-list a figure:after {
        background-size: 24px;
    }
    .mobile-btn {
        display: block;
    }
    .main-navigation {
        display: none;
        position: fixed;
        top: 80px;
        right: 0;
        bottom: 0;
        left: 0;
        border-top: 1px solid #58585a;
        text-align: center;
        background-color: #fff;
        overflow: hidden;
        overflow-y: auto;
    }
    .admin-bar .main-navigation {
        top: 112px;
    }
    .menu-primary-container {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        width: 100%;
        min-height: 100%;
        padding: 100px 15px;
    }
    .menu-inner-box {
        flex-grow: 1;
        flex-direction: column;
        justify-content: center;
    }
    .nav-menu {
        flex-direction: column;
        justify-content: space-between;
        min-height: 100%;
    }
    .nav-menu > li {
        margin: 10px 0;
        padding: 0;
    }
	body.lang-notpl .nav-menu > li > a {
		font: 20px/1.5 'AvenirLT-Roman';
	}
	body.lang-pl .nav-menu > li > a {
		font: 20px/1.5 'Nunito Sans';
		font-weight: 600;
	}
    .nav-menu > li.menu-item-has-children > a[href="#"] {
        pointer-events: inherit;
    }
    .nav-menu a {
        font-size: inherit;
    }
    .nav-menu .sub-ctrl {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: -7px -24px 0 10px;
        border-top: 2px solid #58585a;
        border-right: 2px solid #58585a;
        vertical-align: middle;
        transform: rotate(45deg);
        transition: all 0.3s ease;
        cursor: pointer;
    }
    .nav-menu > li.menu-item-has-children:hover > .sub-ctrl {
        border-top-color: #000;
        border-right-color: #000;    
    }
    .nav-menu li.menu-item-has-children.show > .sub-ctrl {
        border-top-color: #000;
        border-right-color: #000; 
        margin: -14px -24px 0 10px;
        transform: rotate(135deg);
    }
    .nav-menu > li.menu-item-has-children.show > a {
        color: inherit;
    }
    .nav-menu .sub-menu {
        position: static;
        display: none;
        width: auto;
        border: 0;
        padding: 15px 0;
        box-shadow: none;
        background-color: transparent;
        transition: none;
        opacity: 1;
        visibility: visible;
    }
    .heading-box,
    .teaser-list li {
        padding: 30px 15px;
    }
    .home .heading-box {
        font-size: 18px;
    }
    .home .heading-box .entry-title {
        margin: 0 0 5px;
        font-size: 22px;
    }
    .top-banner:before {
        bottom: auto;
        left: -15px;
        width: 116px;
        height: 231px;
    }
    .top-banner.autoheight:before {
        height: 100%;
    }
    .top-banner:after {
        content: none;
    }
    .top-banner .container {
        max-width: 100%;
    }
    .top-banner .banner-content,
    .tile-box > div {
        font-size: 20px;
    }
    .tile-box > div,
    .content-image-list .text-box,
    .content-image-list li:nth-child(even) .text-box {
        padding: 30px 15px;
    }
    .history-event {
        margin-bottom: 100px;
    }
    .history-event > div,
    .history-event:nth-child(even) > div {
        flex-direction: column;
    }
    .history-event .wpb_text_column,
    .history-event .wpb_text_column:only-child {
        padding: 0 70px 0 0;
    }
    .history-event:nth-child(even) .wpb_text_column,
    .history-event:nth-child(even) .wpb_text_column:only-child {
        padding: 0 0 0 70px;
    }
    .history-event figure {
        margin: 15px 0 0;
    }
    .history-event:nth-child(even) figure {
        margin: 15px 0 0 70px;
    }
    .history-event .history-year {
        margin: 5px 0 0 70px;
    }
    .history-event:nth-child(even) .history-year {
        margin: 5px 70px 0 0;
    }
    .history-event .history-year:before,
    .history-event.no-image .history-year:before {
        width: 120px;
    }
    .grid-list.wpb_content_element {
        margin: 0 -7.5px 30px;
    }
    .grid-list > li {
        flex-basis: calc(50% - 15px);
        min-height: 450px;
        margin: 0 7.5px 15px;
    }
    .grid-list > li > a {
        padding: 15px;
    }
    .grid-list .text-box {
        padding: 15px;
    }
    .home .grid-list .text-box {
        opacity: 1;
        visibility: visible;
    }
    .teaser-list p:last-of-type {
        margin: 0 0 5px;
    }
    .teaser-list .more-link {
        align-self: flex-start;
    }
    .latest-posts .more-link {
        padding-right: 32px;
        font-size: 23px;
    }
    .latest-posts .more-link:after {
        border-top-width: 8px;
        border-bottom-width: 8px;
        border-left-width: 20px;
    }
    .latest-posts-list {
        margin: 0 -7.5px -40px;
        font-size: 16px;
    }
    .latest-posts-list > li {
        flex-basis: 50%;
        padding: 0 7.5px;
    }
    .latest-posts-list.has-slider .text-box,
    .all-services.has-slider .text-box {
        padding: 30px 15px;
        line-height: inherit;
    }
    .news-slider-controls {
        width: 95px;
        height: 40px;
    }
    .references-slider .text-box {
        padding: 120px 15px;
    }
    .references-heading-box {
        left: 15px;
        padding-right: 15px;
    }
    .references-slider-controls {
        left: 15px;
        width: 95px;
        height: 40px;
    }
    .references-tiles .referenz,
    .references-tiles .referenz_kategorie {
        width: 33.33%;
    }
    .text-box.wpb_text_column {
        padding-right: 0;
        padding-left: 0;
    }
    .single-description-box.vc_column_container {
        margin-bottom: 45px;
    }
    .icon-list > li {
        flex-direction: column;
        align-items: flex-start;
    }
    .icon-list .icons-wrapper {
        width: 160px;
        margin: 0;
    }
    .icon-list .icon + .icon {
        margin: 25px 0;
    }
    .icon-list .icon a {
        justify-content: flex-start;
    }
    .icon-list .icon img {
        max-height: 75px;
    }
    .team {
        margin: 0 0 -15px;
    }
    .team .person {
        flex-direction: row;
        align-items: flex-start;
        width: 100%;
        margin: 0 0 15px;
        padding: 15px;
    }
    .team .img-box {
        margin: 0 15px 0 0;
    }
    .footer {
        text-align: center;
    }
    .footer .container > .flexbox {
        flex-direction: column;
        align-items: center;
    }
    .footer .container > .flexbox > div:first-child {
        flex-basis: auto;
        padding: 0 0 30px;
    }
    .footer .flexbox,
    .footer .widget_text ul {
        justify-content: center;
        text-align: inherit;
    }
    .footer .widget_text .widgettitle {
        margin: 0 0 20px;   
    }
    .footer .custom-logo {
        max-width: 185px;
        margin-bottom: 0;
    }
    .socials-list {
        justify-content: center;
    }
}

@media all and (max-width: 782px) {
    .admin-bar .page-container {
        min-height: calc(100vh - 46px);
    }
    .admin-bar .header2-wrapper {
        top: 46px;
    }
    .admin-bar .main-navigation {
        top: 126px;
    }
}

@media all and (max-width: 767px) {
    .inner-wrapper {
        flex-direction: column;
    }
    .sidebar {
        flex-basis: auto;
        width: 50%;
        margin: 35px 0 0;
    }
    .top-banner {
        min-height: 400px;
    }
    .top-banner:before {
        content: none;
    }
    .top-banner .text-box,
    .top-banner .text-box.align-bottom {
        align-items: center;
        padding: 60px 0;
    }
    .top-banner .elem {
        width: 156px;
        height: 156px;
        border-width: 5px;
        padding: 10px;
    }
    .top-banner .elem.main-elem {
        width: 180px;
        height: 180px;
        margin: -90px 0 0 -90px;
    }
    .top-banner .elem[class*="elem-"]:after {
        width: 60px;
        height: 5px;
    }
    .top-banner .elem.elem-1 {
        top: auto;
        bottom: 20px;
        left: calc(50% - 202px);
        margin-left: -78px;
    }
    .top-banner .elem.elem-1:after {
        top: 28px;
        right: -56px;
        transform: rotate(-24deg);
    }
    .top-banner .elem.elem-2 {
        left: calc(50% - 207px);
    }
    .top-banner .elem.elem-2:after {
        right: -62px;
    }
    .top-banner .elem.elem-3 {
        left: calc(50% + 219px);
    }
    .top-banner .elem.elem-3:after {
        left: -58px;
    }
    .top-banner .elem.elem-4 {
        top: auto;
        bottom: 30px;
        left: calc(50% + 218px);
    }
    .top-banner .elem.elem-4:after {
        top: 36px;
        left: -58px;
    }
    .top-banner .elem small {
        font-size: 11px;
    }
    .top-banner .tooltip-box {
        width: 500px;
    }
    .bottom-menu-list {
        flex-direction: column;
    }
    .bottom-menu-list li {
        width: 100%;
    }    
    .bottom-menu-list a.no-icon {
        padding: 36px 15px 10px 88px;
    }
    .latest-posts-list.has-slider .slick-slide,
    .all-services.has-slider .leistungen > a {
        flex-direction: column;
    }
    .all-services.has-slider .leistungen > a > * {
        flex-basis: auto;
    }
    .references-heading-box {
        width: calc(100% - 15px);
    }
    .references-slider .slick-track {
        display: flex;
    }
    .references-slider .slick-slide {
        flex-direction: column;
        height: inherit;
    }
    .references-slider .text-box {
        padding: 120px 15px 30px;
    }
    .references-slider-controls {
        bottom: 15px;
    }
    .references-tiles .referenz,
    .references-tiles .referenz_kategorie {
        width: 50%;
    }
    .references-tiles .referenz .img-box,
    .references-tiles .referenz_kategorie .img-box {
        height: 220px;
    }
    .content-image-list li {
        flex-direction: column;
        min-height: auto;
        margin-bottom: 45px;
    }
    .content-image-list li:nth-child(even),
    .tile-box,
    .tile-box:nth-child(even) {
        flex-direction: column;
    }
    .content-image-list figure,
    .tile-box figure {
        flex-basis: auto;
        width: 100%;
        height: 300px;
    }
    .content-image-list .text-box {
        width: 100%;
    }
    .content-image-list li:nth-child(even) .text-box {
        text-align: inherit;
    }
    .content-image-list li:nth-child(even) .more-link {
        align-self: flex-start;
    }
    .teaser-list li {
        width: 100%;
        border-bottom: 1px solid #ccc;
    }
    .teaser-list li:nth-child(odd) {
        border-right: 0;
    }
    .teaser-list li:last-child {
        border: 0;
    }
    .tile-box {
        min-height: auto;
    }
    .tile-box > div {
        flex-basis: auto;
    }
    .history-wrapper:before,
    .history-wrapper:after {
        left: calc(100% - 40px);
    }
    .history-event {
        margin-bottom: 80px;
    }
    .history-event:nth-child(even) {
        flex-direction: row;
    }
    .history-event > div {
        width: calc(100% - 80px);
    }
    .history-event .wpb_text_column,
    .history-event .wpb_text_column:only-child,
    .history-event:nth-child(even) .wpb_text_column,
    .history-event:nth-child(even) .wpb_text_column:only-child {
        padding: 0 70px 0 0;
    }
    .history-event:nth-child(even) figure {
        margin: 15px 0 0;
    }
    .history-event .history-year {
        width: 80px;
        height: auto;
        font-size: 20px;
    }
    .history-event .history-year,
    .history-event:nth-child(even) .history-year {
        margin: 5px 0 0;
    }
    .history-event .history-year:before,
    .history-event.no-image .history-year:before {
        width: 60px;
    }
    .history-event:nth-child(even) .history-year:before {
        left: auto;
        right: 100%;
    }
    .grid-list.wpb_content_element,
    .grid-list > li:last-child {
        margin: 0;
    }
    .grid-list > li {
        flex-basis: 100%;
        min-height: 300px;
        margin: 0 0 45px;
    }
    .vc_cta3-container table,
    .vc_cta3-container tbody,
    .vc_cta3-container table th,
    .vc_cta3-container table td {
        display: block;
    }
    .vc_cta3-container tr {
        display: flex;
        flex-direction: column;
    }
    .vc_cta3-container td:first-child {
        width: 100%;
    }
    body.lang-notpl .top-banner .large-text,
    body.lang-notpl h1 {
        font-size: 36px;
    }
	body.lang-notpl .vc_cta3-container td:first-child  {
		font-family: 'AvenirLT-Heavy';
	}
	body.lang-pl .vc_cta3-container td:first-child  {
		font-family: 'Nunito Sans';
		font-weight: bold
	}
    .team .person {
        flex-direction: column;
    }
    .team .img-box {
        margin: 0 0 15px;
    }
}

@media all and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
    h1,
    body.lang-notpl h1,
    .top-banner .large-text {
        font-size: 25px;
    }
    h2,
    body.lang-notpl h2 {
        font-size: 23px;
    }
    h3,
    h4,
    .home .heading-box .entry-title,
    .site-main .square-list ul:not([class]),
    .all-services.has-slider .entry-title {
        font-size: 21px;
    }
    h5,
    .home .heading-box,
    .grid-list .text-box,
    .vc_tta-accordion.vc_general .vc_tta-panels .vc_tta-panel-title {
        font-size: 16px;
    }
    .vc_section .vc_row.vc_row-flex .wpb_image_grid .wpb_image_grid_ul .isotope-item {
        flex-basis: calc(50% - 15px);
    }
    .vc_row.text-box ul:not([class]) li {
        display: block;
        margin-top: 10px;
    }
    .vc_row.text-box ul:not([class]) li:after {
        content: none;
    }
    .vc_cta3-container .vc_cta3-content-header h2 br,
    .all-services .entry-title br {
        display: block;
    }
    .contact-list {
        display: none;
    }
    .top-banner .banner-content,
    .tile-box > div {
        line-height: 1.2;
        font-size: 18px;
    }
    .top-banner.interactive h1 {
        top: 30px;
        max-width: 200px;
    }
    .top-banner .elem.main-elem {
        width: 140px;
        height: 140px;
        margin: -70px 0 0 -70px;
    }
    .top-banner .elem {
        width: 120px;
        height: 120px;
        padding: 7px;
    }
    .top-banner .elem[class*="elem-"]:after {
        width: 26px;
    }
    .top-banner .elem.elem-1 {
        bottom: 30px;
        left: calc(50% - 110px);
        margin-left: -60px;
    }
    .top-banner .elem.elem-1:after {
        top: 4px;
        right: -12px;
        transform: rotate(-46deg);
    }
    .top-banner .elem.elem-2 {
        top: 85px;
        left: calc(50% - 116px);
    }
    .top-banner .elem.elem-2:after {
        right: -27px;
        bottom: 28px;
    }
    .top-banner .elem.elem-3 {
        left: calc(50% + 110px);
        margin-left: -60px;
    }
    .top-banner .elem.elem-3:after {
        bottom: 4px;
        left: -13px;
        transform: rotate(-43deg);
    }
    .top-banner .elem.elem-4 {
        left: calc(50% + 110px);
        margin-left: -60px;
    }
    .top-banner .elem.elem-4:after {
        top: -3px;
        left: -5px;
        transform: rotate(44deg);
    }
    .top-banner .elem .icon {
        max-height: 40px;
    }
    .top-banner .elem.elem-4 .icon {
        width: 48px;
    }
    .top-banner .elem.elem-4 .icon:nth-of-type(2) img {
        display: block;
    }
    .top-banner .elem small {
        font-size: 8px;
    }
    .top-banner .tooltip-box {
        width: 345px;
        font-size: 16px;
    }
    .top-banner .elem.elem-2 .tooltip-box {
        top: 0;
    }
    .latest-posts .flexbox-center-between {
        flex-direction: column;
    }
    .latest-posts-list > li {
        flex-basis: 100%;
    }
    .references-slider figure {
        min-height: 250px;
    }
    .references-tiles .referenz,
    .references-tiles .referenz_kategorie {
        width: 100%;
    }
    .references-tiles .referenz a:not([class]) {
        max-width: 90px;
    }
    .content-image-list figure,
    .tile-box figure,
    .latest-posts-list.has-slider img,
    .all-services.has-slider .img-box {
        height: 250px;
    }
    .grid-list .text-box ul:not([class]) li:not(:last-child),
    .site-main .square-list ul:not([class]) li {
        margin-bottom: 1em;
    }
    .footer .container > .flexbox > div:last-child .flexbox {
        flex-direction: column;
    }
    .footer .widget_text ul,
    .footer-menu {
        display: block;
    }
    .footer .widget_text li:not(:last-child) {
        margin-bottom: 5px;
    }
    .footer-menu li {
        margin-top: 5px;
    }
    .footer .widget_text li:not(:last-child):after,
    .footer-menu li:before {
        content: none;
    }
    .footer-logos .slick-slider {
        padding: 0 40px;
    }
}

@media all and (max-width: 414px) {
    .content-image-list figure,
    .tile-box figure,
    .latest-posts-list.has-slider img,
    .all-services.has-slider .img-box {
        height: 200px;
    }
    .history-event .wpb_text_column,
    .history-event .wpb_text_column:only-child,
    .history-event:nth-child(even) .wpb_text_column,
    .history-event:nth-child(even) .wpb_text_column:only-child {
        padding: 0 50px 0 0;
    }
    .history-event .history-year:before,
    .history-event.no-image .history-year:before {
        width: 40px;
    }
    .team .img-box {
        width: 150px;
        height: 150px;
    }
    .top-banner .elem.elem-2 {
        top: 80px;
        left: calc(50% - 95px);
    }
    .top-banner .elem.elem-2:after {
        width: 9px;
        right: -9px;
        bottom: 28px;
        transform: rotate(22deg);
    }
}

@media all and (max-width: 375px) {
    h1,
    .top-banner .large-text {
        font-size: 23px;
    }
    h2,
    h4 {
        font-size: 21px;
    }
    h3,
    .home .heading-box .entry-title,
    .site-main .square-list ul:not([class]),
    .all-services.has-slider .entry-title {
        font-size: 19px;
    }
}

@media all and (max-width: 360px) {
    .menu-primary-container {
        padding: 55px 15px;
    }
}