html{
scroll-behavior:smooth
}

body{
color:#444;
font-weight:400;
background:#fff;
font-family:Barlow,sans-serif
}

h1,h2,h3,h4,h5,h6{
color:#06a3ab
}

a{
color:#06a3ab;
transition:.3s
}

a:active,a:focus,a:hover{
color:#ff5e3a;
outline:0;
text-decoration:none
}

table {
width:100%;
border-collapse:collapse;
margin-top:30px;
margin-bottom:30px
}

th, td {
padding:10px;
border:1px solid #ccc;
text-align:center
}

input, select {
padding:5px;
width:90%
}

.btn.btn-custom{
padding:10px 30px 12px 30px;
text-align:center;
font-size:16px;
font-weight:500;
color:#fff;
background:#ff5e3a;
border:none;
border-radius:60px;
box-shadow:inset 0 0 0 0 #06a3ab;
transition:ease-out .5s;
-webkit-transition:ease-out .5s;
-moz-transition:ease-out .5s
}

.btn.btn-custom:hover{
color:#fff;
background:#06a3ab;
box-shadow:inset 200px 0 0 0 #06a3ab
}

.btn:focus{
box-shadow:none
}

.container-fluid{
max-width:1366px
}

[class*=" flaticon-"]:after,[class*=" flaticon-"]:before,[class^=flaticon-]:after,[class^=flaticon-]:before{
font-size:inherit;
margin-left:0
}

.service-video-text .video-wrapper{
width:auto;
height:auto;
margin-top: 25px;
aspect-ratio:9/16;
border-radius:8px;
overflow:hidden;
box-shadow:10px 10px 20px rgba(0,0,0,.2)
}

.session-timer{
position: relative;
top: 10px;
right: 15px;
background: #fefefe;
padding: 5px 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-weight: bold;
}

.login{
background-color: rgba(255, 255, 255, 1); /* semi-transparent */
padding: 2rem;
color: #fff;
margin:5% auto;
max-width:600px;
text-align:center;
border-radius:25px;
box-shadow: 0 8px 16px #000
}

.login-background{
top:0;
left:0;
background-image: url("../img/ig-8.jpg");
margin-top:0px;
filter:blur(20px);
background-size:cover;
background-position:center;
position:absolute;
z-index:-1;
height:100%;
width:100%
}

.login .login-logo{
position:relative;
height:150px;
overflow:hidden;
text-align:center;
}

.login .login-logo img{
max-height:150px;
padding:15px;
}

.login .login-form{
margin:auto;
}

.login .login-form form *{
margin-top:10px;
border-style:solid;
text-align:center;
border-radius:25px;
box-sizing: border-box;
}

.login .login-form form *:focus{
margin-top:10px;
border-style:solid;
text-align:center;
border-radius:25px;
box-sizing: border-box;
outline: none;
border-color: #06a3ab;
box-shadow: 0 0 5px #06a3ab;
}

.login .disclaimer{
border-radius:25px;
border-style:dashed;
font-size:0.9em; 
color:#555; 
margin-top:40px;
margin-bottom:5px;
border-color: #000;
}

.portrait-video{
width:100%;
height:100%;
object-fit:cover
}

.scroll-container{
height:600px;
overflow:hidden;
position:relative;
margin-top:20px;
text-align:center
}

.scroll-content{
display:flex;
flex-direction:column;
animation:scroll-vertical 70s linear infinite
}

.price-info p{
font-size:1.1rem;
margin-bottom:1rem;
color:#666
}

.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.7);
z-index:999
}

.modal-content{
background:#fff;
margin:3% auto;
padding:20px;
border-radius:8px;
width:90%;
max-width:500px;
position:relative
}

.modal .close{
position:absolute;
right:20px;
top:15px;
font-size:24px;
cursor:pointer
}

.modal button,.modal input{
width:100%;
margin-bottom:12px;
padding:10px;
font-size:16px
}

.form-group label{
font-weight:600
}

#captcha{
width:100%;
padding:10px;
margin-top:5px
}

@keyframes scroll-vertical{
0%{
transform:translateY(0)
}

100%{
transform:translateY(-50%)
}


}

.scroll-content .service-item{
padding:15px 0;
border-bottom:1px solid rgba(255,255,255,.05);
display:flex;
flex-direction:column;
gap:5px
}

.scroll-content .service-item i{
font-size:32px;
color:#00e5ff;
margin-bottom:5px
}

