@font-face {
    font-family: 'Barlow-Light';
    src: url('/code/fonts/Barlow-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Barlow-Regular';
    src: url('/code/fonts/Barlow-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Barlow-Medium';
    src: url('/code/fonts/Barlow-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Barlow-Bold';
    src: url('/code/fonts/Barlow-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

:root{
    --farbe-txt:#333;
    --farbe-btn:#007fff;
    --farbe-bg:#fafafa;
    --max-body:1200px;
    --max-body-texte:1000px;
    --abrundung:10px;
    --schatten:0px 0px 0.5px rgba(0,0,0,0.5);
    --abstand:40px;
    --abstand2:40px;
    --abstand_module:80px;
}

*{
	padding:0px;
	margin:0px;
	font-family:'Barlow-Regular',Helvetica,Ariel,'sans-serif';
	font-weight:400;
	font-style:normal;
    border:0px;
    font-size:inherit;
	line-height:inherit;
    color:inherit;
    outline:none;
	text-decoration:none;
	border-collapse:collapse;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: none;
	/*-webkit-transform: translate3d(0,0,0);*/
    color-scheme: light only;
}
h1{
    font-size:60px;
    line-height: 70px;
    margin-bottom: 20px;
    font-family:'Barlow-Medium',Helvetica,Ariel,'sans-serif';
    font-weight: 500;
}
h1 sup{
    font-size:30px;
    line-height: 70px;
    font-family:'Barlow-Light',Helvetica,Ariel,'sans-serif';
    font-weight: 300;
}
h2{
    font-size:40px;
    line-height: 45px;
    margin-bottom: 10px;
    font-family:'Barlow-Light',Helvetica,Ariel,'sans-serif';
    font-weight: 300;
}
h3{
    font-size:25px;
    line-height: 27px;
    margin-bottom: 10px;
    font-family:'Barlow-Light',Helvetica,Ariel,'sans-serif';
    font-weight: 300;
}
h4{
    font-size:20px;
    line-height: 22px;
    margin-bottom: 10px;
    font-family:'Barlow-Medium',Helvetica,Ariel,'sans-serif';
    font-weight: 500;
}
img{
    vertical-align: top;
}
sup{
    font-size:9px;
}
b{
    font-family:'Barlow-Bold',Helvetica,Ariel,'sans-serif';
    font-weight: 700;
}
html {
	width:100%;
	height:100%;
	background:var(--farbe-bg);
    font-size:16px;
	line-height:20px;
	color:var(--farbe-txt);
}
body {
    width:100%;
	height:100%;
}
small{
    font-size:12px;
    line-height:16px;
}
button{
    background: none;
}
header,main,footer{
    display:block;
    position: relative;
    width:100%;
}
ul,ol,li{
    color:inherit;
}
ul,ol{
    padding-left:18px;
}

a.mehr,
a.kauf{
    display: inline-block;
    background:var(--farbe-btn);
    border:1px solid var(--farbe-btn);
    padding:5px 20px;
    border-radius: 30px;
    margin:0px 10px;
    margin-top: 30px;
    font-size:16px;
    transition: all 0.05s;
    color:#fff;
}
a.mehr:hover,
a.kauf:hover{
    opacity: 0.7;
}
a.kauf{
    background: none;
    color:inherit;
}
a.kauf:hover{
    background:var(--farbe-btn);
    color:#fff;
    opacity: 1;
}

.fade-in{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.bphone{
    display: inline-block;
    position: relative;
    --w:250px;
    width: var(--w);
    aspect-ratio: 1 / 2.167;
    aspect-ratio: 1 / 2;
    background: #000;
    border-radius: calc(var(--w) / 8);
    border-radius: 12% / 6%;
    overflow: hidden;
    box-shadow: 0px 10px 50px rgba(0,0,0,0.3), 0px 1px 5px rgba(0,0,0,0.2);
    transition: all 0.5s;
}
.bphone.fade-done{
    transition: all 0.2s;
}
.bphone:hover{
    transform-origin: top center;
    transform:scale(1.5);
    z-index:11;
}
.bphone .bphone_top{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    aspect-ratio: 9 / 1;
    aspect-ratio: 8.5 / 1;
    background: #fff;
    box-shadow: 0px 0px 0.5px rgba(0,0,0,0.25);
}
.bphone .bphone_camera{
    position: absolute;
    top:50%;
    left:50%;
	transform: translate(-50%,-50%);
    height: 30%;
    width:20%;
    border-radius: 100vh;
    background: rgba(0,0,0,0.9);
    z-index:2;
}
.bphone .bphone_time{
    position: absolute;
    left:10%;
    top:50%;
    transform: translateY(-50%);
    font-size: 50%;
    color:#000;
    filter: invert(1);
    mix-blend-mode: difference;
    font-family:'Barlow-Bold',Helvetica,Ariel,'sans-serif';
    font-weight: 700;
    z-index:1;
}
.bphone .bphone_wifi{
    position: absolute;
    display:block;
    height: 100%;
    width:40%;
    right:10%;
    top:50%;
    transform: translateY(-50%);
    font-size: 2vh;
    filter: invert(1);
    mix-blend-mode: difference;
    white-space: nowrap;
    text-align: right;
    z-index:1;
}
.bphone .bphone_wifi svg{
    position: relative;
    display:inline-block;
    margin-left: 5%;
    height: 50%;
    top:25%;
    vertical-align: top;
}
.bphone img{
    display: block;
    position: relative;
    width:100%;
}

.bdesktop{
    display: inline-block;
    position: relative;
    width:700px;
    aspect-ratio: 2 / 1;
    background: #000;
    border-radius: 1.5% / 3%;
    overflow: hidden;
    box-shadow: 0px 10px 50px rgba(0,0,0,0.3), 0px 1px 5px rgba(0,0,0,0.2);
    transition: all 0.5s;
}
.bdesktop img{
    display: block;
    position: relative;
    width:100%;
}

header{
    position: fixed;
    /*background: rgba(250,250,250,0.7);
    backdrop-filter: blur(10px);*/
    height: 50px;
    width:calc(100% - 40px);
    padding:0px 20px;
    z-index: 100;
}
header .bg{
    position: absolute;
    left:0px;
    top:0px;
    width: 100%;
    height:100%;
    background: rgba(250,250,250,0.7);
    backdrop-filter: blur(10px);
    z-index:1;
}
header nav{
    display: block;
    position: relative;
	width:100%;
    max-width:var(--max-body);
    margin: auto;
    text-align: left;
    line-height: 50px;
    z-index:2;
}
header nav .logo{
    display:inline-block;
    position: relative;
    height: 20px;
    vertical-align: top;
    margin-top: 15px;
}
header nav menu{
    display: inline-block;
    position: relative;
}
header nav menu.right{
    float:right;
}
header nav menu section{
    display: inline-block;
    position: relative;
    margin-left:40px;
}
header nav menu section .bt{
    font-family:'Barlow-Medium',Helvetica,Ariel,'sans-serif';
    font-weight: 500;
    line-height: 55px;
    display:inline-block;
    vertical-align: baseline;
}
header nav menu section .bt sup{
    line-height: 10px;
}
header nav menu section .bt .linie{
    position: absolute;
    top:-4px;
    left:-5px;
    height: 4px;
    width: calc(100% + 10px);
    background: var(--farbe-btn);
    border-radius: 0px 0px 3px 3px;
    transition: all 0.2s;
}
header nav menu section .bt:hover .linie{
    top:0px;
}

header nav menu section .submenu{
    display: none;
    position: absolute;
    margin-top:-5px;
    margin-left:-50px;
    background: #fff;
    background: rgba(255,255,255,0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    color:#000;
    line-height: 24px;
    padding:30px 50px;
    border-radius: 5px;
    white-space: nowrap;
    box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
}
header nav menu section .submenu.show{
    display: block;
}
header nav menu section .submenu .row{
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    min-width: 200px;
}
header nav menu section .submenu .space{
    display: inline-block;
    width:50px;
}
header nav menu section .submenu .row b{
    display: block;
    margin-bottom: 10px;
}
header nav menu section .submenu .row a{
    display: block;
}
header nav menu section .submenu .row a:hover{
    opacity: 0.7;
    text-decoration: underline;
}


main{
    padding-top:51px;
    padding-top:71px;
    padding-bottom: 50px;
}
main .box,
main .banner,
main .text,
main .texte,
main .list,
main .list-buttons,
main .abstand,
main .linie{
    display: block;
    display:flex;
    position: relative;
    /*width:100%;*/
    width:calc(100% - 40px);
    padding:0px 20px;
    max-width:var(--max-body);
    margin: auto;
    text-align: left;
    margin-bottom: var(--abstand_module);
}

main .banner{
}
main .banner section{
    display: block;
    position: relative;
    width:100%;
    height:auto;
    background: #fff;
    overflow: hidden;
    border-radius: var(--abrundung);
    box-shadow: var(--schatten);
    text-align: center;
    font-size:20px;
    line-height: 26px;
}
main .banner section .btext{
    margin-top: 50px;
    margin-bottom: 60px;
    display: block;
    position: relative;
    z-index: 10;
    text-align: center;
}
main .banner section .btext.real_left{
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
    border-radius: 10px;
    display: block;
    max-width: calc(50% - 40px - 80px);
    padding:40px;
    padding-top:20px;
    position: relative;
    z-index: 10;
    text-align: left;
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
}

main .banner section .bbilder{
    display: block;
    position: relative;
    z-index: 2;
}
main .banner section .phones{
    text-align: center;
}
main .banner section img{
    display: inline-block;
    object-position: center;
}
main .banner section .bg{
    position: absolute;
    top:0px;
    left:0px;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}
main .banner section .bbilder .bphone{
    margin:0px 10px;
    transition: all 0.2s;
}
main .banner section .bbilder .bphone.banner1{
    transform: scale(1)  translateY(0);
    z-index:4;
}
main .banner section .bbilder .bphone.banner2{
    transform: scale(1) translateY(10px);
    z-index:3;
}
main .banner section .bbilder .bphone.banner3{
    transform: scale(1)  translateY(20px);
    z-index:2;
}
main .banner section .bbilder .bphone.banner4{
    transform: scale(1)  translateY(30px);
    z-index:1;
}
main .banner section .bbilder .bphone:hover{
    z-index:11;
    transform: scale(1.4)  translateY(-20px);
}
main .banner section .bbilder .bphone.blur{
    filter:blur(10px) !important;
    opacity: 0.3;
}
main .banner section .bbilder .bphone.over{
    box-shadow: 0px 0px 100px rgba(0,0,0,0.2);
}
main .banner section .bbilder .bdesktop{
    position: absolute;
    margin-left: -450px;
    width:900px;
    transition: all 0.2s;
}
main .banner section .bbilder .bdesktop.banner1{
    transform: scale(0.9) translateX(-150px) translateY(10px);
    z-index:3;
}
main .banner section .bbilder .bdesktop.banner2{
    transform: scale(1) translateX(200px) translateY(0px);
    z-index:4;
}
main .banner section .bbilder .bdesktop:hover{
    z-index:11;
    transform: scale(1.2)  translateY(10px);
}
main .banner section .bbilder .bdesktop.blur{
    filter:blur(10px) !important;
    opacity: 0.3;
}
main .banner section .bbilder .bdesktop.over{
    box-shadow: 0px 0px 100px rgba(0,0,0,0.2);
}
main .banner section .btext2{
    display: block;
    position: relative;
    z-index: 3;
}
main .banner section .btext2 .btxt{
    display: inline-block;
    vertical-align: top;
    width:300px;
    margin:30px 50px;
    /*
    background: rgba(255,255,255,0.2);
    backdrop-filter: blur(10px);
    border-radius: 200px;
    padding:30px;
    box-shadow: 0px 0px 0.5px rgba(0,0,0,0.5);
    */
}

main .box section{
    position: relative;
    display: inline-block;
    display:flex;
    width:calc(50% - 20px);
    height:calc(50% - 20px);
    overflow: hidden;
    border-radius: var(--abrundung);
    box-shadow: var(--schatten);
}
main .box section .bg{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
main .box section .inhalt{
    position: absolute;
    top:0px;
    left:0px;
    padding:40px;
    padding-top:80px;
    width:calc(100% - 80px);
    text-align: center;
    font-size:22px;
    line-height: 30px;
}
main .box section .inhalt h3{
    display: block;
    font-size:40px;
    line-height: 50px;
    margin-bottom: 20px;
    font-family:'Barlow-Medium',Helvetica,Ariel,'sans-serif';
    font-weight: 500;
    color:inherit;
}
main .box section .inhalt a.kauf{
    color:inherit;
}
main .box section .inhalt .bilder{
    display: block;
    position: relative;
    margin-top: 20px;
}
main .box section .inhalt .bphone.kachel1,
main .box section .inhalt .bdesktop2.kachel1{
    transform3d(0,0,0);
    transform: perspective(75em) rotateX(18deg);
    transform: perspective(100em) rotateY(18deg);
    transform:
    perspective(800px)
    rotateY(-8deg);

    transform:
    rotateX(51deg)
    rotateZ(43deg);
  transform-style: preserve-3d;

  transform:
    perspective(800px)
    rotateY(25deg) scale(0.9)
    rotateX(10deg);

      transform: perspective(400px) rotateY(5deg) rotateX(5deg);
      transform: rotate(10deg);
}
main .box .space,
main .texte .space{
    display:flex;
    width:40px !important;
}

main .text{
    font-size:18px;
    line-height: 22px;
}
main .text section{
    width:60%;
}

main .texte.t2 section{
    width: calc(50% - 20px);
}
main .texte.t3 section{
    width: calc(33.333% - (40px / 3));
}
main .texte.t4 section{
    width: calc(25% - (40px / 4));
}
main .texte.t2 section h3,
main .texte.t3 section h3,
main .texte.t4 section h3{
    min-height: 60px;
}
main .texte .ticon{
    height:30px;
    width:30px;
    stroke-width:0.2;
    float:left;
    margin-right: 10px;
    margin-bottom: 10px;
}

main .texte svg{
    height:50px;
    width:50px;
    stroke-width:0.75;
}

main .abstand{
    display: block;
}
main .linie{
    display: block;

}
main .linie hr{
    height: 1px;
    background: #ccc;

}


main .list{
    display: block;
    width:calc(100% - 20px - ((100% - 1200px) / 2));
    max-width: 100%;
    padding:0px;
    padding-right:20px;
    padding-top:1px;
    padding-left:calc((100% - 1200px) / 2);
    white-space: nowrap;
    position: relative;
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-left: calc((100% - 1200px) / 2);
    margin-bottom: var(--abstand);
}
@media (max-width: 1240px) {
    main .list{
        width:calc(100% - 20px - 20px);
        padding-left:20px;
        scroll-padding-left:20px;
    }
}
main .list section{
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    margin-right: var(--abstand);
    scroll-snap-align: start;
    scroll-snap-stop: always;

}
main .list section:last-child{
    margin-right: 0px;
}
main .list section.bild1{
    width:300px;
}
main .list section.bild2{
    width:600px;
}
main .list section.bild_logo{
    width:200px;
}
main .list section.bild_logo img{
    height: 200px;
}
main .list section img{
    display:flex;
    width:100%;
    height:400px;
    object-fit: cover;
    object-position: center;
    border-radius: var(--abrundung);
    box-shadow: var(--schatten);
    margin-bottom:20px;
}

main .list-buttons{
    display: block;
    width:calc(100% - 40px);
    margin-bottom: var(--abstand2);
}
main .list-buttons button{
    cursor: pointer;
}
main .list-buttons button svg{
    width:40px;
    height:40px;
}
main .list-buttons button:hover{
    opacity: 0.5;
}
main .list-buttons button.prev[disabled],
main .list-buttons button.next[disabled] {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}

footer{
    width:calc(100% - 40px);
    padding:0px 20px;
    background: #000;
    background: linear-gradient(to bottom, #222 0%, #000 100%);
    background: #111;
    color:#eee;
    overflow: hidden;
}
footer section{
    display: block;
    position: relative;
	width:100%;
    max-width:var(--max-body);
    margin: auto;
    text-align: left;
    color:inherit;
    padding-top:100px;
    padding-bottom:50px;
    z-index:2;
}
footer section .logo{
    display:block;
    height: 15px;
    margin-bottom: 10px;
    margin-top:100px;
}
footer .bg{
    position: absolute;
    top:0px;
    left:0px;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index:1;
    object-position: center;
    filter:blur(10px);
    opacity: 0.5;
}
footer table td,footer table th{
    padding-right:100px;
    vertical-align: top;
}
footer table th{
    padding-bottom:10px;
}
