/* ===================================
   Das Kamin- & Ofenstudio
   style.css
=================================== */

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/open-sans-v44-latin-300.woff2') format('woff2');
}

/* open-sans-regular (400) - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/open-sans-v44-latin-regular.woff2') format('woff2');
}

/* open-sans-500 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/open-sans-v44-latin-500.woff2') format('woff2');
}

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/open-sans-v44-latin-600.woff2') format('woff2');
}

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/open-sans-v44-latin-700.woff2') format('woff2');
}

/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/open-sans-v44-latin-800.woff2') format('woff2');
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family: 'Open Sans', sans-serif;
    background:#f5f5f5;
    color:#333;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

.container{
    width:min(1200px,92%);
    margin:auto;
}

/* ===============================
   HEADER
================================ */

header {
    position: static; 
    background: #ffffff;
}

@media (min-width: 992px) {
    header {
        position: sticky;
        top: 0;
        z-index: 999;
        box-shadow: 0 2px 12px rgba(0,0,0,.12);
    }
}

.topbar{

    width:min(1200px,95%);
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:15px 0;

}

.logo img{

    height:50px;
	transform: none;

}

.top-right{

    display:flex;
    flex-direction:column;
    align-items:flex-end;

}

.contact{

    display:flex;
    gap:25px;
    margin-bottom:10px;

}

.contact a{

    font-weight:600;
    color:#555;
    font-size:15px;
    transition:.3s;

}

.contact a:hover{

    color:#d95a00;

}

.contact i{

    color:#d95a00;
    margin-right:6px;

}

nav ul{

    display:flex;
    list-style:none;
    gap:30px;

}

nav a{
	
	font-weight:600;
    color:#555;
    font-size:18px;
    transition:.3s;

}

nav a:hover{

    color:#d95a00;

}

/*=================================
HERO
=================================*/

.hero{

    position:relative;

    height:80vh;

    overflow:hidden;

}

.hero img{

    position:absolute;

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

            rgba(0,0,0,.55),

            rgba(0,0,0,.55)

    );

    z-index:1;

}

.hero-content{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:white;

    padding:20px;

}

.hero h1{

    font-size:70px;

    margin:20px 0;

    text-shadow:5px 5px 6px rgba(0,0,0,.6);

}

.hero h2{

    font-size:36px;

    color:#ff9b3c;
	
	text-shadow: 0.5px 0.5px 2px whitesmoke;

    margin-bottom:25px;

}

.hero p{

    max-width:900px;

    font-size:24px;

    margin-bottom:40px;

}

.since{

    background:#d95a00;

    padding:12px 30px;

    border-radius:40px;

    font-size:18px;

    letter-spacing:2px;

}

.hero-button{

    display:inline-block;

    background:#d95a00;

    color:white;

    padding:18px 45px;

    border-radius:40px;

    font-size:20px;

    font-weight:bold;

    transition:.35s;

}

.hero-button:hover{

    background:#ff7b00;

    transform:translateY(-5px);

    box-shadow:0 15px 30px rgba(0,0,0,.25);

}

@media (max-width: 992px) {

    .hero {
        position: relative;
        height: 420px;
        min-height: 0;
        overflow: hidden;

        display: flex;
        justify-content: center;
        align-items: center;
    }

    .hero img {
        position: absolute;
        inset: 0;

        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center center;

        transform: none;
    }

    .hero-overlay {
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    .hero-content {
        position: relative;
        z-index: 2;

        width: 100%;
        height: 100%;

        padding: 30px 20px;

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        text-align: center;
    }

    .hero h1 {
        font-size: 32px;
        line-height: 1.2;
        margin: 12px 0;
    }

    .hero h2 {
        font-size: 22px;
        line-height: 1.3;
        margin-bottom: 15px;
    }

    .hero p {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 20px;
        max-width: 100%;
    }

    .since {
        font-size: 13px;
        padding: 7px 18px;
    }

    .hero-button {
        font-size: 16px;
        padding: 12px 28px;
    }

    .hero-button:hover {
        transform: none;
        box-shadow: none;
    }
}

@media (max-width: 600px) {

    .hero {
        height: 340px;
    }

    .hero-content {
        padding: 20px 16px;
    }

    .hero h1 {
        font-size: 27px;
    }

    .hero h2 {
        font-size: 19px;
		text-shadow: 0.5px 0.5px 1px whitesmoke;
    }

    .hero p {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .hero-button {
        font-size: 15px;
        padding: 10px 24px;
    }
}

/* ===============================
INTRO
================================ */

.intro{

    background:white;

    padding:70px 0;

    text-align:center;

}

.intro h1{

    font-size:42px;
    color:#333;

    margin-bottom:30px;

    font-weight:700;

}

.intro h2{

    color:#d95a00;

    font-size:28px;

    font-weight:600;

}

/* ===============================
   BOXEN
================================ */

.boxes {
    padding: 80px 0;
    background: #f3f3f3;
}

.boxes .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}

.box {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border-radius: 18px;
    padding: 45px 35px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
    transition: all .35s ease;
}

.box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #d95a00, #ff9b3c);
}

.box:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0,0,0,.15);
}

