body, html {
    scroll-behavior:smooth;
}
/*Cookie Popup*/
.cc_container .cc_btn{background-color:#7b003b!important;color:#fff!important;border-radius:0!important}.cc_container{background:#fff!important;color:#555!important;border-radius: 0!important}.cc_container .cc_message{font-size:14px!important;line-height:19px!important}.cc_container a{color:#000!important}.cc_message:before {display:none!important}
/* Google Font */


/* lato-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: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/lato-v23-latin-300.eot'); /* IE9 Compat Modes */
  src: url('../fonts/lato-v23-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v23-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v23-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v23-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v23-latin-300.svg#Lato') format('svg'); /* Legacy iOS */
}


/* oswald-600 - 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: 'Oswald';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/oswald-v49-latin-600.eot'); /* IE9 Compat Modes */
  src: url('../fonts/oswald-v49-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/oswald-v49-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/oswald-v49-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/oswald-v49-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/oswald-v49-latin-600.svg#Oswald') format('svg'); /* Legacy iOS */
}

/*
@import url('https://fonts.googleapis.com/css?family=Lato:300');
@import url('https://fonts.googleapis.com/css?family=Oswald:600');
*/



#preloader {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 99999;
    background: #fff;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.loader-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
a {
    text-decoration: none;
    color: #7b003b;
}
a:hover {
    text-decoration: none;
    color: #000
}

::selection {
    background: #7b003b;
    color: #fff;
}
::-moz-selection {
    background: #7b003b;
    color: #fff;
}