#loader{
position:fixed;
top:0;
right:0;
bottom:0;
left:0;
display:flex;
align-items:center;
justify-content:center;
background:#010101;
opacity:0;
visibility:hidden;
-webkit-transition:opacity .3s ease-out,visibility 0s linear .3s;
-o-transition:opacity .3s ease-out,visibility 0s linear .3s;
transition:opacity .3s ease-out,visibility 0s linear .3s;
z-index:999
}

#loader.show{
-webkit-transition:opacity .6s ease-out,visibility 0s linear 0s;
-o-transition:opacity .6s ease-out,visibility 0s linear 0s;
transition:opacity .6s ease-out,visibility 0s linear 0s;
visibility:visible;
opacity:1
}

#loader .loader{
position:relative;
width:45px;
height:45px;
border:5px solid #ddd;
border-top:5px solid #ff5e3a;
border-radius:50%;
-webkit-animation:spin 2s linear infinite;
animation:spin 2s linear infinite
}

@-webkit-keyframes spin{
0%{
-webkit-transform:rotate(0)
}

100%{
-webkit-transform:rotate(360deg)
}


}

@keyframes spin{
0%{
transform:rotate(0)
}

100%{
transform:rotate(360deg)
}


}

.back-to-top{
position:fixed;
display:none;
width:44px;
height:44px;
text-align:center;
line-height:1;
font-size:22px;
right:15px;
bottom:15px;
transition:.5s;
background:#ff5e3a;
border-radius:44px;
z-index:9
}

.back-to-top i{
color:#010101;
padding-top:10px
}

.back-to-top:hover{
background:#06a3ab
}

.top-bar{
position:relative;
height:75px;
display:flex;
align-items:center;
background:#fff
}

.top-bar .logo{
text-align:left;
overflow:hidden
}

.top-bar .logo h1{
margin:-4px 0 0 0;
color:#ff5e3a;
font-size:50px;
line-height:50px;
font-weight:800;
letter-spacing:1px;
font-style:italic
}

.top-bar .logo h1 span{
color:#06a3ab
}

.top-bar .logo img{
max-width:100%;
max-height:60px
}

.top-bar .top-bar-item{
display:flex;
align-items:center;
justify-content:flex-end
}

.top-bar .top-bar-icon{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
background:#06a3ab;
border-radius:40px;
margin:2px
}

.top-bar .top-bar-icon i{
margin:0;
color:#fff;
font-size:16px
}

.top-bar .top-bar-text{
padding-left:15px
}

.top-bar .top-bar-text h3{
margin:0 0 5px 0;
font-size:18px;
font-weight:600
}

.top-bar .top-bar-text p{
margin:0;
font-size:14px;
font-weight:400
}

@media (max-width:991.98px){
.top-bar .logo{
text-align:center
}


}

.nav-bar{
position:-webkit-sticky;
background:#06a3ab
}

.nav-bar .navbar{
padding:20px 0;
background:#06a3ab!important;
transition:.3s
}

.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{
color:#fff;
padding:15px;
font-weight:600;
letter-spacing:5px
}

.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link:hover{
color:#ff5e3a;
text-shadow:1px 1px 2px #000
}

.nav-bar .btn.btn-custom{
color:#06a3ab;
background:#fff;
box-shadow:inset 0 0 0 0 #ff5e3a
}

.nav-bar .btn:hover{
color:#fff;
background:#ff5e3a;
box-shadow:inset 200px 0 0 0 #ff5e3a
}

@media (min-width:992px){
.nav-bar .navbar-brand{
display:none
}


}

@media (max-width:991.98px){
.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{
padding:5px 0
}

.nav-bar .btn{
display:none
}


}

.carousel{
position:relative;
width:100%;
min-height:auto;
background:#fff;
margin-bottom:45px
}

.carousel .container-fluid{
padding:0;
height:auto;
width:100%
}

.carousel .carousel-item{
position:relative;
width:100%;
min-height:220px;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
height:auto
}

.carousel .carousel-img{
position:relative;
width:100%;
height:100vh;
max-height:700px;
min-height:220px;
text-align:right;
overflow:hidden
}

.carousel .carousel-img::after{
position:absolute;
content:"";
top:0;
right:0;
bottom:0;
left:0;
background:rgba(0,0,0,.5);
z-index:1
}

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

.carousel .carousel-text{
position:absolute;
max-width:1069px;
padding:0 15px;
text-align:center;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
z-index:2
}

.carousel .carousel-text h3{
color:#ff5e3a;
font-size:20px;
font-weight:700;
letter-spacing:4px;
text-transform:uppercase;
margin-bottom:0
}

