.f-xsmall {
    font-size: 12px;
}

.f-small {
    font-size: 16px;
}

.f-medium {
    font-size: 18px;
}

.small-fonts {
    font-size: 12px;
    color: var(--grey-4);
}

.small-fonts-dark {
    font-size: 11px;
    color: var(--dark-font);
}

.f-300 {
    font-weight: 300;
}

.f-400 {
    font-weight: 400;
}

.f-700 {
    font-weight: 700;
}

.bold {
    font-weight: 600;
}

.pointer {
    cursor: pointer;
}

.show {
    display: flex;
}

.hide {
    display: none !important;
}

/* --------------
Margin
-------------- */
.ml-5px {
    margin-left: 5px;
}

.ml-10px {
    margin-left: 10px;
}

.ml-20px {
    margin-left: 20px;
}

.ml-30px {
    margin-left: 30px;
}

.ml-40px {
    margin-left: 40px;
}

.ml-50px {
    margin-left: 50px;
}

.ml-60px {
    margin-left: 60px;
}

.mr-5px {
    margin-right: 5px;
}

.mr-10px {
    margin-right: 10px;
}

.mr-30px {
    margin-right: 30px;
}

.mr-20px {
    margin-right: 20px;
}

.mr-40px {
    margin-right: 40px;
}

.mb-5px {
    margin-bottom: 5px;
}

.mb-10px {
    margin-bottom: 10px;
}

.mb-20px {
    margin-bottom: 20px;
}

.mb-30px {
    margin-bottom: 30px;
}

.mb-40px {
    margin-bottom: 40px;
}

.mb-60px {
    margin-bottom: 60px;
}

.mb-80px {
    margin-bottom: 80px;
}

.mb-120px {
    margin-bottom: 120px;
}

.mt-5px {
    margin-top: 5px;
}

.mt-10px {
    margin-top: 10px;
}

.mt-20px {
    margin-top: 20px;
}

.mt-30px {
    margin-top: 30px;
}

.mt-40px {
    margin-top: 40px;
}

.mt-50px {
    margin-top: 50px;
}

.mt-60px {
    margin-top: 60px;
}

.mt-80px {
    margin-top: 80px;
}

/* --------------
Padding
-------------- */
.p-10px {
    padding: 10px;
}

.p-15px {
    padding: 15px;
}

.p-20px {
    padding: 20px;
}

.pb-10px {
    padding-bottom: 10px;
}

.pb-20px {
    padding-bottom: 20px;
}

.pb-30px {
    padding-bottom: 30px;
}

.pb-40px {
    padding-bottom: 40px;
}

.pb-50px {
    padding-bottom: 50px;
}

.pb-60px {
    padding-bottom: 60px;
}

.pl-10px {
    padding-left: 10px;
}

.pr-10px {
    padding-right: 10px;
}

.pt-10px {
    padding-top: 10px;
}

.pt-20px {
    padding-top: 20px;
}

.pt-30px {
    padding-top: 20px;
}

.pt-40px {
    padding-top: 40px;
}

/* --------------
Width
-------------- */
.w-10pr {
    width: 10%;
}

.w-20pr {
    width: 20%;
}

.w-25pr {
    width: 25%;
}

.w-30pr {
    width: 30%;
}

.w-40pr {
    width: 40%;
}

.w-45pr {
    width: 45%;
}

.w-50pr {
    width: 50%;
}

.w-60pr {
    width: 60%;
}

.w-70pr {
    width: 70%;
}

.w-72px {
    width: 72px;
}

.w-80pr {
    width: 80%;
}

.w-90pr {
    width: 90%;
}

.w-100pr {
    width: 100%;
}

.w-auto {
    width: auto;
}

.w-33pr {
    width: 33%;
}

.w-20px {
    width: 20px;
}

.w-30px {
    width: 30px;
}

.w-38px {
    width: 38px;
}

.w-40px {
    width: 40px;
}

.w-50px {
    width: 50px;
}

.w-60px {
    width: 60px;
}

.w-70px {
    width: 70px;
}

.w-72px {
    width: 72px;
}

.w-80px {
    width: 80px;
}

.w-84px {
    width: 84px;
}

.w-90px {
    width: 90px;
}

.w-100px {
    width: 100px;
}

.w-120px {
    width: 120px;
}

.w-130px {
    width: 130px;
}

.w-140px {
    width: 140px;
}

.w-150px {
    width: 150px;
}

.w-160px {
    width: 160px;
}

.w-180px {
    width: 180px;
}

.w-200px {
    width: 200px;
}

.w-230px {
    width: 230px;
}

.w-250px {
    width: 250px;
}

.w-270px {
    width: 270px;
}

.w-300px {
    width: 300px;
}

.w-400px {
    width: 400px;
}

.mw-400px {
    min-width: 400px;
}

.w-800px {
    width: 800px;
}

.w-815px {
    width: 815px;
}

.w-1000px {
    width: 1000px;
}

.w-1240px {
    width: 1240px;
}

.w-1400px {
    width: 1240px;
    position: relative;
}

/* --------------
Height
-------------- */
.h-20px {
    height: 20px;
}

.h-50px {
    height: 50px;
}

.h-80px {
    height: 80px;
}

.mh-50px img {
    max-height: 50px;
}

.h-240px {
    height: 240px;
}

.h-300px {
    height: 300px;
}

.mh-400px {
    min-height: 400px;
}

.mh-700px {
    min-height: 700px;
}

.mvh-70vh {
    height: 70vh;
}