.bg-main {
    background: #fff;
}
.bg-second {
    background: #eee;
}
.overlay-start {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 100%;
    width: 100%;
    position: fixed;
    z-index: 9999;
    background: #000;
    bottom: 0;
    right: 0;
}
.bg-over {
    background: rgba(24, 35, 40, 0.831);
}
.bg-cyan {
    background: #fff;
}
.bg-cyan::before {
    content: "";
    display: block;
    position: absolute;
    margin-top: -70px;
    left: 0;
    width: 60%;
    height: calc(100% + 20px);
    background-color: #f1f4f6;
}
.between {
    padding: 0px 20px;
}
.line-between {
    height: 100px;
    width: 1px;
    position: absolute;
    display: block;
    margin-top: -50px;
    transform: translate(-50%, -0%);
    left: 50%;
    background: #7b003b;
}
.color-white {
    color: #fff !important;
    border-color: #fff !important;
}
.color-dark {
    color: #222 !important;
}
.color-gray {
    color: #e2e2e2 !important;
}
.bg-dark {
    background: #1a1a1a !important;
}
.bg-dark-d::before {
    content: '';
    width: 60%;
    height: 80%;
    position: absolute;
    left: 0;
    margin-top: -100px;
    background: #222;
    z-index: 0;
}
.mt-full {
    margin-top: 90vh !important;
}
.mt-10 {
    margin-top: 10px !important;
}
.mt-20 {
    margin-top: 20px !important;
}
.mt-30 {
    margin-top: 30px !important;
}
.mt-40 {
    margin-top: 40px !important;
}
.mt-50 {
    margin-top: 50px !important;
}
.mt-60 {
    margin-top: 60px !important;
}
.mt-60 {
    margin-top: 60px !important;
}
.mt-70 {
    margin-top: 70px !important;
}
.mt-80 {
    margin-top: 80px !important;
}
.mt-90 {
    margin-top: 90px !important;
}
.mb-40 {
    margin-bottom: 40px !important;
}
h1 {
    font-size: 50px;
    font-weight: 900;
    color: #000;
}
h2 {
    font-size: 24px;
    font-weight: 900;
    color: #1e272c;
}
h3 {
    font-size: 16px;
    letter-spacing: 1px;
    color: #1e272c;
    font-weight: 700;
}
h1 span {
    color: transparent;
    -webkit-text-stroke: 1px #fff;
}
.title {
    padding: 30px 0;
    z-index: 2;
    position: relative;
}
.title h2 {
    font-size: 50px;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    color: #000;
    margin: 0;
}
.title h3 {
    margin: 0;
    font-weight: 500;
    letter-spacing: 0;
    color: #7b003b;
    font-size: 18px;
}
.mid-title .title:before {
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
}
p {
    font-size: 16px;
    color: #000;
    line-height: 1.8;
}
p.sub-title {
    mix-blend-mode: color-dodge;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: 500;
    line-height: 25px;
    color: #7b8b8e;
}
body {
    overflow-x: hidden;
    background-color: #fff;
    font-weight: 300;
    font-family: 'Lato', sans-serif;
}
.centered {
    display: flex;
    align-items: center;
    justify-content: center;
}
.scroll-up {
    top: 0;
    position: absolute;
    z-index: -2;
}
.hover {
    overflow: hidden;
    display: block;
}
.hover::after {
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    height: 100%;
    background: #fff;
    top: 0;
    left: 0;
}
.right-bg {
    position: absolute;
    width: 60%;
    height: 100%;
    background: #eee;
    opacity: 1;
    right: 0;
    top: 0;
    display: block;
    z-index: -3;
}
.left-bg {
    position: absolute;
    width: 60%;
    height: 100%;
    background: #eee;
    opacity: 1;
    left: 0;
    top: 0;
    display: block;
    z-index: -3;
}
.line-col {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
    height: 100%;
    position: fixed;
    top: 0;
    width: 1px;
    background: rgba(0, 0, 0, .2);
    z-index: -4;
}
.line-col.first {
    left: 10%;
}
.line-col.second {
    left: 30%;
}
.line-col.third {
    left: 50%;
    transform: translateX(-50%);
}
.line-col.fourth {
    left: 70%;
}
.line-col.fifth {
    left: 90%;
}
.hero {
    height: 100vh;
}
.hero-title h1 {
    color: #000;
    margin: 0 !important;
    letter-spacing: 3px;
    font-size: 60px;
    font-weight: 600;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
}
.hero-title h3 {
    color: #7b003b;
}
.hero-bg {
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
    height: calc(100%);
    width: calc(100%);
    z-index: -3;
    overflow: hidden;
    opacity: 1;
}
.hero-bg img {
    height: 90%;
    position: absolute;
    opacity: 1;
    bottom: 0;
    right: 10%;
}
.hero-bg::before {
    z-index: -10;
}
.square {
    opacity: .9;
    z-index: -11;
    height: 100%;
    width: 50%;
    right: 0;
    position: absolute;
    background: url('../images/b3-architekten-home-hintergrund.png') no-repeat center center;
    background-size: cover;
}
.square-overlay {
    z-index: -10;
    height: 100%;
    width: 100%;
    right: 0;
    position: absolute;
    background: #fff;
}
.body-frame {
    display: block;
    position: fixed;
    z-index: 30;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 20px solid #222;
    border-bottom: 0px;
    pointer-events: none;
}
.btn-main {
    margin: 0 auto;
    text-align: center;
    letter-spacing: 3px;
    position: relative;
    border: 1px solid #7b003b;
    text-transform: uppercase;
    font-size: 12px;
    padding: 15px 34px;
    color: #000;
    transition: all ease .5s;
}
.btn-main:hover {
    color: #7b003b;
}
.btn-main:before {
    content: "";
    position: absolute;
    border-bottom: 1px solid #7b003b;
    width: 30px;
    transform: translate(-50%, -50%);
    height: 1px;
    left: 0;
    top: 50%;
    float: left;
    transition: all ease .5s;
}
.btn-main:hover:before {
    left: 100%;
}
.toggle-btn {
    display: flex;
    background: #fff;
    justify-content: center;
    align-items: center;
    position: fixed;
    margin-top: 50px;
    width: 50px;
    height: 50px;
    right: 3%;
    border: 1px solid #7b003b;
    z-index: 1000 !important;
}
.logo {
    position: fixed;
    margin-top: 50px;
    width: 50px;
    height: 50px;
    left: 3%;
    z-index: 1000 !important;
}
.toggle-btn::before {
    content: 'B3 ARCHITEKTEN';
    position: absolute;
    width: 180px;
    font-size: 10px;
    letter-spacing: 2px;
    color: #000;
    right: 60px;
}
.one {
    display: block;
    position: relative;
    width: 25px;
    height: 1px;
    background: #000;
}
.two {
    display: block;
    position: relative;
    width: 25px;
    height: 1px;
    background: #000;
    margin-top: 4px;
}
.tre {
    display: block;
    position: relative;
    width: 25px;
    height: 1px;
    background: #000;
    margin-top: 4px;
}
.menu {
    opacity: 0;
    position: fixed;
    top: 0;
    z-index: 98;
    height: 100vh;
    width: 100%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.links::before {
    left: 0;
    position: absolute;
    content: '';
    height: 100%;
    width: 1px;
    background: #7b003b;
}
.menu-text p {
    font-weight: 300;
    line-height: 30px;
    color: #000;
}
.data {
    text-align: left;
}
.data ul {
    padding: 0;
}
ul {
    list-style: none;
    padding: 0;
}

ul.list {
    list-style: disc;
    margin-left: 20px;
}

.menu li {
    color: #fff;
}
a.menu-link {
    font-family: 'Oswald', sans-serif;
    display: inline-block;
    text-decoration: none;
    color: #000;
    opacity: 1;
    font-size: 50px;
    font-weight: 600;
    margin: 0 20px;
    overflow: hidden;
    transition: all 0.4s ease;
}
a.menu-link:hover {
    color: #7b003b;
}
a.menu-link.active {
    color: #7b003b;
}
.toggle-btn:hover {
    cursor: pointer;
}
.bg-nav {
    position: fixed;
    z-index: 22;
    background: #fff;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
}
.address-menu {
    white-space: nowrap;
}
.address-menu h3 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    font-size: 30px;
    color: #7b003b;
    font-weight: 600;
}
.address-menu h4 {
    font-family: 'Oswald', sans-serif;
    color: #000;
    font-size: 20px;
}

