/* UTILS */
.aspect-16-9 {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
}

.aspect-4-3 {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: auto;
}

.aspect-1-1 {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
}

.video-slide .i-overlay{
    position: absolute;
    bottom: 0;
    left: 0;
    min-height: calc(50% + 40px);
    max-height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.video-slide .i-overlay svg {width: 80px; transition: all 0.2s ease-in-out;}
.video-slide:hover .i-overlay svg {width: 90px;}


.section-margin{margin-top:80px; margin-bottom: 80px}
.section-padding{padding-top:80px;padding-bottom: 80px;}

.anchor {
    position: absolute;
    z-index: -1;
    display: block !important;
    top: -80px;
}

@media all and (max-width: 991px){
    .section-margin{margin-top:50px; margin-bottom: 50px}
    .section-padding{padding-top:50px;padding-bottom: 50px;}
}

/* main */
main {flex-grow:1; position: relative; overflow:hidden;}


/* pagination */
.pagination {
    display: flex;
    justify-content: center !important;
    gap: 8px;
}

.pagination .page-item .page-link {
    color: var(--color-primary);
    background-color: var(--color-white);
    border-radius: 50%;
    padding: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    transition: all 0.2s ease-in-out;
}

.pagination .page-item:not(.active) .page-link:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.pagination .page-item.active .page-link {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.pagination .page-item .page-link[aria-label="Previous"],
.pagination .page-item .page-link[aria-label="Next"],
.pagination .page-item .page-link[aria-label="First"],
.pagination .page-item .page-link[aria-label="Last"] {
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
}

.pagination .page-item .page-link[aria-label="Previous"]:hover,
.pagination .page-item .page-link[aria-label="Next"]:hover,
.pagination .page-item .page-link[aria-label="First"]:hover,
.pagination .page-item .page-link[aria-label="Last"]:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.pagination .page-item .page-link[aria-label="First"],
.pagination .page-item .page-link[aria-label="Last"]{
    display: none;
}



#contactBtnFixed {
    position: fixed;
    z-index: 95;
    bottom: 0;
    border-radius: 0;
    width: 100%;
    height: auto;
    min-height: auto;
    background: var(--color-primary);
    box-shadow: 1px 1px 2px black;
    cursor:pointer;
    padding:5px
}
#contactBtnFixed.v-green {background: var(--color-green);}


/* BX-ACCENTS */
.bx-left-accent-image{
    position: absolute;
    left:0;
    bottom: 0;
    z-index: 0;
}
.bx-right-accent-image{
    position: absolute;
    right:0;
    z-index: 0;
}
@media all and (max-width: 1920px){
    .bx-left-accent-image,
    .bx-right-accent-image{max-width: 100px;}
}

@media all and (max-width: 1650px){
    .bx-left-accent-image,
    .bx-right-accent-image{display: none;}
}


/* ######## .section-b2c-01 ######## */
.section-b2c-01 .i-photo {position: relative;}
.section-b2c-01 .i-photo .i-photo-accent {
    position: absolute;
    transform: translate(-50%, 0);
    left: -50px;
    top: 0;
    z-index: 2;
}

@media all and (max-width: 1800px){
    .section-b2c-01 .i-photo .i-photo-accent {
        max-width: 400px;
        left: 60px;
    }
}

/* ######## .section-b2c-03 ######## */
.section-b2c-03 .i-item {
    position: relative;
    z-index: 1;
    text-align: center;
}
.section-b2c-03 .i-item img {width: 100%;}
.section-b2c-03 .i-item .btn {
    position: absolute;
    z-index: 2;
    right: 6%;
    bottom: 28%;
}

@media all and (max-width: 1200px){
    .section-b2c-03 .i-item .btn {position: relative; right: auto; bottom: auto; top: -40px;}
}


/* .section-title */
.section-title {font-size: 15px; font-weight: 300; var(--color-primary); opacity: 0.5; margin-bottom: 15px;}
@media all and (max-width: 991px) {
    .section-title {font-size: 10px; margin-bottom: 5px;}
}

/* BX-FAQ */
.bx-faq {
    border: 2px solid var(--color-primary);
    border-radius: 50px;
    margin-bottom: 15px;
    background-color: var(--color-white);
}
.bx-faq .i-question {
    min-height: 40px;
    color: var(--color-default);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 30px;
    font-weight: 500;
    font-size: 22px;
}
.bx-faq .i-question .i-arrow {color: var(--color-primary);}
.bx-faq .i-question[aria-expanded="true"] .i-arrow {transform: rotate(180deg)}
.bx-faq .i-answer {padding: 5px 30px 20px 30px;}
.bx-faq .i-answer p {margin-bottom: 15px;}
.bx-faq .i-answer p:last-child {margin-bottom: 0;}

@media all and (max-width: 991px) {
    .bx-faq .i-question {font-size: 16px;}
}


.bx-post{display: flex;background: var(--color-white);   transition:all .3s; padding:15px; border-radius: 20px}
.bx-post.v2{flex-direction: column; height:100%; padding:0;}
.bx-post.v-teaser{padding: 0; margin:25px 0; align-items: start;}
.bx-post .i-img-wrapper{
    width: 260px;
    height: 360px;
    min-width: 260px;
    max-width: 260px;
    margin-right: 10px;
    border-radius:20px;
    overflow:hidden;
}
.bx-post.v2 .i-img-wrapper{max-width: unset; width: 100%;}
.bx-post.v-teaser .i-img-wrapper{max-width: unset; min-width: 33%; width: 33%; max-height: 180px; height:unset; margin-right: 20px; aspect-ratio: 4 / 3}
.bx-post .i-img-wrapper .i-img{
    object-fit: cover;
    object-position: center center;
    height: 100%;
    width: 100%;
    transition:all .3s;
}
.bx-post .i-content{
    display:flex;
    flex-direction: column;
    padding:20px 10px;
    color:var(--color-default)
}
.bx-post.v2 .i-content{padding:20px 40px; flex-grow: 1}
.bx-post.v-teaser .i-content{padding: 0}

.bx-post:hover  .i-img,
.bx-post:focus .i-img{
    transform:scale(1.3)
}
.bx-post:hover,
.bx-post:focus{
    background-color: var(--color-alt);
}

.bx-post .i-content .i-title{color:var(--color-default); font-weight: bold;}
.bx-post:not(.v2) .i-icon{
    position: absolute;
    right: 15px;
    bottom: 15px;
}

/*.bx-post.v2 .i-icon{bottom:40px; right:25px;}*/
@media all and (max-width: 991px){
    .bx-post:not(.v-teaser){flex-direction: column}
    .bx-post .i-img-wrapper{
        width: 100%;
        height: 180px;
        min-width: unset;
        max-width: unset;
    }

    .bx-post:not(.v2) .i-icon{
        position: relative;
        bottom: 37px;
        right:0;
        margin-left: auto;
    }
}

/******************************* .accent-star ********************************/
.accent-star {
    z-index: -1;
    position: absolute;
}

@media all and (max-width: 1250px){
    .accent-star {display: none;}
}

/******************************* .bx-case-study ********************************/
.bx-case-study {
    border: 2px solid var(--color-primary);
    background: var(--color-alt);
    padding: 20px;
    border-radius: 25px;
    position: relative;
}

.bx-case-study .i-author {
    position: absolute;
    right: 50px;
    top:0;
    transform: translateY(-50%);
    height: 250px;
}


@media all and (max-width: 991px){
    .bx-case-study .i-author {height: 140px; right: 10px;}
}


/******************************* .bx-restaurant ********************************/
.bx-restaurant {
    width: 100%;
    color: var(--color-default);
    padding: 10px;
    border: 2px solid transparent;
    border-radius: 5px;
    background: #fff;
}
.bx-restaurant:hover {border-color: var(--color-primary);}

.bx-restaurant .i-in1 {
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 10px;
}

.bx-restaurant .i-in2 {
    display: flex;
}

.bx-restaurant .i-logo {
    flex: 0 0 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    border: 1px solid var(--color-gray);
    border-radius: 5px;
    vertical-align: middle;
    margin: 0 20px 0 0;
}


@media all and (max-width: 992px) {
    .bx-restaurant .i-logo { flex: 0 0 100px; height: 100px; margin: 0 15px 0 0;}
}


/* OPINIONS */
.bx-img-with-caption .i-content{position:relative;}
.bx-img-with-caption .i-author{position:absolute; bottom:20px; left:0; color:var(--color-white); width: 100%; text-align: center; z-index:5; font-size:25px; font-weight: bold;}


.bx-paper{
    display: flex;
    justify-content: center;
    align-items: center;

    border: 2px solid var(--color-primary);
    border-radius: 50px;
    height: 100%;
    position: relative;
}

.bx-features{padding: 45px 20px !important}
.bx-features i{position: absolute; top:20px; right:20px; font-size: 27px; color:var(--color-primary);}

.bx-features p{margin-bottom:0;}

/* BX-CLICKABLE-BOX */
.bx-clickable-box{
    text-align: center;
    color:var(--color-default);
    display: flex;
    flex-direction: column;
    align-items: center;
    border:2px solid var(--color-primary);
    border-radius:25px;
    padding:45px;
    height: 100%;
    background: var(--color-white);

}

.bx-clickable-box .i-icon{
    color: var(--color-primary);
    position:absolute;
    right: 40px;
    bottom: 50%;
    transition:all .5s ease;
    transform:translateY(50%);
}


 .bx-clickable-box.v-big .i-icon{
    color: var(--color-primary);
    position:absolute;
    right: 40px;
    bottom: 50px;
    transition:all .5s ease
}



/*hover- tytuł + box*/
.bx-clickable-box:hover, .bx-clickable-box:focus{
    background: var(--color-primary);
    color:var(--color-white);
     transition:all .5s ease
}
.bx-clickable-box .i-title{margin-bottom:0; font-size: 30px;}
.bx-clickable-box .i-desc {margin-top:30px; font-size: 20px; font-weight: 500;}
.bx-clickable-box img:not(.i-icon){margin-top:auto !important;}
.bx-clickable-box:hover .i-title, .bx-clickable-box:focus .i-title{color:var(--color-white) !important; transition:all .3s ease}

.bx-clickable-box:hover .i-icon, .bx-clickable-box:focus .i-icon{
    transform: scaleY(1.4); transform-origin: center;
    color:var(--color-white)
}

.bx-clickable-box:hover .i-icon, .bx-clickable-box:focus .i-icon{
    transform: translateY(50%) scaleY(1.4) ;
    color:var(--color-white)
}

@media all and (max-width: 991px){
    .bx-clickable-box{padding:15px;}
    .bx-clickable-box .i-title{max-width: 190px; font-size: 20px;}
    .bx-clickable-box .i-desc{font-weight: 400; margin-top: 15px;}
    .bx-clickable-box .i-icon, .bx-clickable-box .i-icon{
        font-size: 27px !important;
    }

    .bx-features{padding: 6px 40px !important}
    .bx-features i{font-size: 18px; top: calc(50% - 9px) !important;}

}


.features-table {width: 100%;border-collapse: collapse; background-color: var(--color-white); text-align: center; vertical-align: middle; table-layout: fixed;}
.features-table th,
.features-table td {
    padding: 40px 15px;
    border-right: 2px solid var(--color-alt);
    min-height: 60px;
    vertical-align: middle;
}

.features-table th:first-child,
.features-table td:first-child {width: 25%;}

.features-table th {
    font-weight: bold;
    color: var(--color-default);
}

.features-table th img {
    max-height: 68px;
    display: block;
    margin: 0 auto;
}


.features-table th:last-child,
.features-table td:last-child {
    background: var(--color-alt);
    border-right: none;
}

.features-table td i {
    font-size: 1.8em;
    color: var(--color-primary);
}

.features-table td i.fa-times {color: var(--color-red);}

@media all and (max-width: 991px){
    .features-table {table-layout: auto;}
    .features-table th, .features-table td {padding: 20px 15px; min-width: 100px;}
}

/******************************* ICO GO TOP ********************************/
@keyframes pulse-green {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgb(28, 209, 153);
    }

    10% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(28, 209, 153, 0.73);
    }

    50% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(255, 121, 63, 0);
    }
}
.ico-go-top {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    background: var(--color-primary);
    border:1px solid var(--color-white);
    position: fixed;
    z-index: 88;
    right: 20px;
    bottom: 100px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    content: '';
    color: var(--color-white);
    font-size: 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ico-go-top:hover {animation: pulse-green 2s infinite;}
.ico-go-top.v-green {background: var(--color-green); color: var(--color-default);}
.ico-go-top:hover::after {opacity: 0.8;}

/******************************* .desktop-application-link ********************************/
.desktop-fixed-link {position: fixed; display: block; top: 220px; transition: all .3s ease-in-out; z-index: 1000; background: var(--color-green); border-radius: 0 15px 15px 0;}
.desktop-fixed-link:hover,
.desktop-fixed-link:focus {opacity: .9; padding-left: 10px;}

.desktop-fixed-link.v-b2c {background: var(--color-primary);}


/******************************* FOOTER ********************************/
.footer {
    position: relative;
}

/*//cennik*/
@media screen and (min-width: 992px) {
    #dolar-1 {left: -80px;top: 45%;max-width: 110px;}
    #dolar-2 {right: 10%;top: 10px;max-width: 80px;}
    #dolar-3 {right: 15%;top: -60px; max-width: 110px;}
    #shuriken-1 {right: 30%;bottom: 10px;max-width: 60px;}
    #shuriken-2 {right: -30px;top: 16%;max-width: 111px;}
}

/* Mobile/Tablet styles (up to 991px) */
@media screen and (max-width: 991px) {
    #dolar-1 {left: 5%;top: 10%;max-width: 40px; display: none}
    #dolar-2 {right: 10%;top: -7%; max-width: 50px;}
    #dolar-3 {display: none;}

    #shuriken-1 {left: 15px;top: 15px;max-width: 40px;}
    #shuriken-2 {right: 15px;top: 20px;max-width: 43px;}
}



@media all and (max-width: 991px) {
    #starOpener1{left: 38%; transform: unset;}
    #starOpener3{transform: scale(.6); right:4% !important;}
}


#kontakt{
    border-radius:80px;
    background-color: var(--color-primary);
}


@media all and (max-width: 1199px){
    .anchor {top: -60px;}
}

@media all and (max-width: 991px){

    #kontakt{
        padding-top: 48px;
        border-radius: 25px 25px 0 0 !important;
        margin-bottom:0 !important;
    }

    .ico-go-top{
        right:5px !important;
        bottom:70px !important;
    }
}