/*
Theme Name: Portica GmbH Marketing Support
Theme URI: http://www.portica.de/
Author: SIGN+DESIGN Werbeagentur
Author URI: https://www.signunddesign.com/
Description: Wozu lange um den „heißen Brei“ reden: Unser Ziel ist Ihr Erfolg! Denn nur erfolgreiche Kunden sind auf Dauer glückliche Kunden. Und um Sie glücklich zu machen, richten wir unsere Energie auf Ihren stimmigen Auftritt und die Entwicklung zielführender Kommunikationsmaßnahmen. Werbung darf bei uns Spaß machen und ist trotzdem niemals Selbstzweck. Was zählt ist Ihr Erfolg! Die Früchte unserer Bemühungen: treue, langjährige Kunden und zahlreiche Weiterempfehlungen – mit ein Grund dafür, dass viele unserer Kunden aus dem Bereich Immobilien stammen. Und hier liegt auch seit über 20 Jahren ein Schwerpunkt unserer Arbeit.
Version: 2.1
*/@charset "UTF-8";

/*Global Reset*/

body,html,h1,h2,h3,h4,h5,h6,ul,ol,li{padding:0;margin:0;}
body,html{overflow: unset!important;width:100%;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}

/* ########## Fonts ++ WICHTIG font-display: swap; ++ ########## */

/* montserrat-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src: url('assets/fonts/montserrat-v30-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/montserrat-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: url('assets/fonts/montserrat-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/montserrat-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ########## Variables ########## */

:root {
    --font-family: "Montserrat", sans-serif;
    --transition: all .45s cubic-bezier(0.65,0,.076,1);
    --wrp-width: 1200px;
    --wrp-large-width: 1584px;
    --box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.3);
    --border-radius: 25px;
    --primary-color: #005596;
    --primary-light-color: #D0E6F9;
    --secondary-color: #D0E6F9;
    --cta-color: #95C11F;
    --text-color: #1F1F1F;
    --gray-bg-color: #F7F7F7;

    /* fonts */

    --fs-body: clamp(0.875rem, 0.8rem + 0.53vw, 1rem);
    --lh-body: clamp(1.375rem, 1.25rem + 0.52vw, 1.625rem);

    /* Font sizes */
    --fs-xs: clamp(0.75rem, 0.688rem + 0.27vw, 0.875rem);
    --fs-sm: clamp(0.875rem, 0.8rem + 0.53vw, 1rem);
    --fs-md: clamp(1.125rem, 0.942rem + 0.78vw, 1.375rem);
    --fs-lg: clamp(1.375rem, 1.166rem + 0.9vw, 1.75rem);

    /* Line heights */
    --lh-xs: clamp(0.75rem, 0.688rem + 0.27vw, 0.875rem);
    --lh-sm: clamp(1.25rem, 1.125rem + 0.52vw, 1.375rem);
    --lh-md: clamp(1.625rem, 1.375rem + 0.78vw, 2rem);
    --lh-lg: clamp(1.875rem, 1.562rem + 1vw, 2.375rem);

    /* Margins (bottom) */
    --mb-xs: clamp(1.25rem, 1.125rem + 0.78vw, 1.563rem);
    --mb-sm: clamp(1.25rem, 1.125rem + 0.52vw, 1.375rem);
    --mb-lg: clamp(1.5rem, 1.25rem + 1.04vw, 2.5rem);
}

/* ########## Globals ########## */

