body {
    margin: 0px;
}

#header {
    background-color: rgb(48, 48, 48);
    text-align: center;
    height: 4vw;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transition: height 0.3s ease;
    z-index: 999;
}

#header a {
    color: beige;
    display: inline-block;
    padding: 0.8%;
    padding-left: 3%;
    padding-right: 3%;
    font-size: 0.8vw;
    font-family: Sans-serif;
    font-weight: 600;
    transition: padding 0.3s ease;
    letter-spacing: 3px;
}

header div {
    width: 2px;
    height: 0.8vw;
    display: inline-block;
    background-color: black;
}

a {
    text-decoration: none;
}

#witam {
    position: absolute;
    font-size: 2.7vw;
    z-index: 1;
    margin-left: 37%;
    color: beige;
    margin-top: 5%;
    text-shadow: 3px 5px 2px rgba(0, 0, 0, 0.5);
}

#hed {
    width: 100%;
    height: 4vw;
}

.photos {
    width: 100%;
    position: relative;
    height: 400px;
    background-image: url('../back2.jpg');
    background-size: 2600px auto;
    background-repeat: no-repeat;
    filter: blur(5px);
    background-attachment: fixed;
    background-position: center bottom -340px;
}

#opis {
    width: 100%;
    height: 1150px;
    background-color: rgb(80, 80, 80);
    display: flex;
    justify-content: center;
    align-items: center;
    color: beige;
    text-indent: 40px;
    font-size: 1.45vw;
    flex-direction: column;
    font-weight: 700;
    text-align: justify;
}

#opis p {
    width: 60%;
    font-family: Gill Sans, sans-serif;
}

#opis hr {
    width: 5%;
    background-color: rgb(32, 138, 173);
    border: none;
    height: 2px;
}

#sw {
    letter-spacing: 2px;
}

/* --------- USŁUGI --------- */
#uslugi {
    width: 100%;
    background-color: gray;
    color: beige;
    text-align: center;
    padding-top: 2%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

#uslugi p {
    font-size: 130%;
    font-family: Sans-serif;
    font-weight: 500;
}

#uslugi div {
    display: flex;
    flex-direction: column;
}

#cursor{
    width:40%;
}

#cursor p:hover {
    cursor: pointer;
}

.usl {
    width: 100%;
    margin-left: 4%;
    margin-top: 1%;
}

footer {
    width: 100%;
    height: 80px;
    margin-bottom: 0px;
    background-color: rgb(48, 48, 48);
    text-align: center;
    padding-top: 30px;
}

footer h3 {
    margin-top: 10px;
    font-size: 23px;
    font-weight: 200;
    color: beige;
}

/* ------------------ MEDIA QUERIES ------------------ */
@media screen and (max-width: 767px) {
    #header { height: 13.5vw; }
    #header a { font-size: 3.2vw; }
    #witam { font-size: 12vw; top: 12%; left: 18%; transform: translate(-50%, -50%); }
    #opis { font-size: 3vw; height: 850px; }
    #opis p { width: 80%; }
    .photos { background-position: center bottom 240px; }
    
    /* USŁUGI na telefonie w jednej kolumnie */
    #uslugi {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    #cursor, .usl {
        width: 100%;
        min-width: unset;
        flex: unset;
    }
    #cursor{
        margin-top:100px;
        padding:0px;
    }
    #cursor p {
        font-size: 1.2rem;
    }
    .usl h3 {
        font-size: 1rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    #header { height: 12.5vw; }
    #header a { font-size: 3.3vw; }
    #witam { font-size: 9vw; top: 12%; left: 17%; transform: translate(-50%, -50%); }
    #opis { font-size: 23px; height: 900px; }
    #opis p { width: 80%; }
    #uslugi { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; gap: 20px; padding-top: 2%; }
}

@media screen and (min-width: 1200px) {
    #header { height: 5vw; }
    #header a { font-size: 1vw; }
    #witam { font-size: 3vw; top: 15%; left: 13%; transform: translate(-50%, -50%); }
    #uslugi { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
    #cursor {margin-left:150px;margin-top:-50px;}
}