.address-menu a {
    color: #7b003b;
}

.social {
    position: absolute;
    right: 3%;
    z-index: 3;
}
.social ul li {
    display: block;
    margin-left: 10px;
    padding: 0;
    text-align: center;
    transition: all 0.2s ease;
}
.contact .social ul li {
    display: inline;
}
.social ul li a {
    transition: all 0.5s ease;
}
.social ul li:hover a {
    color: #7b003b;
}
.social ul {
    margin: 0;
    padding: 0;
}
.social ul li a {
    margin: 0;
    padding: 0;
    font-size: 18px;
    color: #000;
    line-height: 40px;
}
.email-link {
    position: absolute;
    transform: translate(-50%, -50%) rotate(-90deg);
    top: 50%;
    left: 4%;
    z-index: 3;
}
.email-link a {
    color: #000;
    transition: all 0.5s ease;
    letter-spacing: 2px;
}
.email-link:hover a {
    color: #7b003b;
}
.service-item {
    transition: all 0.3s ease;
    padding: 30px 30px;
    box-shadow: 0px 9px 31px 6px rgba(0, 0, 0, .1);
    overflow: hidden;
}
.front {
    z-index: 3;
}
.service-icon {
    margin: 20px 0;
}
.service-icon img {
    width: 70px;
}
.service-text {
    padding: 20px 0;
}
.service-text h3 {
    color: #000;
    text-align: center;
}
.service-text p {
    margin-top: 20px;
    letter-spacing: 1px;
    color: #000;
    font-size: 14px;
    line-height: 24px;
}
.service-list {
    padding: 0;
    margin-top: 20px;
}
.service-line {
    margin-top: 60px;
    width: 100px;
    height: 3px;
    background: #7b003b;
}
.service-list li {
    font-weight: 700;
    display: block;
    color: #000;
    margin: 10px 0;
}
.project-section {
    position: relative;
}
.project-content img {
    width: 100%;
    box-shadow: 0px 9px 31px 6px rgba(0, 0, 0, .2);
}
.project-content {
    padding: 0 20px;
    margin: 0 0 10px 0;
    position: relative;
}
.project-content:hover .img-project::after {
    content: '';
    position: absolute;
    width: calc(100% - 40px);
    height: 100%;
    left: 20px;
    top: 0;
    z-index: 2;
    background-image: -moz-linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(255, 69, 69) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(255, 69, 69) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(255, 69, 69) 100%);
    opacity: .5;
}
span.strip {
    width: 40px;
    height: 1px;
    background: #7b003b;
    display: inline-block;
    margin-bottom: 3px;

}
span.number {
    
}
.detail-project {
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    z-index: 5;
    padding:10px;
    background-image: -moz-linear-gradient(90deg, rgba(0,0,0,0.50) 50%, rgba(255,69,69,0.00) 100%);
    background-image: -webkit-linear-gradient(90deg, rgba(0,0,0,0.50) 50%, rgba(255,69,69,0.00) 100%);
    background-image: -ms-linear-gradient(90deg, rgba(0,0,0,0.50) 50%, rgba(255,69,69,0.00) 100%);    

}
.detail-project h3 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    position: relative;
    overflow: hidden;
    margin-bottom: 5px;
    letter-spacing: 1px;
    color: #fff;
    padding: 0;
}
.detail-project p {
    margin: 0;
    font-size: 12px;
    color: #fff;
    letter-spacing: 2px;
}
.about-overlay {
    background-image: -moz-linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(255, 69, 69) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(255, 69, 69) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(255, 69, 69) 100%);
    opacity: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    transition: all 1s ease;
}
.about-first {
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    background: #fff;
    z-index: 1;
}
.about-img {
    transform: matrix(1, 0, 0, 1, 0, 0);
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    box-shadow: 0px 9px 31px 6px rgba(0, 0, 0, .2);
}