.box-center {
    margin-right: auto;
    margin-left: auto;
}

/* --------------
Grid kolumny
-------------- */
.grid-2col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(2, 1fr);
}

.grid-3col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1240px) {
    .grid-3col {
        display: grid;
        grid-gap: 10px;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {
    .grid-3col {
        grid-template-columns: repeat(1, 1fr);
    }
}

.grid-4col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1240px) {
    .grid-4col {
        display: grid;
        grid-gap: 10px;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {
    .grid-4col {
        grid-template-columns: repeat(1, 1fr);
    }
}

.grid-5col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(5, 1fr);
}

.grid-6col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(6, 1fr);
}

@media (max-width: 1240px) {
    .grid-6col {
        display: grid;
        grid-gap: 10px;
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 800px) {
    .grid-6col {
        grid-template-columns: repeat(1, 1fr);
    }
}

.grid-7col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(7, 1fr);
}

.grid-8col {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(8, 1fr);
}

.grid-4col-25w {
    display: grid;
    grid-template-columns: 2.5fr 2.5fr 2.5fr 2.5fr;
}

.grid-2col-80px-auto {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 80px auto;
}

.grid-2col-auto-260px {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: auto 260px;
}

.grid-3col-260px-auto-260px {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 260px auto 260px;
}

.grid-260px-auto-260px-260px {
    display: grid;
    gap: 20px;
    width: auto;
    grid-template-columns: 260px auto 260px 260px;
}

.grid-2col-260px-auto {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 260px auto;
}

.grid-2col-320px-auto {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 320px auto;
}

.grid-2col-30pr-70pr {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 3fr 7fr;
}

.grid-2col-75pr-25pr {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 7.5fr 2.5fr;
}

.grid-2col-40pr-60pr {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 4fr 6fr;
}

.grid-3col-160px-auto-260px {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 160px auto 260px;
}

.grid-2col-100px-auto {
    display: grid;
    grid-gap: 20px;
    width: auto;
    grid-template-columns: 100px auto;
}

.grid-2col-50w-50w {
    grid-template-columns: 50% 50%;
}

.grid-2col-70w-30w {
    display: grid;
    grid-template-columns: 70% 30%;
}

.grid-2col-60w-40w {
    grid-template-columns: 60% 40%;
}

.c-1-l {
    display: -webkit-box;
    max-width: 200px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.c-2-l {
    display: -webkit-box;
    max-width: 200px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --------------
Szerokość
-------------- */
.flex-grow {
    flex-grow: 1;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-baseline {
    align-items: baseline;
}

.align-items-center {
    align-items: center;
}

.space-between {
    justify-content: space-between;
}

.flex-direction-column {
    flex-direction: column;
}

.flex-direction-row {
    flex-direction: row;
}

.flex {
    display: flex;
}

.ftr {
    margin-left: auto;
    text-align: right;
    justify-content: flex-end !important;
}

.ftl {
    margin-right: auto;
    text-align: right;
    justify-content: flex-start !important;
}

.ftc {
    margin-left: 0 auto;
    text-align: center;
    justify-content: center !important;
}

.grid {
    display: grid;
    grid-gap: 20px;
}

.grid-gallery {
    display: grid;
    grid-gap: 20px;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.font-size-20px {
    font-size: 20px;
}

.border-bottom {
    border-bottom: 1px dashed #dedede;
}

.border-bottom:last-child {
    border-bottom: none;
}

.ar-16-9 img,
.ar-16-9 {
    background-color: #f3f3f3;
    aspect-ratio: 16 / 9;
}

.ar-1-1 {
    background-color: #f3f3f3;
    border-radius: 2px;
}

.noimg-square {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #f3f3f3;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.noimg-horizontal {
    width: 100%;
    aspect-ratio: 16 / 4;
    background-color: #f3f3f3;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.noimg {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: #f3f3f3;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.noimg-restream {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: black;
    color: #fff;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.novideo {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nologo {
    width: 100%;
    aspect-ratio: 1 /1;
    background-image: url(./img/ico-020.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 5em 75%;
    background-color: #f3f3f3;
    border-radius: 2px;
}

.loader-1 {
    width: 48px;
    height: 48px;
    border: 3px solid var(--red-2);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.loader-1::after {
    content: '';
    position: absolute;
    box-sizing: border-box;
    left: 20px;
    top: 31px;
    border: 10px solid transparent;
    border-right-color: var(--red-2);
    transform: rotate(-40deg);
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loader-2 {
    width: 48px;
    height: 48px;
    display: inline-block;
    position: relative;
    border: 3px solid;
    border-color: var(--red-2) #0000 var(--blue-2) #0000;
    border-radius: 50%;
    box-sizing: border-box;
    animation: 1s rotate linear infinite;
}

.loader-2:before, .loader-2:after {
    content: '';
    top: 0;
    left: 0;
    position: absolute;
    border: 10px solid transparent;
    border-bottom-color: var(--blue-2);
    transform: translate(-10px, 19px) rotate(-35deg);
}

.loader-2:after {
    border-color: var(--red-2) #0000 #0000 #0000;
    transform: translate(32px, 3px) rotate(-35deg);
}

@keyframes rotate {
    100% {
        transform: rotate(360deg)
    }
}

/* Modal Content */
.modal-content {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    max-width: 700px;
    width: 700px;
    position: relative;
    transition: all 5s ease-in-out;
    z-index: 99;
    border-radius: 2px;
}

/* Add Animation */
@-webkit-keyframes animatetop {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes animatetop {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}