/* ---------------- GLOBAL FOR INDEX ---------------- */



/* ---------------- COMPANIES ---------------- */
.category {
    margin-top: 5vw;
}

.category h2 {
    margin: 0;
}

.category .list{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-evenly;
}

.company {
    position: relative;
    width: 18.5vw;
}

.company * {
    margin: 0;
    background-size: 100% auto;
    background-position: -0.31vw 0;
    width: 100%;
}

.company.inactive {
    opacity: 0.56;
}

.company .top {
    height: 3vw;
    background-image: url('/public/images/ticket-company/top.svg');
}

.company .middle{
    padding-bottom: 1vw;
    background-image: url('/public/images/ticket-company/middle.svg');
    background-repeat: repeat;
}

.company .bottom {
    height: 0.95vw;
    background-image: url('/public/images/ticket-company/bottom.svg');
}

.company .link {
    box-sizing: border-box;
    padding-top: 1vw;
    height: 6vw;
    color: var(--clr-white);
    font-size: 2.8rem;
    text-transform: uppercase;
    background-image: url('/public/images/ticket-company/cut.svg');
    background-position: 0.2vw 0;
    transition: background-color 0.5s, background-image 0.5s, color 0.5s, opacity 0.5s;
}

.company .link:hover {
    color: var(--clr-secondary);
    background-image: url('/public/images/ticket-company/cut-light.svg');
}

.company.inactive .link:hover {
    color: var(--clr-white);
    background-image: url('/public/images/ticket-company/cut.svg');
}

.company h2 {
    padding: 2vw 0 1.4vw 0;
    font-size: 2.8rem;
}

.company .logo {
    margin: 0 auto;
    height: 8vw;
    width: 11.6vw;
    background-position: center;
    background-size: contain;
}


/* ---------------- COMPANY DECORATIONS ---------------- */

.decoration {
    position: absolute;
    width: 6vw;
    height: 6vw;
    top: 0.93vw;
    background-position: center;
    background-size: contain;
    z-index: 10;
}

.decoration .value {
    position: absolute;
    top: 3.2vw;
    font-size: 1.7rem;
    color: var(--clr-white);
}

.decoration.right {
    right: 0.26vw;
}

.decoration.right .value {
    right: -0.65vw;
    transform: rotate(45deg);
}

.decoration.left {
    left: -0.26vw;
}

.decoration.left .value {
    left: -0.6vw;
    transform: rotate(-45deg);
}

/* -- Particular decorations -- */
.decoration.plus {
    background-image: url('/public/images/decoration/plus.svg');
}

.decoration.new {
    width: 4.6vw;
    height: 4.6vw;
    top: 0.8vw;
    left: 0.0vw;
    background-image: url('/public/images/decoration/new.svg');
}


/* ---------------- HOW IT WORKS ---------------- */
.hiw {
    position: relative;
    margin: 4vw auto 0 auto;
    width: 90%;
}

.hiw .hiwBackground {
    position: absolute;
    display: flex;
    padding-top: 4.6%;
    height: 100%;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    gap: 19.6%;
    flex-wrap: nowrap;
}

.hiw .hiwContent {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.hiw .dots {
    height: 2rem;
    width: 8.8rem;
    background-image: url('/public/images/line/dots.svg');
}

.hiw .item {
    width: 20%;
}

.hiw .icon {
    margin: 0 auto 1.6vw auto;
    height: 13.5rem;
    width: 13.5rem;
}

.hiw .icon.icon1 {
    background-image: url('/public/images/line/01.svg');
}

.hiw .icon.icon2 {
    background-image: url('/public/images/line/02.svg');
}

.hiw .icon.icon3 {
    background-image: url('/public/images/line/03.svg');
}

.hiw .icon.icon4 {
    background-image: url('/public/images/line/04.svg');
}

.hiw .text {
    font-size: 1.8rem;
}


/* ---------------- News ---------------- */
.news {
    box-sizing: border-box;
    padding: 3vw 3vw;
    border: dashed 0.4vw var(--clr-secondary);;
    border-radius: 0.6vw;
}

.news h1 {
    margin: 0 0 2.4vw 0;
}

.news .container {
    margin-block-start: 1vw;
    margin-block-end: 1vw;
    padding-inline-start: 3vw;
    text-align: left;
}

.news .item {
    margin: 1vw 0;
}

.news .important {
    color: var(--clr-secondary);
}

.news a {
    color: var(--clr-secondary);
    text-decoration: underline;
}


/* ---------------- Events ---------------- */
.banners {
    margin: -2vw auto 6vw auto;
    width: 80%;
}

.banner {
    width: 100%;
    height: auto;
}


/* ---------------- MOBILE ---------------- */
@media only screen and (max-width: 950px) {
    .category {
        margin-top: 13vw;
    }

    .company {
        width: 40vw;
    }

    .company * {
        background-position: -0.65vw 0;
    }

    .company .top {
        height: 6.4vw;
    }

    .company .middle{
        padding-bottom: 2.8vw;
    }

    .company .bottom {
        height: 1.9vw;
    }

    .company .link {
        padding-top: 1.8vw;
        height: 12.2vw;
        background-position: 0.5vw 0;
    }

    .company .link:hover {
        color: var(--clr-white);
        background-image: url('/public/images/ticket-company/cut.svg');
    }

    .company h2 {
        padding: 3.9vw 0 2.9vw 0;
    }

    .company .logo {
        height: 20vw;
        width: 26vw;
    }

    .decoration {
        width: 14vw;
        height: 14vw;
        top: 1.87vw;
    }

    .decoration .value {
        top: 7.2vw;
    }

    .decoration.right {
        right: -0.5vw;
    }

    .decoration.right .value {
        right: -0.75vw;
        transform: rotate(45deg);
    }

    .decoration.left {
        left: -0.26vw;
    }

    .decoration.left .value {
        left: -0.6vw;
    }

    .decoration.new {
        width: 9.8vw;
        height: 9.8vw;
        top: 1.7vw;
        left: 0.0vw;
    }


    .hiw {
        margin-top: 9vw;
        width: 90%;
    }

    .hiw .hiwBackground {
        padding-top: 38%;
        height: 100%;
        width: 100%;
        align-items: center;
        justify-content: flex-start;
        gap: 20.2%;
        flex-wrap: nowrap;
        flex-direction: column;
    }

    .hiw .hiwContent {
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 20vw;
    }

    .hiw .dots {
        height: 8.8rem;
        width: 2rem;
        background-image: url('/public/images/line/dots-mobile.svg');
    }

    .hiw .item {
        width: 60%;
    }

    .hiw .icon {
        margin: 0 auto 1.6vw auto;
    }


    .news {
        padding: 6vw 6vw;
        border: dashed 0.8vw var(--clr-secondary);
        border-radius: 1.2vw;
    }

    .news h1 {
        margin: 0 0 4.8vw 0;
    }

    .news .container {
        margin-block-start: 2vw;
        margin-block-end: 2vw;
        padding-inline-start: 6vw;
    }

    .news .item {
        margin: 3.6vw 0;
    }


    .banners {
        margin: -8vw auto 12vw auto;
        width: 90%;
    }

    .banner {
        width: 100%;
        height: auto;
    }
}