.carousel .carousel-text h1{
color:#fff;
font-size:90px;
font-weight:700;
margin-bottom:20px
}

.carousel .carousel-text p{
max-width:500px;
color:#fff;
font-size:18px;
margin-bottom:40px
}

.carousel .btn.btn-custom{
padding:20px 45px 22px 45px;
color:#fff
}

.carousel .btn.btn-custom:hover{
color:#fff
}

.carousel .owl-nav{
position:absolute;
width:100%;
height:50px;
top:calc(50% - 25px);
left:0;
display:flex;
justify-content:space-between;
z-index:9
}

.carousel-container{
position:relative;
overflow:hidden;
width:100vw;
height:80vh
}

.carousel-slide{
display:flex;
width:500%;
height:80%;
animation:slide 20s infinite
}

.carousel-slide img{
width:100vw;
height:80vh;
object-fit:none;
object-position:center center
}

@keyframes slide{
0%{
transform:translateX(0)
}

20%{
transform:translateX(0)
}

25%{
transform:translateX(-100vw)
}

45%{
transform:translateX(-100vw)
}

50%{
transform:translateX(-200vw)
}

70%{
transform:translateX(-200vw)
}

75%{
transform:translateX(-300vw)
}

95%{
transform:translateX(-300vw)
}

100%{
transform:translateX(-400vw)
}


}

@media (max-width:991.98px){
.carousel .carousel-text h3{
margin-bottom:5px
}

.carousel .carousel-text h1{
font-size:60px
}

.carousel .carousel-text p{
font-size:16px
}

.carousel .carousel-text .btn{
padding:12px 30px;
font-size:15px;
letter-spacing:0
}


}

@media (max-width:767.98px){
.carousel .carousel-text h3{
font-size:18px;
letter-spacing:2px;
margin-bottom:15px
}

.carousel .carousel-text h1{
font-size:45px
}

.carousel .carousel-text .btn{
padding:10px 25px;
font-size:15px;
letter-spacing:0
}


}

@media (max-width:575.98px){
.carousel .carousel-text h3{
font-size:13px;
letter-spacing:1px;
margin-bottom:10px
}

.carousel .carousel-text h1{
font-size:28px;
margin-bottom:15px
}

.carousel .carousel-text p{
margin-bottom:23px
}

.carousel .carousel-text .btn{
padding:8px 20px;
font-size:12px;
letter-spacing:0
}


}

.slider-container{
margin-top:20px;
overflow:hidden;
width:100%;
height:400px;
position:relative;
background:#fff
}

.slider-track{
display:flex;
width:calc(250px * 20);
animation:scroll 90s linear infinite
}

.slide{
width:250px;
height:400px;
flex-shrink:0
}

.slide img{
width:100%;
height:100%;
object-fit:cover
}

@keyframes scroll{
0%{
transform:translateX(0)
}

100%{
transform:translateX(-50%)
}


}

.section-header{
position:relative;
width:100%;
max-width:700px;
margin:45px auto 45px auto
}

.section-header p{
display:inline-block;
margin-bottom:10px;
padding-bottom:5px;
position:relative;
font-size:16px;
font-weight:700;
letter-spacing:4px;
text-transform:uppercase;
color:#ff5e3a
}

.section-header p::after{
position:absolute;
content:"";
width:50%;
height:2px;
left:25%;
bottom:0;
background:#ff5e3a
}

.section-header.text-left p::after{
left:0
}

.section-header.text-right p::after{
left:50%
}

.section-header h2{
margin:0;
font-size:45px;
font-weight:700
}

@media (max-width:991.98px){
.section-header h2{
font-size:45px
}


}

@media (max-width:767.98px){
.section-header h2{
font-size:40px
}


}

@media (max-width:575.98px){
.section-header h2{
font-size:35px
}


}

.termin-container{
margin:auto;
text-align:center;
position:relative;
width:100%;
padding:45px 0 15px 0
}

.service{
position:relative;
width:100%;
padding:0
}

.service .service-item{
position:relative;
width:100%;
display:flex;
flex-direction:column;
margin-bottom:45px
}

.service .service-item i{
color:#06a3ab;
font-size:75px;
line-height:75px;
margin-bottom:20px
}

