:root {
    --yPosition: 0px;
    --heightOfSideBar: 100vh;
}


@keyframes fade-out {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    font-family: 'Kalam', cursive;
    min-height: 130vh;
}

header {
    position: relative;
    z-index: 499;
    display: block;
    padding: 0;
    width: 100%;
    height: 100px;
    box-shadow:  0px 0px 100px;
    background: linear-gradient(
        to right,
        #066b30,
        #182918);
}

nav {
    display: flex;
    justify-content: space-between;
    height: 100%;
    width: 95%;
    margin-inline: auto;
    z-index: 50;
}

.slide {
    position: absolute;
    left: 0;
    top: 0;
    height: var(--heightOfSideBar);
    width: 300px;
    background: #f2f2f2;
    backdrop-filter: blur(0.4rem);
    transition: 0.5s ease;
    transform: translateX(-310px);
    box-shadow: 0 0 5px;
    z-index: 200;
}

.slide h1 {
    display: flex;
    margin-block: 30px;
    margin-right: 40px;
    font-size: 25px;
    justify-content: center;
}

.slide h1::after {
    position: absolute;
    content: "";
    width: 90%;
    height: 2px;
    background-color: #606060;
    top: 80px;
    margin-left: 12%
}

.slide ul {
    margin-top: 90px;
}

.slide ul li {
    list-style: none;
    margin-left: 25px;
    margin-top: 20px;
}

.slide ul li a {
    color: black;
    font-weight: 500;
    font-size: 17px;
    margin: 15px 0px;
    display: block;
    text-decoration: none;
    transition: 0.2s ease-out;
    letter-spacing: 5px;
    scroll-behavior: smooth;
}

.slide ul li a:hover {
    transform: translateX(5px);
}

#sidebar input[type="checkbox"] {
    display: none;
    visibility: hidden;
}

.toggle {
    position: absolute;
    top: 0;
    left: 20px;
    height: 100px;
    width: 50px;
    cursor: pointer;
    border-radius: 2px;
    background-color: none;
}

.toggle .common {
    position: absolute;
    height: 3px;
    width: 40px;
    background-color: white;
    border-radius: 50px;
    transition: 0.3s ease;
    z-index: 502;
}

