@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

body{
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
    margin: 0px;
    padding: 0px;

    box-sizing: border-box;
    /* scroll-behavior: smooth; */
    font-weight: 400;
    color: rgb(41, 47, 65);
}
h1,h2, h3, h4, h5, h6{
    font-weight: 400;
}
:root {
    --adkomblue: #2f3077;
    --darkwhite: rgb(236, 236, 236);; 
  }
a{
    text-decoration: none;
    color: inherit;
}
#navbar-box{
    position: absolute;
    width: 100%;
    z-index: 10001;
    top: 0px;
    left: 0;
    height: 90px;
    /* font-weight: 400; */
}
#sticky-navbar-box{
    position: fixed;
    width: 100%;
    z-index: 1000;
    top: -100px;
    left: 0;
    height: 80px;
    transition: 0.5s;
    background-color: rgba(255, 255, 255, 0.171);
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
}
#navbar{
    position: relative;
    width: 100%;
    height: 90px;
    background-color: rgba(255, 255, 255, 0.2);
    color: #644b35;
    display: flex;
    padding: 0px 0px;
    text-align: center;
    justify-content:center;
    font-weight: 300;
    align-items: center;
    font-size: 1.3em;
    transition: 1s;
    z-index: 1000;
        backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px); /* dla Safari */
}
#navbar .navigantion-btn{
    cursor: pointer;
    margin: 0px 10px;
    padding: 5px 5px;
    white-space: nowrap;
    transition:all 0.3s ease-out;
    background-color: rgba(255, 255, 255, 0);
    border-bottom: 2px solid #2f307700;
}
.navbarlogo{
    visibility: hidden;
    width: 0px;
    height: 0px;
}
#navbar .navigantion-btn:hover{
    /* padding: 5px 10px;
    margin: 10px 25px; */
    border-bottom: 2px solid #8d7763;
    cursor: pointer;
    font-size: 1.1em;
}
#navbar .nav-contact-info{
    position: absolute;
    /* right: 30px; */
    display: flex;
    flex-direction: row;
    top: calc(100vh - 100px);
    gap: 30px;
    justify-content: center;
    align-items: center;
    visibility: hidden;
}
#navbar .nav-contact-info div{
    justify-content: center;
    align-items: center;
}
#navbar .nav-contact-info i{
    display: block;
    font-size: 26px;
}
#navbar .phone-numbers-box{
    display: flex;
    flex-direction: row;
    /* visibility: hidden; */
    gap: 20px;
}
#navbar .phone-numbers{
    font-size: 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
#navbar .phone-numbers span{
    display: block;
    font-weight: 300;
    color: #644b35;
    transition: 0.2s;
    padding: 6px 14px;
}
#navbar .phone-numbers span:hover{
    display: block;
    font-weight: 300;
    /* font-size: 1.1em; */
    background-color: rgba(255, 255, 255, 0.171);
    border-radius: 20px;
}
#navbar .socials {
    display: flex;
    flex-direction: row;
    gap: 30px;
    justify-content: center;
    align-items: center;
}
#navbar .socials a{
    color: #644b35;
    transition: 0.2s;
}
#navbar .socials a:hover{
    color: #b4875e;
    transform: scale(1.2);
    transition: 0.2s;
}
#navbar .navbarlogo{
    cursor: pointer;
    border: none;
    background-color: transparent;
    transition: 0.2s;
}
#navbar .navbarlogo:hover {
    cursor: pointer;
    background-color: transparent;
    border: none;
}
#navbar .navbarlogo img{
    transition: 0.2s;
    width: 200px;
    padding: 10px;
    margin-right: -10px;
    /* filter:brightness(100%); */
    shape-rendering: geometricPrecision;
    image-rendering: auto;
}