html {scroll-behavior: smooth; background: var(--gray-bg-color);}
body {font-size: var(--fs-body); line-height: var(--lh-body); font-family: var(--font-family), sans-serif; color: var(--text-color); font-weight: 500; max-width: 1920px; margin: 0 auto; background: #fff; padding-top: 10px;}
img {-ms-interpolation-mode:bicubic; vertical-align: bottom; width: 100%;}
svg {width: 100%; height: 100%;}
hr {border:none;height:1px;background:#ddd; margin:0;}

.wrp {max-width: var(--wrp-width); width: 90%; margin: 0 auto; position:relative; box-sizing:border-box;}
.wrp.text-lgn {max-width: calc(var(--wrp-width) + 100px);}

.circle {position: absolute; width: 100px; height: 100px; border: 10px solid #fff; top: -50px; right: 50px; background: var(--cta-color); color: #fff; text-align: center; line-height: 16px; font-size: 12px; border-radius: 50%; display: grid; place-items: center; font-weight: 700;}

/* Margins */

.mb {margin-bottom: 130px;}
.mb50 {margin-bottom: 50px;}

@media (max-width: 767px) {
  .mb {margin-bottom: 70px;}
  .mb50 {margin-bottom: 25px;}
}

/* Page Build */

main.withsidebar {margin-bottom: 100px; position: relative;}
main.withsidebar .page-build {display: grid; grid-template-columns: 65% 28%; align-items: flex-start; justify-content: space-between; max-width: var(--wrp-width); width: 90%; margin: 0 auto;}
main.withsidebar .content .wrp {width: 100%;}

main .content-set-lines {display: none;}
main.withsidebar .content-set-lines {display: block; width: 100%; height: 215px; background: url("assets/icons/content-set-lines.svg"); background-repeat: no-repeat; background-size: 600%; background-position: 50% 93%; margin-top: -50px;}


@media (max-width: 1024px) {
    main.withsidebar .page-build {grid-template-columns: 100%;}
    main.withsidebar .page-build .sidebar {display: none;}
}

/* Typo Styles */

h1, h2 {
    font-size: var(--fs-lg);
    line-height: var(--lh-lg);
    margin-bottom: var(--mb-lg);
    font-weight: 400;
    color: var(--text-color);
}

h1 strong, h2 strong { font-weight: 700; }

h3 {
    font-size: var(--fs-md);
    line-height: var(--lh-md);
    margin-bottom: var(--mb-sm);
    font-weight: 400;
    color: var(--text-color);
}

h3 strong { font-weight: 700; }

h4 {
    font-size: var(--fs-md);
    line-height: var(--lh-md);
    margin-bottom: var(--mb-sm);
    font-weight: 700;
    color: var(--text-color);
}

h5 {
    font-size: var(--fs-xs);
    line-height: var(--lh-xs);
    margin-bottom: var(--mb-xs);
    text-transform: uppercase;
    background: var(--primary-light-color);
    padding: 0.5rem 0.9375rem; /* 8px 15px */
    border-radius: var(--border-radius);
    display: inline-block;
}

a {text-decoration: none; outline:none !important; color: var(--text-color); transition: var(--transition); cursor: pointer;}
a:hover {color: var(--cta-color); transition: var(--transition); cursor: pointer;}

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

.btn {position: relative;font-size: 16px;display: inline-block;color: #fff;font-weight: 700;background: var(--cta-color);border: none;border-radius: 50px;padding: 15px 60px;margin-top: 40px;cursor: pointer;overflow: hidden;transition: var(--transition);}
.btn:hover {background: var(--primary-color);color: #fff;}
.btn::before {content: attr(data-text);position: absolute;top: 80%;left: 50%;transform: translate(-50%, calc(-50% + 170%)) skewY(12deg);transition: transform 500ms ease;white-space: nowrap;color: inherit;font-weight: inherit;}
.btn:hover::before {transform: translate(-50%, -115%) skewY(0deg);}
.btn span {display: inline-block;transform: translateY(0) skewY(0deg);transition: transform 500ms ease;}
.btn:hover span {transform: translateY(-230%) skewY(12deg);}

.btntext {position: relative; padding: 0.5rem 0; background: transparent; border: none; cursor: pointer; font-weight: 700; display: inline-block;}
.btntext:after {content: '';position: absolute;bottom: 0;left: 0;width: 100%;height: 2px;background-color: var(--cta-color); transform: scaleX(0);transform-origin: bottom right;transition: transform 300ms cubic-bezier(0.65, 0.05, 0.36, 1);}
.btntext:hover::after {transform: scaleX(1); transform-origin: bottom left;}

p {margin-bottom: calc(var(--lh-body) * 1.4);}
p:last-child {margin-bottom: 0;}
address {font-style: normal; color: var(--text-color);}
address a {display: block;}
ol, ul {margin-bottom: var(--lh-body);}
li {margin-left: 20px;}

@media (max-width: 1024px) {
    .btn {font-size: 14px; padding: 20px 30px; margin-top: 20px;}
}

/* ########## Mainnav ########## */

#mainnav ul.mainnav.smart {display:none;}
#mainnav {display: block; transform: translate(0); z-index: 1;}
#mainnav ul.mainnav.desktop li {list-style-type: none; font-size: 16px; margin-left: 20px; position: relative;}
#mainnav ul.mainnav.desktop li.btn {line-height: 16px; padding: 0; margin: 15px 0 0 20px; transition: var(--transition);}
#mainnav ul.mainnav.desktop li.btn a {padding: 14px 25px; color: #fff; border-radius: var(--border-radius);}
#mainnav ul.mainnav.desktop li:first-child {margin-left:0;}
#mainnav ul.mainnav.desktop li.menu-item-has-children:after {width: 12px; height: 12px; content: ''; right: -20px; top: 53%; position: absolute; background-image: url("assets/icons/arrow-down.svg"); background-size: contain; background-position: center; background-repeat: no-repeat; transition: var(--transition);}
#mainnav ul.mainnav.desktop li a{display:block; color: var(--text-color); transition: var(--transition); padding: 45px 0 28px 0; font-weight: 700;}
#mainnav ul.mainnav.desktop li a:hover, #mainnav ul > li.current-menu-item > a{color: var(--primary-color); transition: var(--transition);}

.scrolled #mainnav ul.mainnav.desktop li:not(.btn) a{padding: 25px 0 25px 0; transition: var(--transition);}
.scrolled #mainnav ul.mainnav.desktop li.menu-item-has-children:after {top: 44%; transition: var(--transition);}
.scrolled #mainnav ul.mainnav.desktop li.btn {line-height: 16px; padding: 0; margin: 0 0 0 20px; transition: var(--transition);}
.scrolled #mainnav ul.mainnav.desktop li.btn:hover a {color: #fff; transition: var(--transition);}

@media (max-width: 1400px) {
    #mainnav ul.mainnav.desktop li a {padding: 25px 0 28px 0;}
    #mainnav ul.mainnav.desktop li.menu-item-has-children:after {top: 41%;}
    #mainnav ul.mainnav.desktop li.btn {margin: -5px 0 0 20px;}
}

@media (max-width: 1300px) {
    #mainnav ul.mainnav.desktop li a{font-size: 14px;}
}

/* Submenu */

@media (min-width: 1101px){

    #mainnav ul.mainnav.desktop {display: flex; align-items: center; margin: 0; gap: 20px;}
    #mainnav ul.mainnav li.menu-item-has-children {position: relative;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu {position: absolute; top: 100px; left: -11px; display: block; height: auto; max-height: 0; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li {width:250px; height: 100%; padding: 6px 0 6px 12px; transition: 0.8s ease; background: var(--primary-light-color); margin: 0 0 8px 0; border-radius: var(--border-radius);}
    #mainnav ul.mainnav li.menu-item-has-children:hover > ul.sub-menu {max-height: 674px; padding-top: 20px; overflow: visible; margin-top: -6px;}

    .scrolled #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu {top: 75px;}


    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover {background: var(--primary-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover a {color: #fff;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li a {padding: 2px!important; font-size: 14px; font-weight: 500; cursor: pointer;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:last-child {margin-bottom: 0;}

    /* Zweite Ebene */

    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu {position: absolute; left: 100%; top: 6px; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children:hover ul.sub-menu {overflow: visible;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li {background: #f5f5f5;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li a {color: var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li:hover a {color: var(--primary-color);}

    /* Desktop ausblenden */

    #mainnav .head,
    #mainnav address.contact,
    #mainnav ul.mainnav li.back {display: none;}
}

@media (max-width: 1100px) {

    .mainnav.desktop {display: none;}

    /* Offcanvas */

    #mainnav ul.mainnav.smart {display:block;}
    #mainnav {position: fixed; top: 0; right: 0; bottom: 0; background: #fff; width: 100%; max-width: 500px; transform: translateX(105%); transition: var(--transition); box-shadow: var(--box-shadow); z-index: 2; height: 100vh;}
    #mainnav.active {transform: translateX(3%); transition: var(--transition);}
    #mainnav .head {display: grid;grid-template-columns: auto auto 55px; align-items: center; padding: 20px; box-sizing: border-box; box-shadow: 0 0 10px rgba(0,0,0,0.1);}
    #mainnav .head p {margin: 0; font-size: 25px; color: var(--text-color);}
    #mainnav .head .buttons {display: flex; justify-content: center;justify-self: end;}

    #mainnav .head .buttons a {width: 50px; height: 50px; border-radius: 2px; background: #f5f5f5; margin-left: 5px; display: flex; align-items: center; justify-content: space-around; }
    #mainnav .head .buttons a:first-child {margin-left: 0;}
    #mainnav .head .buttons a img {width: 25px; height: 25px;}

    /* Submenu */

    #mainnav ul.mainnav.smart {display: block;}
    #mainnav ul.mainnav li {padding: 0; box-sizing: border-box; margin: 0; background: #efefef; border-bottom: 1px solid #dedede; list-style-type: none;}
    #mainnav ul.mainnav li a {font-size: var(--fs-sm); padding: 13px 45px 13px 5%; display: block;}

    #mainnav .opensubnav {cursor: pointer; width: 49px; height: 49px; position: absolute; right: 0; background: #fff; display: block; z-index: 100; box-sizing: border-box;}
    #mainnav .opensubnav.active {background: var(--secondary-color);}
    #mainnav .opensubnav:after  {content: ''; transform: rotate(-45deg) translate(-50%, -50%); border: solid var(--cta-color); border-width: 0 2px 2px 0; display: inline-block; padding: 3px; left: 50%; top:42%; position: absolute; transition: var(--transition);}
    #mainnav .opensubnav.active:after  {content: ''; transform: rotate(45deg); -webkit-transform: rotate(45deg);  border: solid #fff; border-width: 0 2px 2px 0; left: 19px; top:18px; transition: var(--transition);}

    #mainnav address.contact {padding: 5%; box-sizing: border-box; display: block;}

    /* Offcanvas Sub Layer 1 */

    #mainnav li.menu-item-has-children ul.sub-menu {display: none; transition: var(--transition); margin-bottom: 0;}
    #mainnav li.menu-item-has-children.active ul.sub-menu {display: block;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li a {background: #fff; padding-left: 10%;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li ul.sub-menu li a {padding-left: 15%;}

    /* Offcanvas Sub Layer 2 */

    #mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children .opensubnav {background: #f5f5f5;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children ul.sub-menu {display: none; transition: var(--transition);}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children.active ul.sub-menu {display: block; transition: var(--transition);}

    #mainnav ul.offcanvas-menu li.back a:before {display: none;}

    /* Mainnav Toggle */

    .mainnav-toggle {border-radius: 2px; display: block!important; position: relative; z-index: 10;width: 50px;height: 50px;background: var(--primary-color);box-shadow:none; transition: var(--transition);}
    .mainnav-toggle.off {border-radius: 50px; display: block!important; position: absolute; z-index: 10; top: 50%; right: 3%;transform: translateY(-50%);width: 50px;height: 50px;background: var(--primary-color);box-shadow: 1px 2px 10px 0px rgba(0,0,0,0.3); transition: var(--transition);}
    .mainnav-toggle.off.active {display:none!important}
    .mainnav-toggle .btn-mainnav-toggle {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 25px;cursor: pointer;}
    .mainnav-toggle .btn-mainnav-toggle span {display: block;width: 100%;box-shadow: 0 2px 10px 0 rgba(0,0,0,0.3);border-radius: 4px;height: 2px;background: #fff;transition: all .3s;position: relative;}
    .mainnav-toggle .btn-mainnav-toggle span + span {margin-top: 5px;}
    .mainnav-toggle .btn-mainnav-toggle.active span + span {margin-top: 13px;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(1) {animation: ease .7s top forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(1) {animation: ease .7s top-2 forwards;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(2) {animation: ease .7s scaled forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(2) {animation: ease .7s scaled-2 forwards;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(3) {animation: ease .7s bottom forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(3) {animation: ease .7s bottom-2 forwards;}

    @keyframes top { 0% {top: 0; transform: rotate(0);} 50% {top: 15px;transform: rotate(0);} 100% {top: 15px;transform: rotate(45deg);} }
    @keyframes top-2 { 0% {top: 15px;transform: rotate(45deg);} 50% {top: 15px;transform: rotate(0deg);} 100% {top: 0;transform: rotate(0deg);} }
    @keyframes bottom { 0% {bottom: 0;transform: rotate(0);} 50% {bottom: 15px;transform: rotate(0);} 100% {bottom: 15px;transform: rotate(135deg);} }
    @keyframes bottom-2 { 0% {bottom: 15px;transform: rotate(135deg);} 50% {bottom: 15px;transform: rotate(0);} 100% {bottom: 0;transform: rotate(0);} }
    @keyframes scaled { 50% {transform: scale(0);} 100% {transform: scale(0);} }
    @keyframes scaled-2 { 0% {transform: scale(0);} 50% {transform: scale(0);} 100% {transform: scale(1);} }

    #mainnav-overlay {position: fixed; top: 0; right: 0; left: 0; bottom: 0; background: rgba(0,0,0,0.2); backdrop-filter: blur(7px); opacity: 0; z-index: -5; transition: var(--transition); visibility: hidden;}
    #mainnav-overlay.active {opacity: 1; z-index: 1; visibility: visible; transition: var(--transition);}
}

/* ########## Header ########## */

header {position: fixed; top: 50px; left: 50%; transform: translateX(-50%); width: 90%; max-width: calc(var(--wrp-large-width) + 100px); z-index: 10; padding: 20px 50px 0 50px; box-sizing: border-box; background: #fff; box-shadow: var(--box-shadow); background: var(--gray-bg-color); border-radius: var(--border-radius); transition: var(--transition);}
header:after {content: ''; width: 260px; height: 145px; position: absolute; left: 20%; top: 0; background-image: url("assets/icons/circle-plain.svg"); background-size: 400%; background-repeat: no-repeat; background-position: 91% 91%; transition: var(--transition);}
header .header-grid {display: grid; grid-template-columns: 200px auto; grid-template-rows: auto; justify-items: start; align-items: center; justify-content: space-between;}
header .header-grid .logo {width: 100%; margin-top: -15px;}
header .header-grid .logo a {display: flex; align-items: center;}
header .header-grid .mainnav-toggle {display: none;justify-self: end;}

.contact-interface {display: flex; justify-content: flex-end; gap: 20px;}

.contact-interface .pill.phone,
.contact-interface .pill.mail,
.contact-interface .pill.lang {font-size: 12px; background: var(--primary-light-color); border-radius: var(--border-radius); padding: 0 20px; height: 26px; line-height: 26px; font-weight: 700; transition: var(--transition);}
.contact-interface .pill a {font-size: 12px; line-height: 12px; font-weight: 700;}

.contact-interface .pill.lang a:not(.wpml-ls-link) {display: none;}
.contact-interface .pill.lang .wpml-ls-legacy-list-horizontal,
.contact-interface .pill.lang .wpml-ls-legacy-list-horizontal a {padding: 0; height: 26px; line-height: 23px;}

.contact-interface .pill:hover a {color: #fff; transition: var(--transition);}
.contact-interface .pill:hover {background: var(--cta-color); transition: var(--transition);}

html.scrolled header {top: 0; border-radius: 0 0 var(--border-radius) var(--border-radius); transition: var(--transition);}
html.scrolled header:after {height: 122px; transition: var(--transition);}

@media (max-width: 1400px) {
    header {position: fixed; top: 20px; width: 95%;  padding: 20px 25px 0 25px;}
    header:after {height: 127px;}
    .contact-interface .pill.lang {padding: 6px 18px;}
}

@media (max-width: 1100px) {
    header:after {height: 50px; left: 30%; padding: 20px 25px 20px 25px;}
    html.scrolled header:after {height: 50px; left: 30%; padding: 20px 25px 20px 25px;}
    .contact-interface {display: none;}
}

@media (max-width: 500px) {
    header .header-grid {grid-template-columns: 150px auto;}
    header:after,
    html.scrolled header:after {height: 29px;}
}


/* Kopfbereich Startseite / Unterseite  */

.stage {aspect-ratio: 3/1; width: 90%; max-width: var(--wrp-large-width); position: relative; margin-top: 258px; margin-left: auto; margin-right: auto;}
.stage-grid {display: grid;grid-template-columns: repeat(5, 1fr);grid-template-rows: repeat(1, 1fr);grid-column-gap: 50px; grid-row-gap: 50px;}

.stage .welcome-text { grid-area: 1 / 1 / 3 / 3; border-radius: var(--border-radius); background: var(--gray-bg-color); padding: 75px 50px;}
.stage .additional-info { grid-area: 3 / 1 / 4 / 3; border-radius: var(--border-radius); background: var(--primary-light-color); padding: 50px; align-items: center;}
.stage .stage-video-image { grid-area: 1 / 3 / 4 / 6; border-radius: var(--border-radius); overflow: hidden;}
.stage .stage-video-image video {width: 100%; height: 100%; object-fit: cover;}

.stage img {width: 100%; height: 100%; object-fit: cover; object-position: center;}

.stage.subpage {width: 90%; position: relative; aspect-ratio: unset;}
.stage.subpage .welcome-text {grid-area: unset; width: 35%; box-sizing: border-box; position: relative;}
.stage.subpage .substage-image {border-radius: var(--border-radius); overflow: hidden; position: absolute; top: 0; bottom: 0; left: calc(35% + 50px); width: calc(100% - 35% - 50px);}
.stage.subpage .substage-image img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%;}

@media (max-width: 1400px) {
    .stage {margin-top: 206px;}
}

@media (max-width: 1024px) {
    .stage {margin-top: 150px;}
    .stage-grid {display: grid; grid-template-columns: 100%; grid-template-rows: unset; grid-column-gap: 0; grid-row-gap: 50px;}
    .stage.subpage {display: grid; grid-template-columns: 100%; gap: 25px;}
    .stage .welcome-text { grid-area: unset; order: 2;}
    .stage .stage-video-image { grid-area: unset; order: 1;}
    .stage .additional-info {display: none;}

    .stage.subpage .welcome-text {width: 100%;}
    .stage.subpage .substage-image {width: 100%; left: unset; top: unset; bottom: unset;position: relative; aspect-ratio: 3/1;}
}

@media (max-width: 500px) {
    .stage .welcome-text {padding: 50px 20px;}
    .stage {margin-top: 100px;}
}

/* ########## Content ########## */

/* Text */

.text.multiple-col .wrp {-webkit-columns: 2 350px; -moz-columns: 2 350px; columns: 2 350px; -webkit-column-gap: 4em; -moz-column-gap: 4em; column-gap: 4em;}
.text.align-center {text-align: center;}

/* Text Bild */

.textbild .wrp {display: grid; align-items: center; justify-content: space-between; box-sizing: border-box; background: #fff;}
.textbild .text {border-radius: 5px 0 0 5px; box-sizing: border-box;}
.textbild .bild {width: 100%; height: 100%; position: relative;}
.textbild .bild img {width: 100%; height: 100%; object-fit: cover; border-radius: var(--border-radius);}

.textbild .collage {display: grid;grid-template-columns: repeat(4, 1fr);grid-template-rows: repeat(4, 1fr);grid-column-gap: 25px;grid-row-gap: 25px;}
.textbild .collage img {width: 100%; height: 100%; object-fit: cover; object-position: 25% 50%;}

.textbild .collage .collage-img-1 {grid-area: 1 / 1 / 5 / 3;}
.textbild .collage .collage-img-2 {grid-area: 1 / 3 / 3 / 5;}
.textbild .collage .collage-img-3 {grid-area: 3 / 3 / 5 / 5;}

.textbild.gray-bg .wrp {align-items: stretch;}
.textbild.gray-bg .text {background: var(--gray-bg-color); padding: 50px; border-radius: var(--border-radius);}
.textbild.gray-bg .bild {width: calc(100% + 50px); margin-left: -50px;}
.textbild.gray-bg .ersttext.bild {width: calc(100% + 50px); margin-left: 0;}

.textbild .btntext {margin-top: 25px; display: inline-block;}

.withsidebar .textbild .wrp {align-items: flex-start;}
.withsidebar .textbild .wrp .bild {height: auto;}

@media (max-width: 1400px) {
    .textbild.gray-bg .ersttext.bild {width: 100%;}
}

@media (max-width: 768px) {
    .textbild .text {order: 1!important;}
    .textbild .bild {order: 2!important;}
    .textbild .wrp {grid-template-columns: 100%!important; gap: 50px;}
    .textbild .circle {display: none;}

    .textbild.gray-bg .wrp {gap: 0;}
    .textbild.gray-bg .text {border-radius: var(--border-radius) var(--border-radius) 0 0; padding: 25px;}
    .textbild.gray-bg .bild {width: 100%; margin-left: 0;}
    .textbild.gray-bg .bild img {border-radius: 0 0 var(--border-radius) var(--border-radius);}
    .textbild.gray-bg .ersttext.bild {width: 100%; margin-left: 0;}
}

/* Teasercards */

.teasercards .cards.no-carousel {display: grid; grid-column-gap: 50px; grid-row-gap: 50px; margin: 0;}
.teasercards .cards.no-carousel li {list-style-type: none; margin: 0;}
.teasercards .splide ul.cards {display: flex; grid-column-gap: unset;}

.teasercard-item .img-wrp {width: 100%; aspect-ratio: 16 / 9; display: block; border-radius: var(--border-radius); overflow: hidden;}
.teasercard-item .img-wrp img {width: 100%; height: 100%; object-fit: cover; transition: var(--transition);}
.teasercard-item:hover .img-wrp img {transform: scale(1.12); transition: var(--transition);}

.teasercard-item .teasercard-content {display: grid; grid-template-columns: auto 38px; justify-content: space-between; padding: 15px; align-items: center;}
.teasercard-item .teasercard-content h3 {margin-bottom: 0;}
.teasercard-item .teasercard-content .btn {display: inline-block;}

.splide__arrow--next {right:-5%!important}
.splide__arrow--prev {left:-5%!important}

.teaser-btn {width: 38px; height: 38px; border-radius: 50%; background: var(--gray-bg-color); position: relative; display: block; overflow: hidden; transition: var(--transition);}
.teaser-btn:after {content: ''; width: 16px; height: 16px; background-image: url("assets/icons/arrow-right-green.svg"); background-size: contain; background-position: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); transition: var(--transition);}
.teaser-btn:before {content: ''; width: 16px; height: 16px; background-image: url("assets/icons/arrow-right-white.svg"); background-size: contain; background-position: center; position: absolute; top: 50%; left: -50%; transform: translate(-50%,-50%); transition: var(--transition);}

.teasercard-item:hover .teaser-btn {background: var(--cta-color); transition: var(--transition);}
.teasercard-item:hover .teaser-btn:after {left: 150%; transition: var(--transition);}
.teasercard-item:hover .teaser-btn:before {left: 50%; transition: var(--transition);}


@media (max-width: 1024px) {
    .teasercards .cards.no-carousel {grid-template-columns: repeat(2, 1fr)!important; grid-column-gap: 25px; grid-row-gap: 25px;}
    .teasercard-item .teasercard-content h3 {font-size: var(--fs-sm);}
}

@media (max-width: 500px) {
    .teasercards .cards.no-carousel {grid-template-columns: 100% !important;}
}

/* Image */

.image img {display:block; width:100%; height:auto;}

.bildtrenner {width:90%; max-width: var(--wrp-large-width); overflow: hidden; position: relative; margin-left: auto; margin-right: auto; aspect-ratio: 3/1.1; border-radius: var(--border-radius);}
.bildtrenner img {width:100%; height: 120%; object-fit: cover; object-position: top center;}
.bildtrenner .wrp {position: absolute; left: 50%; bottom: 100px; transform: translateX(-50%); z-index: 2; padding-top: 270px;}
.bildtrenner .overlay {background: linear-gradient(90deg,rgba(0, 0, 0, 0.6) 0%, rgba(255, 255, 255, 0) 100%); position: absolute; top: 0; left: 0; bottom: 0; right: 0;}
.bildtrenner .stage-content {display: flex; justify-content: space-between; align-items: flex-end;}
.bildtrenner .stage-content h2 {margin-bottom: 0; color: #fff;}

@media (max-width: 1024px) {
    .bildtrenner {width:95%; min-height: 350px;}
    .bildtrenner .wrp {bottom: 50px;}
}

@media (max-width: 767px) {
    .bildtrenner .stage-content {display: block;}
}

/* Galerie */

.gallery .fresco-gallery:not(.masonry) {display: grid; gap: 50px; margin-bottom: 0;}
.gallery .fresco-gallery li {list-style-type: none; margin: 0 0 25px 0; border-radius: 5px;overflow: hidden;}
.gallery .fresco-gallery:not(.masonry) li {margin: 0 0 50px 0;}
.gallery .fresco-gallery li a {position: relative; display: block; overflow: hidden;}
.gallery .fresco-gallery li a .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secondary-color); opacity: 0; transition: var(--transition);}
.gallery .fresco-gallery li a:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .fresco-gallery li a .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .fresco-gallery li a .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .fresco-gallery li a .overlay .icon-wrp svg path {fill: #fff;}
.gallery .fresco-gallery li a:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .fresco-gallery li img {width: 100%;}
.gallery .fresco-gallery.masonry {gap: 25px; columns: 4; margin: 0 auto;}

.gallery .video-gallery-grid {display: grid; grid-column-gap: 50px; grid-row-gap: 50px;}
.gallery .video-gallery-grid .video-gallery-item {height: 220px; width: 100%; display: block; position: relative; overflow: hidden;}
.gallery .video-gallery-grid .video-gallery-item .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secondary-color); opacity: 0; transition: var(--transition); z-index: 4;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg path {fill: #fff!important;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item img {height: 100%; width: 100%; object-fit: cover; object-position: center; transform: scale(1.2);}

@media (max-width: 1024px) {
  .gallery .fresco-gallery {grid-template-columns: repeat(4, 1fr)!important;}
  .gallery .video-gallery-grid {grid-template-columns: repeat(2, 1fr)!important;}
  .gallery .filterrow {display: grid; grid-template-columns: 100%; gap: 25px;}
  .gallery .filterrow #filter {flex-wrap: wrap;}
}

@media (max-width: 550px) {
  .gallery .video-gallery-grid {grid-template-columns: 100%!important;}
  .gallery .fresco-gallery {grid-template-columns: repeat(2, 1fr)!important;}
}

/* oEmbed */

.embed .respo-video{position: relative;padding-bottom: 56.25%;overflow: hidden;max-width: 100%;height: auto;}
.embed .respo-video iframe {position: absolute; top: 0; left: 0; width: 100%;	height: 100%;}
.embed .respo-video ._brlbs-cb-youtube {margin-bottom: -56.25%;}

/* Tabelle */

.table .headline {margin-bottom: 20px;}
.table .table-grid .table-row {display: grid; grid-template-columns: 35% 63%; justify-content: space-between; width: 100%; margin-bottom: 10px;}
.table .table-grid .table-row.no-grid {display: block;}
.table .table-grid .table-row .table-title {background: #f5f5f5; padding: 10px;}
.table .table-grid .table-row .table-content {background: #f5f5f5; padding: 10px;}

/* Accordion */

.accordion .item-accordion-head {cursor: pointer; position: relative; padding: 30px 100px 30px 0; border-top: 2px solid var(--gray-bg-color); font-size: 18px; line-height: 28px;}
.accordion .item-accordion-btn {position: absolute; right: 5%; top: 40%; transform: translateY(-50%);}
.accordion .item-accordion .item-accordion-btn:before {content: ''; width: 20px; height: 20px; border: 2px solid var(--cta-color); border-radius: 50%; position: absolute;}
.accordion .item-accordion.hidden .item-accordion-btn:before {background: transparent;}
.accordion .item-accordion.active .item-accordion-btn:before {background: var(--cta-color);}

.accordion .item-accordion.hidden .item-accordion-content {display: none;}
.accordion .item-accordion.hidden .item-accordion-content:after {display:block;width: 0;height: 0;border-right: 100px solid #037CA9;border-top: 50px solid transparent;border-bottom: 50px solid transparent;}

.accordion .item-accordion .item-accordion-content {margin-bottom: 20px;}

.accordion.additional-content .wrp {display: grid; grid-template-columns: 53% 38%; justify-content: space-between;}
.accordion.additional-content .headline-image-acc img {border-radius: var(--border-radius); width: calc(100% + 50px); margin-left: -50px;}

.accordion.additional-content .accordion .item-accordion-head {font-size: 22px; line-height: 32px; padding: 30px 50px 30px 0;}


@media (max-width: 1024px) {
    .accordion.additional-content .wrp {grid-template-columns: 100%;}
    .accordion.additional-content .headline-image-acc img {width: 100%; margin-left: 0; object-fit: cover;}
}
@media (max-width: 767px) {
    .accordion .item-accordion-head {font-size: 18px; line-height: 28px;}
}
/* Downloads */

.downloads .download-item {background: var(--gray-bg-color); border-radius: var(--border-radius); display: flex; align-items: center; gap: 75px; padding: 15px; margin-bottom: 20px;}
.downloads .download-item:hover {background: var(--cta-color); color: #fff; transition: var(--transition);}
.downloads .download-item .icon-wrp {width: 50px; height: 50px;}
.downloads .download-item .icon-wrp svg {width: 100%;}

/* 3 Teaser */

.drei-teaser {}
.drei-teaser .drei-teaser-grid {display: grid;grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto;grid-column-gap: 25px;grid-row-gap: 25px;}
.drei-teaser .drei-teaser-grid .teaser-item {background: var(--gray-bg-color); border-radius: var(--border-radius); padding: 90px 50px; position: relative; display: grid; align-items: center;}
.drei-teaser .drei-teaser-grid .teaser-one {grid-area: 1 / 1 / 2 / 2;}
.drei-teaser .drei-teaser-grid .teaser-two {grid-area: 1 / 2 / 2 / 3;}
.drei-teaser .drei-teaser-grid .teaser-three {grid-area: 2 / 1 / 3 / 3; padding: 75px 50px; overflow: hidden;}
.drei-teaser .drei-teaser-grid .teaser-three #circle-dots {position: absolute; width: 1000px; height: 1000px; right: 52%; overflow: visible;}

.drei-teaser .drei-teaser-grid .teaser-three .teaser-item-wrp {display: grid; grid-template-columns: 25% 40%; justify-content: space-around; align-items: center;}

@media (max-width: 900px) {
    .drei-teaser .drei-teaser-grid {grid-template-columns: 100%; grid-row-gap: 25px; grid-auto-rows: unset;}
    .drei-teaser .drei-teaser-grid .teaser-one,
    .drei-teaser .drei-teaser-grid .teaser-two,
    .drei-teaser .drei-teaser-grid .teaser-three {grid-area: unset;}
}

@media (max-width: 767px) {
    .drei-teaser .drei-teaser-grid .teaser-three .teaser-item-wrp {grid-template-columns: 100%; max-width: 80%;}
    .drei-teaser .drei-teaser-grid .teaser-three #circle-dots {right: 3%;}
    .drei-teaser .drei-teaser-grid .teaser-item {padding: 50px 25px; position: relative; display: grid; align-items: center;}
    .drei-teaser .drei-teaser-grid .teaser-item .circle {display: none;}
    .drei-teaser .drei-teaser-grid .teaser-three {padding: 50px 25px;}

}

@media (max-width: 450px) {
    .drei-teaser .drei-teaser-grid .teaser-three .teaser-item-wrp {max-width: 100%;}
    .drei-teaser .drei-teaser-grid .teaser-three #circle-dots {display: none;}
}

/* Zahlen - Fakten */

.slider-item {flex: 0 0 auto; background: var(--primary-color); border-radius: var(--border-radius); width: 300px; padding: 30px 20px 25px 35px; box-sizing: border-box; min-height: 115px;}
.slider-item strong {font-size: 40px; display: block; color: #fff; margin-bottom: 12px;}
.slider-item span {font-size: 14px; display: block; color: #fff; line-height: 18px;}

:root {
    --size: clamp(10rem, 1rem + 40vmin, 30rem);
    --gap: calc(var(--size) / 5);
    --duration: 60s;
    --scroll-start: 0;
    --scroll-end: calc(-100% - var(--gap));
}

.marquee {display: flex;overflow: hidden;user-select: none;gap: var(--gap);}
.marquee__group {flex-shrink: 0;display: flex;align-items: center;justify-content: space-around;gap: var(--gap);min-width: 100%;animation: scroll-x var(--duration) linear infinite;}

@keyframes scroll-x {
    from {transform: translateX(var(--scroll-start));}
    to {transform: translateX(var(--scroll-end));} }

@keyframes scroll-y {
    from {transform: translateY(var(--scroll-start));}
    to {transform: translateY(var(--scroll-end));}
}


/* Workflow */

.workflow {padding: 100px 0; background: var(--gray-bg-color); position: relative;}
.workflow .workflow-grid {display: flex; justify-content: center; flex-wrap: wrap; grid-row-gap: 100px; grid-column-gap: 27px;}
.workflow .workflow-grid .workflow-item {padding: 86px 10px 40px 40px; background: #EBEBEB; border-radius: var(--border-radius); flex-basis: 31%; box-sizing: border-box; position: relative;}
.workflow .workflow-grid .workflow-item h4 {min-height: 64px;}
.workflow .workflow-grid .workflow-item .icon {width: 115px; height: 115px; z-index: 1; border-radius: 50%; border: 12px solid #fff; background: var(--primary-light-color); display: grid; place-items: center; box-sizing: border-box; position: absolute; top: 0; transform: translateY(-50%); right: 10%;}
.workflow .workflow-grid .workflow-item .icon img {width: 37px; height: auto;}

#path-line-top {position: absolute; left: 0; top: 90px; height: auto; overflow: visible;}
#path-line-bottom {position: absolute; left: 0; top: 59%; height: auto; overflow: visible;}

@media (max-width: 1024px) {
    .workflow .workflow-grid {display: grid; justify-content: center; grid-template-columns: repeat(2,1fr); grid-row-gap: 100px; grid-column-gap: 27px;}
}

@media (max-width: 767px) {
    .workflow .workflow-grid {grid-template-columns: 100%; grid-row-gap: 75px;}
    .workflow .workflow-grid .workflow-item h4 {margin-bottom: 0;}
    .workflow .workflow-grid .workflow-item .icon {width: 90px; height: 90px;}
    .workflow .workflow-grid .workflow-item .icon img {width: 30px;}
}

/* Leistungen Liste */

.leistungen-liste .leistungen-grid {display: grid; grid-template-columns: repeat(3,1fr); gap: 50px;}
.leistungen-liste .leistungen-grid .leistung-item {background: #EDEDED; display: grid; grid-template-columns: 35px auto; gap: 20px; line-height: 22px; align-items: center; border-radius: var(--border-radius); padding: 8px 12px;}
.leistungen-liste .leistungen-grid .leistung-item .icon-wrp {width: 35px; height: 35px;}
.leistungen-liste .leistungen-grid .leistung-item .icon-wrp img {width: 100%; height: auto;}

@media (max-width: 1024px) {
    .leistungen-liste .leistungen-grid {grid-template-columns: repeat(2,1fr);}
}

@media (max-width: 768px) {
    .leistungen-liste .leistungen-grid {grid-template-columns: 100%;}
}

/* Kundenstimmen */

.kundenstimmen {padding: 100px 0; background: var(--gray-bg-color);}
.kundenstimmen .kundenstimmen-item {padding: 2rem; display: flex; gap: 75px; align-items: center; background: #F7F7F7;}
.kundenstimmen .kundenstimmen-item .icon-wrp {width: 100px; height: 100px; display: flex; align-items: center;}
.kundenstimmen .kundenstimmen-item .icon-wrp img,
.kundenstimmen .kundenstimmen-item .icon-wrp svg {width: 100px; mix-blend-mode: darken; object-fit: contain;}

@media (max-width: 768px) {
    .kundenstimmen .kundenstimmen-item {display: block; padding: 0;}
}

/* WP Forms */

.wpforms-container input {border: none!important; border-radius: var(--border-radius)!important; height: 50px!important; line-height: 50px!important; font-size: 16px!important; padding: 0 25px!important; background: var(--gray-bg-color)!important; color: var(--text-color)!important;}
.wpforms-container textarea {border: none!important; border-radius: var(--border-radius)!important; font-size: 16px!important; padding: 25px!important; background: var(--gray-bg-color)!important; }
.wpforms-submit-spinner {display: none!important;}
.wpforms-field-checkbox ul li {display: flex; align-items: center;}

.textbild .wpforms-container input {background: #fff!important;}
.textbild .wpforms-container textarea {background: #fff!important;}
.textbild .wpforms-submit-spinner {display: none!important;}
.textbild .wpforms-field-checkbox ul li {display: flex; align-items: center;}

@media (max-width: 1100px) {
    div.wpforms-container-full .wpforms-form .wpforms-field-label-inline {font-size: 14px!important;}
    .wpforms-container input {height: 45px!important; line-height: 45px!important; font-size: 14px!important; padding: 0 20px!important;}
    .wpforms-container textarea {font-size: 14px!important; padding: 20px!important;}
}

/* ########## Sidebar ########## */

.sidebar {width: 100%; position: -webkit-sticky; position: sticky; top: 220px; box-sizing: border-box;}

.sidebar .sidebar-module {border-radius: var(--border-radius); padding-bottom: 50px; width: 100%; background: var(--gray-bg-color); box-sizing: border-box;}

.sidebar ul {margin-bottom: 0; padding: 0 0 0 30px;}
.sidebar ul li {list-style-type: none; margin: 0; padding: 0; position: relative;}
.sidebar ul li:after {position: absolute; content: ''; top: 10px; right: 10px; width: 16px; height: 16px; border: 2px solid var(--cta-color); background: transparent; border-radius: 50%;}
.sidebar ul li.current-menu-item:after,
.sidebar ul li.current-menu-parent:after{background: var(--cta-color);}
.sidebar ul li.btn {background: none; display: block;}
.sidebar ul li a {padding: 4px 0; border-top: 2px solid #EFEFEF; font-size: 14px; font-weight: 700; display: block; transition: var(--transition);}
.sidebar ul li:last-child a {border-bottom: 2px solid #EFEFEF;}
.sidebar ul li a:hover {color: var(--cta-color); transition: var(--transition);}

.sidebar ul li .sub-menu {display: none;}
.sidebar ul li.current-menu-item .sub-menu, .sidebar ul li.current-menu-parent .sub-menu  {display: block; padding: 0;}
.sidebar ul li.current-menu-item .sub-menu li a, .sidebar ul li.current-menu-parent .sub-menu li a  {padding: 4px 0 4px 10px; font-weight: 500;}

.sidebar h3 {font-weight: 700; font-size: 22px; padding: 30px 0 0 30px;}

.sidebar-contact address {padding: 0 0 0 30px;}

.contact-links {margin-top: 20px;}
.contact-links a {display: flex; align-items: center;}
.contact-links a span {width: 18px; height: 18px; display: inline-block; margin-right: 10px;}
.contact-links a span svg {width: 100%;}

.sidebar-person {padding-bottom: 0!important; overflow: hidden;}
.contact-person-sidebar {position: relative;}
.contact-person-sidebar h3 span {display: block; font-size: 16px; font-weight: 500;}
.contact-person-sidebar:after {background-image: url("assets/icons/portica-p-blue.svg"); background-repeat: no-repeat; background-size: 100%; position: absolute; content: ''; top: -20px; right: -20px; width: 200px; height: 220px; opacity: .05;}
.contact-person-sidebar .contact-links {padding: 0 0 0 30px; margin-bottom: 25px;}
.contact-person-sidebar .person-image-wrp {width: 100%; aspect-ratio: 16/9; position: relative; z-index: 1;}
.contact-person-sidebar .person-image-wrp img {width: 100%; height: 100%; object-fit: cover;}

@media (max-width: 1024px) {
    main.withsidebar .page-build .sidebar {display: none;}
}

@media (max-width: 768px) {
    main.withsidebar .content .blog-grid {grid-template-columns: repeat(2, 1fr);}
}

/* ########## Blog ########## */

main.withsidebar .content .blog-grid {display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 50px; grid-row-gap: 50px;}
main.withsidebar .content .blog-grid .post {width: 100%;}
main.withsidebar .content .blog-grid .post img {width: 100%; height: auto; object-fit: cover;}

article.singlepost .post-image {}
article.singlepost .post-image img {width: 100%; height: auto; object-fit: cover;}

/* ########## Footer ########## */

footer .wrp {display: grid; grid-template-columns: 2fr 1fr; justify-content: space-between; gap: 25px; max-width: calc(var(--wrp-large-width) + 100px);}
footer .address-nav {background-color: var(--primary-color); background-image: url("assets/icons/portica-p.svg"); background-repeat: no-repeat; background-size: 45%; background-position: right; padding: 50px; border-radius: var(--border-radius);}
footer .address-nav .company {color: #fff; font-size: 22px; line-height: 26px; margin-bottom: 25px; display: block;}
footer .address-nav-grid {display: grid; grid-template-columns: auto auto; justify-content: space-around; align-items: flex-end;}
footer .address-nav-grid .contact-data a {display: block; margin-bottom: 3px; color: #fff;}
footer .address-nav-grid .contact-data a .distancer {display: inline-block; width: 75px;}
footer .address-nav ul {display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 75px;}
footer .address-nav ul li {margin: 0; }
footer .address-nav ul li::marker {color: #fff;}
footer .address-nav ul li a {color: #fff; padding: 5px 0;}
footer address {color: #fff; margin-bottom: 25px;}
footer .contact-footer {background: var(--gray-bg-color); padding: 50px; border-radius: var(--border-radius);}
footer .contact-footer h3 {font-size: 22px;line-height: 26px;margin-bottom: 25px;display: block; max-width: 20ch;}
footer .contact-footer .footer-contract-link {display: flex; gap: 12px; align-items: center; margin-bottom: 25px; font-size: 20px; font-weight: 700;}
footer .contact-footer .footer-contract-link span {width: 30px; height: 30px; display: inline-block;}
footer .contact-footer .footer-contract-link span svg {width:100%;}

@media (max-width: 1300px) {
    footer .wrp {grid-template-columns: 100%; justify-content: unset;}
    footer .contact-footer {order: 1;}
    footer .address-nav {order: 2;}
    footer .address-nav-grid {justify-content: space-between;}
}

@media (max-width: 768px) {
    footer .address-nav-grid {grid-template-columns: 100%; justify-content: flex-start; align-items: flex-end; grid-row-gap: 50px; grid-column-gap: 50px;}
    footer .wrp {max-width: 100%; width: 100%;}
    footer .contact-footer, footer .address-nav {border-radius: 0; padding: 50px 5%;}
}

/* Bottom */

.bottom .wrp {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}

.copyright {height: 50px; line-height: 50px; font-size: 14px;}

/* 404 */

.error404 .stage {display: none;}
.pageerror {padding: 250px 0 100px 0; text-align: center;}