.box i {
    font-size: 54px;
    color: #d95a00;
    margin-bottom: 25px;
}

.box h3 {
    font-size: 26px;
    margin-bottom: 20px;
    color: #333;
}

.box p {
    color: #666;
    line-height: 1.8;
    font-size: 17px;
}

/* ===============================
   Responsive
================================ */

@media (max-width: 992px) {

    .boxes .container {
        grid-template-columns: 1fr;
    }

    .box {
        padding: 35px 25px;
    }

}

/* ===============================
GALERIE
================================ */

.gallery{

    background:white;

    padding:80px 0;

}

.gallery h2{

    text-align:center;

    font-size:40px;

    margin-bottom:50px;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:25px;

}

.gallery-grid img{

height:300px;

width:100%;

object-fit:cover;

border-radius:16px;

transition:.4s;

}

.gallery-grid img:hover{

transform:scale(1.06);

}

/* ===============================
BRANDS
================================ */

.brands{

background:#222;

padding:80px 0;

color:white;

text-align:center;

}

.brand-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:30px;

margin-top:50px;

}

.brand-grid div{

padding:35px;

background:#333;

border-radius:12px;

font-size:24px;

font-weight:bold;

transition:.3s;

}

.brand-grid div:hover{

background:#d95a00;

transform:translateY(-8px);

}

.brand-grid a {
    text-decoration: none;
    color: inherit;
    display: block;
}

/* ===============================
COUNTER
================================ */

.counter{

background:linear-gradient(90deg,#d95a00,#ff7b00);

padding:70px 0;

color:white;

}

.counter .container{

display:grid;

grid-template-columns:repeat(4,1fr);

text-align:center;

gap:40px;

}

.counter h2{

font-size:58px;

}

.counter p{

font-size:20px;

margin-top:10px;

}

.counter-value::after {
    content: "+";
    display: inline-block;
    margin-left: 2px;
    color: #ff9b3c;
}

@media(max-width:900px){

.counter .container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.counter .container{

grid-template-columns:1fr;

}

}

/* ===============================
FOOTER
================================ */

footer{

    background:#232323;

    color:white;

    margin-top:60px;

}

.footer-content{

    width:min(1200px,92%);

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    padding:60px 0;

}

.footer-left h2{

    color:#ff8b32;

    margin-bottom:25px;

}

.footer-left h3{

    margin-top:30px;

    margin-bottom:15px;

    color:#ff8b32;

}

.footer-left p{

    margin-bottom:15px;

}

.footer-left i{

    color:#ff8b32;

    width:25px;

}

.footer-right iframe{

    width:100%;

    height:580px;

    border:none;

    border-radius:10px;

}

.copyright{

    background:#181818;

    text-align:center;

    padding:20px;

    font-size:14px;

}

/* ===============================
RESPONSIVE
================================ */

@media(max-width:1000px){

.topbar{

flex-direction:column;

}

.top-right{

align-items:center;

margin-top:20px;

}

.contact{

flex-direction:column;

gap:10px;

text-align:center;

}

nav ul{

justify-content:center;

}

.boxes .container{

grid-template-columns:1fr;

}

.gallery-grid{

grid-template-columns:1fr 1fr;

}

.footer-content{

grid-template-columns:1fr;

}

.intro h1{

font-size:34px;

}

.intro h2{

font-size:22px;

}

}

@media(max-width:700px){

.logo img{

height:42px;

}

nav ul{

flex-direction:column;

gap:15px;

text-align:center;

}

.gallery-grid{

grid-template-columns:1fr;

}

.intro{

padding:50px 20px;

}

.intro h1{

font-size:24px;

}

.intro h2{

font-size:18px;

}

.box{

padding:30px;

}

.gallery{

padding:50px 0;

}

.gallery h2{

font-size:30px;

}

.footer-content{

padding:40px 0;

}

footer{

    margin-top:22px;

}

}

/* ======================================
Scrollanimation
====================================== */

.box,
.gallery-grid img {
    opacity: 0;
    transform: translateY(40px);
    transition: all .8s ease;
}

.visible,
.gallery-grid img.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ======================================
Top Button
====================================== */

#topButton{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#d95a00;

    color:white;

    font-size:20px;

    cursor:pointer;

    opacity:0;

    pointer-events:none;

    transition:.3s;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

}

#topButton.show{

    opacity:1;

    pointer-events:auto;

}

#topButton:hover{

    transform:translateY(-4px);

}

/* ======================================
Lightbox
====================================== */

#lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.9);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:99999;

    cursor:pointer;

}

#lightbox.open{

    opacity:1;

    visibility:visible;

}

#lightbox img{

    max-width:90%;

    max-height:90%;

    border-radius:10px;

    box-shadow:0 20px 60px rgba(0,0,0,.4);

}

/* ======================================
Other Buttons
====================================== */

.backhome{

    background:#d95a00;
	
	padding:12px 30px;

    border-radius:40px;

    font-size:14px;
	
	font-weight:700;
	
	color:white;

    letter-spacing:2px;

}

.backhome:hover{

    background:#e15d00;

    transform:translateY(-5px);

    box-shadow:0 15px 30px rgba(0,0,0,.25);