#navbar .navbarlogo:hover img{
    padding: 5px;
    filter:brightness(10%);
}
#welcome{
    background-color: rgba(255, 255, 255, 0.288);
    color: rgb(18, 18, 18);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100dvh;
    font-weight: 300;
    box-shadow: inset 0px -10px 20px -5px rgba(57, 57, 57, 0.092);
    position: relative;
}
#fullpage-bg {
    position: fixed;
    z-index: -1;
    height: 100lvh;
    width: 100%;
    transform: scale(1.1) translateX(5px) rotateZ(1.2deg);
    background-image: url(Images/frontpage.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    will-change: transform;
    /* filter: grayscale(20%) brightness(105%); */
}
.quickAboutUs{
    width: 100%;
    height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: -85px;
    position: relative;
    font-weight: 300;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 45px;
    box-shadow: 0px 0px 60px 60px rgba(255, 255, 255, 0.2);
    padding: 0px 15px 15px 15px;
    white-space: nowrap;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px); /* dla Safari */
}
.front-logo{
    width: 100%;
    height: auto;
    shape-rendering: geometricPrecision;
}

.quickAboutUs div{
    margin-top: -105px;
    font-size: 1.1em;
    text-align: center;
    font-weight: 400;
    color: rgb(87, 63, 47);
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    /* text-shadow: 0px 0px 1px rgb(255, 255, 255); */
}
.quickAboutUs div:last-child{
    /* margin-right: -150px; */
}
.welcome-initiate-text{
    position: absolute;
    bottom: 100px;
    font-weight: 300;
    font-size: 1.2em;
    color: rgba(0, 0, 0, 0.844);
}
.pointDownArrow{
    position: absolute;
    bottom: 35px;
    /* padding: 15px 17.5px; */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    width: 50px;
    height: 50px;
    transition: .2s ease-in-out;
    background-color: transparent;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* dla Safari */
}
.pointDownArrow:hover{
    cursor: pointer;
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.2);
}
.pointDownArrow i{
    display: block;
    color: rgb(0, 0, 0);
    font-size: 1.5em;
    transform: scaleX(1.2);
}
.welcome-home-border{
    background-color: rgba(0, 0, 0, 0.238);
    height: 1px;
    width: 0%;
    margin: auto;
}
#home{
    background-color: white;
    color: black;
    display: flex;
    justify-content: center;
}
.homesection-content{
    width: 100%;
    padding: 25px;
    max-width: 600px;
}
.homesection-articles{
    display: flex;
    flex-direction: column;
    align-items: center;
    /* gap: 100px; */
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.15);
}

.info-panel {
    display: flex;
    flex-direction: column;
}
.info-panel h2{
    display: block;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    font-size: 1.6em;
    /* white-space: nowrap; */
}
.info-panel h3{
    display: block;
    font-family: "Montserrat", sans-serif;
    /* font-optical-sizing: auto; */
    font-weight: 400;
    font-style: normal;
    text-align: center;
    font-size: auto;
    width: 100%;
    padding-top: 5px;
    /* white-space: nowrap; */
    padding-bottom: 35px;
}
.info-panel p{
    display: block;
    text-indent: 25px;
    text-align: justify;
}
.SidePhoto-box {
    display: flex;
    width: 100%;
    margin-top: 15px;
}

.SidePhoto-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0px 5px 30px rgba(33, 35, 43, 0.2);
    filter: brightness(110%) contrast(90%) grayscale(30%);
    max-width: 400px;
    margin:15px auto 0px;
}
#Oferta {
    background-color: rgb(255, 255, 255);
    position: relative;
}
.Oferta-cont{
    position: relative;
    z-index: 1; /* ustawia nad tłem */
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, 0.167);
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto;
    padding: 0px;
    padding-bottom: 30px;
    max-width: 600px;
}
.Oferta-cont>h2{
    font-size: 2.5em;
    font-style: bold;
    font-weight: 300;
    padding: 20px;
    padding-bottom: 0px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: rgb(121, 100, 70); /* 122, 106, 75 */
}
.Oferta-cards-box{
    display:flex;
    flex-direction: column;
    align-items: center;
    text-align: justify;
    gap: 30px;
    width: 100%;
    padding: 25px;
}