.schatten {
    box-shadow: 0px 9px 31px 6px rgba(0, 0, 0, .2);
}

.about-img:hover .about-overlay {
    opacity: .5;
}
.about-item {
    overflow: hidden;
}
.about-text {
    padding: 20px 40px;
    z-index: 1;
}
.about-text p {
    color: #000;
    font-size: 16px;
    font-weight: 300;
}
.about-text h4,
.weiterlesen-text h4 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    font-size: 26px;
    font-weight: 600;
    color: #000;
    padding-bottom: 20px;
}
.about {
    position: relative;
}
.testimonial-bg {
    position: absolute;
    width: 60%;
    height: 130%;
    background: #222;
    left: 0;
    top: 0;
    margin-top: -50px;
    display: block;
    z-index: -3;
}
.testimonial {
    position: relative;
}
.testimonial-item {
    padding: 30px;
    position: relative;
}
.quot-left {
    position: absolute;
    height: 100;
    top: 0;
    left: 0;
    color: #222;
    font-size: 70px;
    opacity: .1;
    z-index: -1;
}
.quot-right {
    position: absolute;
    height: 100;
    top: 0;
    right: 0;
    color: #222;
    font-size: 70px;
    opacity: .1;
    z-index: -1;
}
.testimonial-item p {
    margin-bottom: 20px;
    font-size: 18px;
    color: #000;
    line-height: 28px;
    font-weight: 500;
    font-style: italic;
}
.line-img:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60%;
    height: 5px;
    background-color: #7b003b;
    z-index: 2;
}
p.author-text {
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    color: #7b003b;
}
.item-partner {
    opacity: .4;
}
.item-partner:hover {
    opacity: 1;
}
.owl-theme .owl-dots .owl-dot {
    outline: none;
}
.line-testi {
    width: 100%;
    height: 1px;
    background: #7b003b;
    margin: 10px 0;
    opacity: 1;
}
.team {
    position: relative;
}
.team-item::after {
    content: '';
    position: absolute;
    height: 80%;
    width: calc(100% - 30px);
    transform: translateX(-50%);
    left: 50%;
    background: #eee;
    bottom: -30px;
    z-index: -1;
    box-shadow: -9px 9px 31px -6px rgba(0, 0, 0, .2);
}
.team-text {
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    left: 50%;
    bottom: 0;
}
.team-text h3 {
    color: #000;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: 1px;
    font-weight: 600;
}
ul.arrows {
    padding: 0;
}
ul.arrows li {
    cursor: pointer;
    display: inline;
    margin: 10px;
    opacity: 1;
    transition: all 0.7s ease;
}
.arrow-left:hover {
    opacity: 0.5;
}
.arrow-right:hover {
    opacity: 0.5;
}
.news {
    position: relative;
}
.news-item {
    transition: all 0.5s ease;
    overflow: hidden;
    cursor: pointer;
}
.news-item:hover {
    transform: scale(0.98);
}
.news-img {
    overflow: hidden;
}
.news-text {
    position: absolute;
    top: 50%;
    width: 90%;
    transform: translate(-50%, -50%);
    left: 50%;
    padding: 20px 30px 30px;
    background: #eeeeee;
    opacity: 0;
    transition: all 0.2s ease;
}
.news-link {
    color: #7b003b;
    margin-bottom: 20px;
    padding: 10px;
    border-bottom: solid 1px #7b003b;
}
.news-link:hover {
    color: #000;
}
.news-item:hover .news-text {
    opacity: 1;
    bottom: 0px;
}
.news-text h3 {
    color: #000;
    letter-spacing: 2px;
    font-size: 15px;
    text-transform: uppercase;
}
.news-text p {
    margin-top: 20px;
    font-size: 14px;
    color: #000;
}
.news-date p {
    margin: 0;
    font-size: 12px;
    letter-spacing: 2px;
    color: #000;
}
.contact-item h3 {
    color: #000;
    margin-bottom: 20px;
}
.contact-item h3 span {
    font-family: 'Oswald', sans-serif;
    color: #7b003b;
}
.contact-item a {
    color: #7b003b;
}
.contact {
    position: relative;
}
.contact-item .social {
    position: relative !important;
    bottom: 0;
    right: 0;
}
a.mail {

}
a.phone {

}
.contact-item .social li {
    margin: 0 10px 0 0;
}
.copyright h3 {
    font-family: 'Oswald', sans-serif;
    color: #000;
}
.detail-title {
    height: 200px;
    margin-top: -200px;
}
.project-main {
    background: #eee;
    padding-bottom: 20px;
}
.detail-title {
    background: #eee;
}
.detailes {
    margin: 30px 0;
}
.detailes h3 {
    color: #7b003b;
    letter-spacing: 3px;
    font-weight: 900;
    text-transform: uppercase;
}
.detailes p {
    margin: 0;
}
.projektbeschreibung {
    min-height: 90px;
}



.square-project-detail {
    opacity: .9;
    z-index: -11;
    height: 100%;
    width: 100%;
    right: 0;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}




/*
.square-project-detail {
    opacity: .9;
    z-index: -11;
    height: 100%;
    width: 100%;
    right: 0;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
*/




.title-single-page {
    height: 300px;
    width: 50%;
    background: #fff;
    box-shadow: 14px 14px 50px 7px rgba(0, 0, 0, .1);
}
.single-port {
    margin-top: -10%;
}
.single-page-bg {
    width: 80%;
    height: 80%;
    position: absolute;
    top: 10%;
    background-repeat: no-repeat!important;
    background-position: center center!important;
    z-index: -3;
}

.project-main-img img {
    width: 100%!important;
    max-width: 100%!important;
    height: auto!important;
}

@media screen and (min-width: 1200px) {
    #siteclass_121 .project-section .container {
        max-width: 80%;
    }
}


#siteclass_121 .hero {
    height: 70vh;
}

#siteclass_121 .single-page-bg {
    height: 50%;
}