.toggle .top_line {
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.toggle .middle_line {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.toggle .bottom_line {
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
}

input[type="checkbox"]:checked ~ .toggle .top_line {
    left: 220px;
    top: 45px;
    width: 35px;
    transform: rotate(45deg);
    background-color: black;
}

input[type="checkbox"]:checked ~ .toggle .bottom_line {
    left: 220px;
    top: 45px;
    width: 35px;
    transform: rotate(-45deg);
    background-color: black;
}

input[type="checkbox"]:checked ~ .toggle .middle_line {
    opacity: 0;
    transform: translateX(150px);
}

input[type="checkbox"]:checked ~ .slide {
    transform: translateX(0);
}

.sidebar-footer {
    position: absolute;
    bottom: 20px;
    width: 100%;
    margin-bottom: 15px;
    text-decoration: none;
}

.sidebar-footer a:first-child {
    margin-left: 20px;
}

.sidebar-footer a {
    margin-right: 5px;
    margin-bottom: 12px;
    display: inline-block;
    height: 20px;
    width: 20px;
    font-size:x-large;
    color: black;
}

.sidebar-footer p {
    margin-left: 20px;
    margin-block: 12px;
    font-weight: 300;
    font-size: 17px;
    margin-block: 5px;
}

.overlay {
    display: none;
    position: fixed;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 100
}

input[type="checkbox"]:checked ~ .overlay {
    display: block;
}

.logo-holder {
    display: flex;
    align-items: center;
}

.logo-holder-cart {
    display: flex;
    height: 100%;
    margin: auto;
    align-items: center;
    justify-content: center;
}

.main-logo {
    text-decoration: none;
    color: white;
    align-items: center;
}

.main-logo p {
    margin-bottom: 0;
    margin-top: 8px;
    font-weight: 300;
    letter-spacing: 1px;
    display: block;
}

.logo {
    display: block;
    height: 2.2rem;
    right: 48.3%;
    margin: auto;
    z-index: 50;
}

.cart-logo-holder {
    display: flex;
    align-items: center;
}

.trolley-icon {
    height: 2.2rem;
}

#cart-total {
    position: relative;
    display: flex;
    color: #fff;
    background-color: #E21020;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 300;
    align-items: center;
    justify-content: center;
    right: 7px;
    top: -17px;
}

.container {
    padding: auto;
}

.horizontal-line {
    display:flex;
    align-items: center;
    justify-content: center;
}

.line {
    display: block;
    width: 85%;
    height: 10rem;
    position: relative;
    align-items: center;
}

.line:before{
    content: '';
    position: absolute;
    margin: 5px;
    height: 1px;
    background: #606060;
    width: 100%;
    top: 75%
}

.horizontal-line::before {
    right: 0;
}

.about-us {
    position: relative;
    display: flex;
    height: 70vh;
    background: linear-gradient(
    #a87e30,
    #c6a353,
    #d2b562,
    #ceaf5d,
    #c6a353,
    #c09b4c,
    #af8639
    );
    z-index: 30;
}


.left-part {
    flex:1;
    display: flex;
    justify-content: center;
}

.left-part div {
    width: 300px;
    margin-block: auto;
    margin-inline: auto;
}

.left-part div h1 {
    font-size: clamp(15px, 2rem, 200px);
    font-weight: 400;
}

.left-part div p{
    font-size: clamp(10px, 1.1rem, 100px);
    font-weight: 300;    
}

.right-part {
    margin: 0;
    padding: 0;
    flex: 1;
}

.two-siluets {
    position: relative;
    height: 100%;
    width: 100%;
    bottom:-90px;
    right: 30px;
}

.curved-line-header{
    filter:drop-shadow(15px 20px 20px rgba(0, 0, 0, 0.5));
    padding: -1px;
}

.our-product p {
    text-align: center;
    font-size: 45px;
    font-weight: 300;
}

.product-holder {
    display: flex;
    position: relative;
    max-width: 1200px;
    margin-inline: auto;
    max-height: 600px;
    margin-bottom: 200px;
}

.product-holder:not(:last-of-type):after {
    content: "";
    display:block;
    width: 100%;
    height: 2px;
    background: #606060;
    position: absolute;
    left: 0;
    bottom: -80px;
}

.product-item {
    display:flex;
    flex: 1;
    align-items: center;
    flex-direction: row;
}

.product-holder:nth-of-type(2n+1){
    flex-direction: row-reverse;
}

.product-holder:nth-of-type(2n+1) .product-img{
    justify-content: right;
}

.product-img {
    display: flex; 
    overflow-x: hidden;
    overflow-y: hidden;
    max-width: 100%;
    max-height: 100%;
    align-items: center;
}

.right {
    justify-content: right;
}

.left {
    justify-content: left;
}

.product-image {
    max-height: 90%;
    max-width: 90%;
}

.description-item {
    width: 100%
}

.description-item {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.description-item h1 {
    font-size: 40px;
    font-weight: 100;
    margin-block: 25px;
    text-align: left;
}

.max-900px {
    display: none;
    font-size: 50px;
    font-weight: 300;
    margin-block: 25px;
}

.max-900 {
    display: none;
}

.description-item p {
    margin-block: 25px;
    font-size: 25px;
    width: 100%;
    font-weight: 100;

}

.own-text-wrapper{
    height: 5rem;
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 30px;
}

.own-text{
    width: 96%;
    height: 70%;
    resize: none;
    font-family: 'Kalam', cursive;
    font-size: 15px;
    border-radius: 9px;
    border: 1px solid #606060;
    padding-left: 20px;
    padding-bottom: 30px;
}

.size {
    display: flex;
    justify-content: space-between;
}

.size p {
    font-size: 28px;
    margin-block: 10px;
}

.color {
    display: flex;
    justify-content: space-between;
}

.color p {
    font-size: 28px;
    margin-block: 10px;
}

.sizes {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.size input[type="radio"] {
    display: none;
}

.size label {
    position: relative;
    color: #b2b2b2;
    font-size: 20px;
    border: none;
    min-width: 18px;
    text-align: center;
    cursor: pointer;
    margin-inline: 10px;
}

.size input[type="radio"]:checked + label::after {
    position: absolute;
    content: "";
    aspect-ratio: 1/1;
    width: max(120%, 30px);
    border: 2px solid #7f7f7f;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

.size input[type="radio"]:checked + label {
    color: black;
}

.colors {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.color input[type="radio"] {
    display: none;
}

.color label {
    position: relative;
    align-items: center;
    padding: 5px;
    width: 15px;
    height: 15px;
    cursor: pointer;
    border-radius: 50%;
    margin-inline: 10px;
    border: 1px solid #b2b2b2;
}

.color input[type="radio"]:checked + label::after {
    position: absolute;
    content: "";
    height: 31px;
    width: 31px;
    border: 2px solid #7f7f7f;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

.price-and-button {
    width:100%;
    display: flex;
    justify-content: space-between;
    margin-inline:0;
    align-items: center;
    height: 90px;
}

.price-and-button p {
    font-size: 20px;
}

.add-button {
    font-family: 'Kalam', cursive;
    cursor: pointer;
    height: 50px;
    width: 200px;
    font-size: 18px;
    color: white;
    background: #336042;
    border: none;
    border-radius: 9px;
}

.curved-line-footer {
    bottom: 0;
    color: linear-gradient(
        to right,
        #066b30,
        #182918)
}

.footer {
    background: linear-gradient(
        to right,
        #066b30,
        #182918);
    padding-top: 20px;
    padding-bottom: 0;
    margin-top: 0;
}

.footer > *{
    margin:0;
    padding:0;
    box-sizing: border-box;
}

.footer-container {
    width: 80%;
    margin: auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-col {
    width: 33%;
    padding: auto;
}

.footer-col h4 {
    font-size: 18px;
    color: #ffffff;
    margin-bottom: 30px;
    position: relative;
}

.footer-col h4::before {
    content: '';
    position: absolute;
    left:0;
    bottom: -10px;
    background-color: #D8AA30;
    height: 2px;
    box-sizing: border-box;
    width: 50px;
}

.footer-col ul li:not(:last-child) {
    margin-bottom: 2px
}

.footer-col ul li a {
    font-size: 16px;
    text-decoration: none;
    font-weight: 300;
    color: #bbbbbb;
    display:block;
    transition: all 0.3s ease;
}

.footer-col ul li {
    font-size: 16px;
    text-decoration: none;
    font-weight: 300;
    color: #bbbbbb;
    display:block;
    transition: all 0.3s ease;
}

.footer-col ul li a:hover {
    color: #ffffff;
    padding-left: 5px;
}

.footer-col .social-links a {
    display: inline-block;
    height: 40px;
    width: 40px;
    background-color: rgba(255, 255, 255, 0.2);
    margin: 0 10px 10px 0;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    color: #ffffff
}

.footer-col .social-links a:hover {
    color: #24262b;
    background-color: #ffffff;

}

.copyright {
    display: flex;
    position: relative;
    color: #A5A5A5;
    justify-content: center;
    padding-top: 30px
}

.copyright p {
    display: flex;
    font-weight: 200;
}

.copyright::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #606060;
    position: absolute;
    top: 10;

}

@media(max-width: 1250px){
    .footer-col {
        width: 45%;
        margin-bottom: 30px;
        
    }
}

@media(max-width: 750px){
    .footer-col {
        width: 100%;
        margin-bottom: 30px;
        
    }
}

.cart-background{
    background-color: #F8F7F5;
    margin: 0;
    padding: 0;
}

.cart-background h1 {
    max-width: 800px;
    padding-top: 100px;
    padding-bottom: 20px;
    margin-inline: auto;
    font-size: 30px;
    font-weight: 400;
    text-align: center;
}

.empty-cart p {
    text-align: center;
    font-size: 35px;
    font-weight: 300;
}

.cart-container {
    max-width: 800px;
    margin: auto;
    background-color: white;
    padding-block: 40px;
    padding-inline: 15px;
    border: 1px solid #e5e5e5
}

.cart-container > * {
    margin-bottom: 20px;

}

.cart-container-row {
    display: flex;
    flex-wrap: nowrap;
}

.cart-container-row > * {
    margin-inline: 20px;
    max-height: 170px;
}

.cart-row-img {
    display: flex;
    margin: 0px;
    flex: 2;
    align-items: center;
    justify-content: center;
}

.cart-row-img img {
    max-width: 100%;
    max-height: 100%;
}

.cart-row-item {
    flex: 1.5
}

.cart-row-item p {
    margin-top: 0;
    font-weight: 300;
}


.cart-row-own-text {
    flex: 1;
}

.cart-row-own-text p {
    font-weight: 300;
}


.cart-row-quantity {
    flex: 1.5;
    display: flex;
    align-items: center;
    margin:0;
    justify-content: left;
}

.cart-row-quantity div {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #E5E5E5
}

.cart-row-quantity div form{
    display: flex;
    align-items: center;
}

.plus-minus  {
    border: none;
    background-color: white;
    margin: auto;
    padding: 0;
    cursor:pointer;
}
.cart-row-quantity div .plus-minus img {
    display: flex;
    position: relative;
    width: 25px;
    margin-inline: 17px;
    cursor: pointer;
}

.cart-row-quantity div p {
    font-size: 23px;
    min-width: 25px;
    margin-block: 15px;
    text-align: center;
}

.add-or-subtract {
    display: flex;
    flex: 1;    
}

.checkout{
    display: block;
    justify-content:baseline;
    margin-inline: 15px;
    margin-block: 0;
    align-items:end;
}

.checkout > * {
    display: flex;
    position: relative;
    justify-content: space-between;
    color: #757575;
    font-size: 20px;
    font-weight: 100;
}

.checkout p {
    margin-bottom: 0;
}

.checkout p span {
    font-size: 15px;
}

.shipping-payment {
    margin-bottom: 15px;
    padding-bottom: 8px
}

.shipping-payment::after {
    position: absolute;
    content: "";
    height: 2px;
    background-color: #757575;
    width: 100%;
    bottom: 0
}

.checkout-btn {
    height: 50px;
    width: 300px;
    border: none;
    background: linear-gradient( to right, #066b30, #182918);
    color: white;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.2s;
}

.checkout-btn:hover {
    transform: scale(1.01)
}


.shipping-info {
    display: block;
    max-width: 800px;
    margin: auto;
    background-color: white;
    padding-inline: 15px;
}

.shipping-form {
    display: flex;
    flex-wrap: wrap;
}

.field-form {
    display: flex;
    flex-direction: column;
    width: 50%;
    margin-top: 20px;
}

.form-control {
    font-family: 'Kalam', cursive;
    width: 80%;
    margin: auto;
    padding: 20px;
    border: 1px solid #E5E5E5;
}

.address-field-label {
    width: 90%;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-inline: auto;
    font-weight: 500;
}

.field-form-btn {
    display: flex;
    width: 100%;
    margin-block: 30px;
    justify-content: right;
}

.order-and-pay {
    font-family: 'Kalam', cursive;
    height: 50px;
    width: 300px;
    margin-right: 50px;
    border: none;
    background: linear-gradient( to right, #066b30, #182918);
    color: white;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.2s;
}

.order-and-pay:hover {
    transform: scale(1.01)
}


.added-to-cart {
    position: absolute;
    width: 350px;
    height: 200px;
    right: 50%;
    transform: translateX(50%);
    top: calc(var(--yPosition) + 45vh);
    margin-inline: auto;
    border-radius: 20px;
    background: linear-gradient(
    #a87e30,
    #c6a353,
    #d2b562,
    #ceaf5d,
    #c6a353,
    #c09b4c,
    #af8639
    );
    z-index: 500;
    animation: fade-out 1500ms forwards;
    animation-delay: 1s;
}

.added-to-cart p {
    font-size: 25px;
    display: flex;
    justify-content: center;
}

.added-to-cart img {
    display: flex;
    margin-top: 30px;
    margin-inline: auto;
    width: 100px;
    height: 100px;
}


.ordered-and-payed {
    position: absolute;
    width: 350px;
    height: 200px;
    right: 50%;
    transform: translateX(50%);
    top: 30vh;
    margin-inline: auto;
    border-radius: 20px;
    background: transparent;
    z-index: 500;
    animation: fade-out 2000ms forwards;
    animation-delay: 1500ms;
}

.ordered-and-payed p {
    font-size: 25px;
    display: flex;
    justify-content: center;
}

.ordered-and-payed img {
    display: flex;
    margin-top: 30px;
    margin-inline: auto;
    width: 100px;
    height: 100px;
}

@media(max-width: 900px){

    .right-part {
        display: none;
    }

    .about-us {
        height: 450px;
    }

    .our-product p {
        display: none;
    }

    .max-900px {
        display: flex;
        justify-content: center;
        text-align: center;
    }

    .description-item h1 {
        display: none;
    }

    .product-holder {
        margin-bottom: 100px;
    }

    .product-holder:nth-of-type(n){
        flex-direction: column;
        width: 350px;
        max-height: fit-content;
    }
    
    .product-holder:nth-of-type(n) .product-img {
        justify-content: center;
    }

    .description-item p {
        font-size: 20px;
        font-weight: 300;
    }

    .description-item h1 {
        font-size: 30px;
        margin-top: 50px;
        margin-bottom: 0
    }

    .product-item {
        flex: auto;
    }

    .size label {
        margin-inline: 5px;
    }

    .added-to-cart {
        top: calc(var(--yPosition) + 35vh);
        background: linear-gradient(
            #a87e30,
            #c6a353,
            #d2b562,
            #ceaf5d,
            #c6a353,
            #c09b4c,
            #af8639
            );
    }
}

@media(max-width: 600px){

    .cart-row-img {
        display: none;
    }

    .cart-row-item {
        margin-right: 0;
        margin-left: 5px;
    }

    .cart-row-quantity div .plus-minus img {
        margin-inline: 10px;
    }

    .cart-row-quantity {
        justify-content: center;
    }

    .shipping-form {
        flex-direction:column;
    }

    .field-form{
        width: 100%;
    }

    .field-form-btn {
        display: flex;
        width: 100%;
        margin: auto;
        justify-content:center;
    }

    .order-and-pay {
        margin-inline: auto;
        margin-top: 30px;
        margin-bottom: 70px;
    }
}

.pravnik {
    max-width: 1200px;
    margin: auto;
    margin-block: 50px;
}

.pravnik ul {
    padding-left: 40px;
}

.pravnik ul li {
    list-style-type: disc;
}

.pravnik ul li ul li {
    list-style: circle;
}

.pravnik h3 {
    margin-top: 50px;
    margin-bottom: 20px;
    font-size: 25px;
}

.cookies {
    display: flex;
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: white;
    z-index: 1000;
    justify-content: center;
}

.hide {
    display: none;
    transition: all 0.3s ease;
}

.cookies p {
    text-align: center;
}

.cookie-button {
    border: none;
    background-color: transparent;
    font-size: 20px;
    cursor: pointer;
}

.why-we-here {
    width: 1000px;
    margin-inline: auto;
}

.why-we-here h1 {
    margin-top: 50px;
    text-align:center;
    font-size: 35px;
    font-weight: 300;
}

.why-we-here p {
    text-align:center;
    font-size: 18px;
    font-weight: 200;
    max-width: 800px;
    margin-inline: auto;
    margin-bottom: 60px;
}

.why-we-here .ending {
    text-align:center;
    font-size: 18px;
    font-weight: 200;
    max-width: 800px;
    margin-inline: auto;
    margin-top: 100px;
    margin-bottom: 0;
}

.row {
    display: flex;
    margin-top: 30px;
    padding: 0;
}

.row:nth-of-type(2){
    flex-direction: row-reverse;
}

.column-text {
    flex: 1;
    margin-block: auto;
    font-size: 17px;
    font-weight: 200;
    padding-inline: 25px;
}

.column-img {
    flex: 1;
    margin-block: auto;
    margin-left: 0px;
    margin-right: 5px;
}

.column-img img {
    max-width: 100%;
    max-height: 100%;
    filter: drop-shadow(2px 2px 20px rgba(0,0,0,0.3));
}

@media(max-width: 1000px){
    .why-we-here{
        width: 100%;
    }

    .row:nth-of-type(n) {
        flex-direction: column;
        max-width: 600px;
        margin-inline: auto;
    }

    .row > * {
        margin-block: 10px;
    }

    .column-text {
        padding-inline: unset;
    }

    .why-we-here p{
        max-width: 550px;
    }    
    
    .why-we-here .ending {
        margin-top:0;
        margin-inline: 15px;
    }
}

@media(max-width: 600px){
    .column-img {
        margin-inline: 15px;
    }

    .column-text {
        margin-inline: 15px;
    }

    .why-we-here p {
        margin-bottom: 0;
    }
}

@keyframes fade-out {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}