.Oferta-panel{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    transition: all 0.2s ease-in-out;
    background-color: #ffffff;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    padding: 25px;
    position: relative;
    margin: auto;
    /* transform: translateX(-150px); */
    /* height: 400px; */
}
.Oferta-panel-reverse{
    flex-direction: column;
    text-align: justify;
    /* transform: translateX(150px); */
}

.Oferta-text-box{
    width: 100%;
    /* padding-left: 50px; */
}
.Oferta-text-box-reverse{
    width: 100%;
    /* padding-right: 50px; */
}
.Oferta-text-box h2, .Oferta-text-box-reverse h2{
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3em;
    text-align: center;
    padding: 5px 20px; 
    /* width: calc(100% - 70px); */
    left: 35px;
    border-radius: 15px;
    background-color: rgb(255, 255, 255);
    display: block;
    margin: 0px auto;
    width: fit-content;
    margin-top: -15px;
}
.Oferta-panel h3{
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    text-align: center;
    font-size: medium;
    font-weight: 500;
    padding-bottom: 5px;
    padding-top: 10px;
}
.Oferta-panel p{
    padding-top: 15px;
}
.grecaptcha-badge { visibility: hidden; }

.Oferta-card{
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 5px;
    overflow: hidden;
    transition: all 0.2s;
    box-shadow: 2px 0px 15px rgba(21, 21, 30, 0.2);
}
.oferta-card-normal{

}
.oferta-card-reverse{
}

.Oferta-card img{
    transition: all 0.2s;
    width: 100%;
    height: 100%;
    object-fit: stretch;
      
}
.Oferta-panel:hover .Oferta-card{
    box-shadow: 0px 10px 30px rgba(21, 21, 30, 0.15);
}
.Oferta-panel:hover img{
    box-shadow: 0px 10px 30px rgba(21, 21, 30, 0.15);
}
.realizacje-box{
    height: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 40px 25px;
    background-color: #f1f1f1;
}
.realizacje-box h2{
    text-align: center;
    width: fit-content;
    margin: auto;
    font-size: 2em;
    padding: 0px 15px;
    /* margin-bottom: 12px; */
    font-family: "Montserrat", sans-serif;
     font-optical-sizing: auto;
     font-weight: 400;
     font-style: normal;
    /* border-bottom: 1px solid #2f3077; */
}
.realizacje-box p{
    max-width: 1000px;
    text-align: center;
}
.realizacje-gallery {
    position: relative;
    width: 100%;
    max-width: 800px;
    height: 500px;
    margin: 40px auto;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    /* padding: 25px; */
}

.realizacje-card {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 2s ease-in-out;
    z-index: 0;
    display: flex;
    flex-direction: column;
}

.realizacje-card.active {
    opacity: 1;
    z-index: 1;
}

.realizacje-card img {
    /* padding: 35px; */
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* border-radius:36px; */
    /* filter: brightness(0.6); */
}

.realizacje-card p {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 25px;
    color: rgb(48, 48, 48);
    background: rgba(255, 255, 255, 0.5);
    font-size: 18px;
    font-weight: 400;
    box-sizing: border-box;
    border-radius: 0 0 16px 16px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px); /* dla Safari */
    z-index: 10;
}

/* Pasek postępu */
.progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 0%;
    background: #ffffff;
    opacity: 0.7;
    transition: width 10s linear;
    z-index: 11;
    /* border-radius: 15px; */
}

/* Przycisk nawigacji (lewy/prawy) */
.nav-button {
    position: absolute;
    top: 0;
    width: 25%;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    z-index: 2;
}

/* gradient przezroczysty domyślnie */
.nav-button::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.25s ease-in-out;
    pointer-events: none;
}