.service .service-item [class^=flaticon-]::before{
margin:0;
font-size:60px;
line-height:60px;
background-image:linear-gradient(#ff5e3a,#06a3ab);
-webkit-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent;
transition:.5s
}

.service .service-item h3{
margin-bottom:10px;
font-size:20px;
font-weight:700;
letter-spacing:1px
}

.service .service-item p{
margin:0
}

.price{
position:relative;
width:100%;
padding:45px 0 15px 0;
margin-bottom:45px
}

.price .row{
padding:0 15px
}

.price .col-md-4{
padding:0
}

.price .price-item{
position:relative;
margin-bottom:30px;
background:#fff;
border-radius:5px;
text-align:center
}

.price .price-header{
padding:45px 0 30px 0
}

.price .price-header h3{
font-size:20px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase
}

.price .price-header h2{
display:flex;
align-items:flex-start;
justify-content:center;
font-size:60px;
font-weight:700;
letter-spacing:5px
}

.price .price-header h2 span{
font-size:25px;
line-height:55px
}

.price .price-body{
padding:0 0 20px 0
}

.price .price-item .price-footer{
padding-bottom:45px
}

.price .price-item .price-footer .btn.btn-custom{
color:#ff5e3a;
background:#06a3ab;
box-shadow:inset 0 0 0 0 #ff5e3a
}

.price .price-item .price-footer .btn.btn-custom:hover{
color:#fff;
background:#ff5e3a;
box-shadow:inset 200px 0 0 0 #ff5e3a
}

.contact{
position:relative;
width:100%;
padding:45px 0
}

.contact .contact-info{
width:100%;
margin-bottom:45px;
padding:35px 30px 10px 30px;
border-radius:5px;
background:#06a3ab
}

.contact .contact-info h2{
color:#fff;
font-size:25px;
font-weight:700;
margin-bottom:30px
}

.contact .contact-info-item{
display:flex;
align-items:center;
justify-content:flex-start;
margin-bottom:30px
}

.contact .contact-info-icon{
width:50px;
height:50px;
display:flex;
align-items:center;
justify-content:center;
background:#fff;
border-radius:50px
}

.contact .contact-info-icon i{
margin:0;
color:#06a3ab;
font-size:16px
}

.contact .contact-info-text{
padding-left:20px
}

.contact .contact-info-text h3{
margin:0 0 5px 0;
color:#fff;
font-size:18px;
font-weight:700;
letter-spacing:1px
}

.contact .contact-info-text p{
margin:0;
color:#fff;
font-size:16px;
font-weight:500
}

.contact .contact-form{
position:relative;
width:100%;
margin-bottom:45px
}

.contact .contact-form input{
padding:15px;
border-radius:5px;
border:1px solid #06a3ab
}

.contact iframe{
width:100%;
height:400px;
border-radius:5px
}

.terminabfrage{
max-width:600px;
position:relative;
margin:auto;
margin-top:45px;
padding-bottom:45px;
border-bottom-style:double;
border-color:#06a3ab
}

.terminabfrage .formular{
position:relative;
text-align:center;
margin-top:25px
}

.footer{
position:relative;
margin-top:0;
padding-top:45px;
background:#06a3ab
}

.footer .footer-contact,.footer .footer-link{
position:relative;
margin-bottom:45px;
color:#fff
}

.footer .footer-contact h2,.footer .footer-link h2{
margin-bottom:30px;
font-size:20px;
font-weight:700;
letter-spacing:2px;
color:#ff5e3a;
text-shadow:1px 1px 2px #000
}

.footer .footer-link a{
display:block;
margin-bottom:10px;
color:#fff;
transition:.3s
}

.footer .footer-link a::before{
position:relative;
content:"\f105";
font-family:"Font Awesome 5 Free";
font-weight:900;
margin-right:10px
}

.footer .footer-link a:hover{
color:#000;
letter-spacing:1px
}

.footer .footer-contact p i{
width:25px
}

.footer .footer-social{
position:relative;
margin-top:20px;
display:flex
}

.footer .footer-social a{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
color:#06a3ab;
background:#fff;
border-radius:40px;
margin-right:5px;
transition:.5s
}

.footer .footer-social a:last-child{
margin:0
}

.footer .footer-social a:hover{
color:#fff;
background:#ff5e3a
}

.footer .logo{
width:100%;
text-align:center;
overflow:hidden
}

.footer .copyright{
text-align:center;
padding-top:15px;
padding-bottom:45px
}

.footer .copyright p{
margin:0;
color:#fff
}

.footer .copyright p a{
color:#ff5e3a;
font-weight:700;
letter-spacing:1px;
text-shadow:1px 1px 2px #000
}

.footer .copyright p a:hover{
color:#fff
}