/* lewa: gradient z CZARNEGO po lewej do przezroczystego po prawej */
.nav-button.left {
    left: 0;
}
.nav-button.left::after {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.4), transparent);
}

/* prawa: gradient z CZARNEGO po prawej do przezroczystego po lewej */
.nav-button.right {
    right: 0;
}
.nav-button.right::after {
    background: linear-gradient(to left, rgba(0, 0, 0, 0.4), transparent);
}

/* najechanie – zwiększa przezroczystość (fade in) */
.nav-button:hover::after {
    opacity: 1;
}
#page{
    width: 100%;
}

#contact{
    background-color: rgb(255, 255, 255);
}

.contact-box{
    width: 100%;
    max-width: 600px;
    margin: auto;
    /* padding: 15px; */
}
.info-box{
    display: flex;
    flex-direction: column-reverse;
    /* box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.15); */
    border-radius: 15px;
    position: relative;
    width: 100%;
    height: fit-content;
    margin: auto;
    padding: 15px;
}

.info-box h2{
    text-align: center;
    height: 80px;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4em;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    /* white-space: nowrap; */
}

.contact-seperator-line{
    /* border-left: 1px solid rgba(221, 206, 164, 0.432); */
    /* visibility: hidden; */
    width: 100%;
    background-color: rgba(221, 206, 164, 0.432);
    height: 2px;
    z-index: 1;
    margin: 10px 0px;
    margin-bottom: 15px;
}

.contact-left-side{
    flex: 1;
    display: flex;
    flex-direction: column;
}
.map-box{
    width: fit-content;
    height: calc(100% - 80px);
    overflow: hidden;
    border-radius: 15px;
    transition: all 0.3s ease-in-out;
    margin: auto;
}
.map-img{
    width: 115%;
    height: 115%;
    object-fit: contain;
    border-radius: 12px;
    z-index: 3;
    margin-left: -30px;
    margin-top: -30px;

}
.map-box:hover{
    box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.20);
    border-radius: 12px;
    z-index: 3;
}

.contact-right-side{
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
}
.form-side{
    display: flex;
    flex-direction: column;
    flex: 1;
}
.form-box {
    padding: 5px;
    padding-top: 0px;
    background: #ffffff;
    font-family: 'Segoe UI', sans-serif;
    height: 100%;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%; 
}

.form-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-form input,
.contact-form textarea {
    padding: 14px 18px;
    border: 1px solid #ccc;
    border-radius: 12px;
    font-size: 16px;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s;
    margin: 0px;
    flex: 1;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #dbb57b;
    box-shadow: 0 0 0 3px rgba(255, 182, 99, 0.2);
    outline: none;
}

.contact-form textarea {
    flex: 1;
    resize: none;
    width: 100%;
    height: 100%;
}

.contact-form button {
    background: #c9a46e;
    color: white;
    padding: 14px;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.contact-form button:hover {
    background: #ffffff;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15);
    color: black;
}

#footer{
    color: rgb(255, 255, 255);
    font-weight: 400;
    font-size: 1em;
    background-color: #fff;
}
.footer-box{
    background-color: rgb(197, 174, 123); /* rgb(47, 47, 47) */
}
.upper-footer{
    width: fit-content;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    /* margin: auto; */
    margin: 15px;
    margin-top: 0px;
    white-space: nowrap;
    gap: 20px;
    border-left: 3px solid rgb(226, 204, 170);
    padding-left: 15px;
}
.upper-footer>div{
    /* border-left: 1px solid rgb(226, 204, 170); */
    /* padding-left: 20px; */
}
.upper-footer>div:first-child{
    border-left: none;
    padding-top: 15px;
}
.upper-footer>div:last-child{
    visibility: hidden;
    height: 0px;
    width: 0px;
}
.footer-info i{
    padding: 5px 10px;
}
.footer-socials{
    display: flex;
    flex-direction: column;
    /* gap: 5px; */
    justify-content: center;
    align-items: center;
    font-size: 1em; 
    width: fit-content;
    transition: all ease-in-out 0.2s;
    font-weight: 400;
}
.footer-socials i{
    padding-right: 5px;
}
.footer-socials a{
    border-radius: 10px;
    padding: 5px 10px;
    transition: 0.2s;
}
.footer-socials a:last-child{
    /* margin-bottom: 25px; */
}

.footer-socials a:hover{
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    color: #433f39;
    transform: scale(1.1);
    transition: 0.2s;
    background-color: rgba(255, 255, 255, 0.171);
}
.footer-address{
    display: flex;
    flex-direction: row;
    align-items: center;
}
.footer-info-label{
    /* padding: 5px 10px; */
    width: fit-content;
    transition: all ease-in-out 0.2s;
    font-weight: 400;
}
.footer-nav>.footer-info-label{
    cursor: pointer;
    transition: all .2s ease-in-out;
    border-bottom: 1px solid rgba(255, 255, 255, 0.075);
}
.footer-nav>.footer-info-label:hover{
    border-bottom: 1px solid rgb(255, 255, 255);
}
.upper-footer h2{
    color: white;
    margin: 0px;
    padding: 0px;
    display: block;
    font-weight: 500;
    font-size: 1.2em;
    padding: 0px 10px;
}
.footer-phone-info{
    display: flex;
    flex-direction: row;
    align-items: center;
    /* gap: 5px; */
}
.footer-phone-numbers{
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.privacy-footer{
    padding: 10px;
    padding-top: 15px;
    padding-bottom: 0px;
}
.hours-info{
    text-align: center;
    padding: 5px;
    font-weight: 300;
    font-size: 0.8em;
    white-space: nowrap;
}
.lower-footer{
    /* height: 60px; */
    /* line-height: 60px; */
    background-color: white;
    color: rgb(65, 65, 65);
    text-align: center;
    font-size: 1em;
    font-weight: 300;
    padding: 10px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
    gap: 5px;
}
.footer-copyright{
    padding-top: 15px;
}
.form-google-inf{
    font-size: x-small;
    text-align: center;
    flex: 1;
}

.page-button {
    display: flex;
    position: relative;
    justify-content: center;
    cursor: pointer;
    align-items: center;
    padding: 8px 40px;
    background-color: rgb(243, 243, 243);
    /* border: 1px solid rgba(0, 0, 0, 0.178); */
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
    color: rgb(255, 255, 255);
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Roboto';
    transition: all ease-in-out 0.2s;
}

.page-button p {
    margin: 0px;
    width: 100%;
    padding: 5px;
    color: rgb(44, 44, 44);
    font-weight: 400;
    display: inline-block;
    transition: all ease-in-out 0.2s;
}
.page-button i {
    position: absolute;
    display: inline-block;
    color: rgba(255, 255, 255, 0);
    font-size: 1em;
    right: 35px;
    transition: all ease-in-out 0.2s;
}

.page-button:hover{
    box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.15);
}

.page-button:hover p{
    margin-left: -10px;
    margin-right: 10px;
    
}
.page-button:hover i {
    position: absolute;
    color: rgb(32, 32, 32);
    right: 15px;
}
#ToTopButton{
    display: flex;
    position: fixed;
    right: 50px;
    bottom: -100px;
    z-index: 99; 
    /* border: 3px solid #ffffff;  */
    outline: none; 
    background-color: #ebc68e;
    height: 50px;
    width: 50px;
    color: #ffffff; 
    cursor: pointer; 
    padding: 15px; 
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transition: 0.2s all ease-in-out;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
}
#ToTopButton:hover{
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
}
#ToTopButton i{
    font-size: 1.5em;
    padding-top: 2px;
    transition: 0.1s all ease-in-out;
}
#ToTopButton:hover i{
    font-size: 1.7em;
}
