.page-heading {
    background-color: var(--main-200);
    & .is--standard {
        padding: 16px 32px 32px 32px;
        @media (max-width: 1200px) { & {
            padding: 0 16px 16px 16px;
        }}
    }
    & .section__desc {
        padding-top: 32px;
        @media (max-width: 1200px) { & {
            padding-top: 16px;
        }}
    }
    & .is__row:not(:last-child) {
        margin-bottom: 8px;
    }
}

.full-width.is--align-left > .container,
.agile-columns.is--align-left > .container,
.boxes.is--align-left > .container,
.accordion.is--align-left > .container {
    text-align: left;
	justify-items: start;
}

.full-width.is--align-center > .container,
.agile-columns.is--align-center > .container,
.boxes.is--align-center > .container,
.accordion.is--align-center > .container {
    text-align: center;
	justify-items: center;
}

.full-width.is--align-right > .container,
.agile-columns.is--align-right > .container
.boxes.is--align-right > .container,
.accordion.is--align-right > .container {
    text-align: right;
	justify-items: end;
}

.full-width > div,
.agile-columns > div,
.boxes > div .section__content,
.accordion > div .section__content {
    display: grid;
	gap: 64px;
	@media (max-width: 768px) { & {
        gap: 32px;
    }}
}

.agile-columns {
    & .section__column {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    & .agile-columns-container__desc {
        & ul {
            list-style-type: none;
            padding-left: 0;
        }
        & h3:not(:last-child),
        & h4:not(:last-child),
        & p:not(:last-child),
        & li:not(:last-child) {
            margin-bottom: 16px;
        }
    }
    & .agile-columns-container__box {
        & .agile-columns-container__icon {
            display: flex;
            align-items: center;
        }
        & .agile-columns-container__icon > svg {
            width: 24px;
            height: 24px;
            margin-right: 16px;
            flex: 0 0 24px;
            & path {
                fill: var(--main-900);
            }
        }
    }
}

.boxes {
    & .section__column {
        & > .section__inner > *:not(:last-child) {
            padding-bottom: 16px;
        }
        & img {
            display: inline-block;
        }
    }
    & .is--wide {
        & .section__column:nth-child(2n+1) .section__img,
        & .section__column:nth-child(2n) .section__img {
            margin: 0;
        }
    }
    & .is--selected_boxes,
    & .is--auto_boxes,
    & .is--blog_boxes {
        & .section__img img {
            aspect-ratio: 4 / 3;
            object-fit: cover;
            height: 100%;
        }
    }
}

.accordion {
    & .section__content {
        width: 100%;
    }
    & .section__inner {
        padding-top: 16px;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    & summary {
        list-style-type: none;
        position: relative;
        & .section__header {
            max-width: calc(100% - 32px);
            font-weight: 700;
        }
    }
    & details[open] > summary::after {
        content: '';
        position: absolute;
        top: 22%;
        right: 0;
        background-repeat: no-repeat;
        width: 16px;
        height: 16px;
        z-index: 100;
        background-image: url(../assets/img/accordeon-close.svg);
    }
    & details > summary::before {
        content: '';
        position: absolute;
        top: 22%;
        right: 0;
        background-repeat: no-repeat;
        width: 16px;
        height: 16px;
        z-index: 100;
        background-image: url(../assets/img/accordeon-open.svg);
    }
    & details[open] > summary::before {
        display: none;
    }
}

.multi {
    & .multi__grid {
        display: grid;
        grid-template-columns: 1fr;
        .is--align-left {
            justify-items: start;
        }
        .is--align-center {
            justify-items: center;
        }
        .is--align-right {
            justify-items: end;
        }
    }
    & .multi__full {
        display: grid;
        grid-template-columns: 1fr;
        gap: 32px;;
    }
    & .multi__columns--2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        @media (max-width: 768px) { & {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }}
        & .multi__column {
            gap: 32px;
        }
    }
    @media (max-width: 768px) { & {
        .is--reverse .multi__column:nth-child(1) {
            order: 2;
        }
        .is--reverse .multi__column:nth-child(2) {
            order: 1;
        }
    }}
    & .multi__columns--3 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        @media (max-width: 768px) { & {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }}
        & .multi__column {
            gap: 24px;
        }
    }
    & .multi__columns--4 {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        @media (max-width: 1024px) { & {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }}
        @media (max-width: 576px) { & {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }}
        & .multi__column {
            gap: 16px;
        }
    }   
    & .is--wide:not(.multi__full) {
        & .section__buttons > div {
            @media (max-width: 1400px) { & {
                gap: 24px;
            }}
            @media (max-width: 1200px) { & {
                flex-direction: column;
                gap: 16px;
            }}
        }
        &.multi__columns--2 {
            & .multi__column:first-child.is--multi-full-img {
                & .section__img {
                    margin-left: -32px;
                    @media (max-width: 1200px) { & {
                        margin-left: -16px;
                    }}
                    @media (max-width: 768px) { & {
                        margin-right: -16px;
                    }}
                }
            }
            .multi__column:last-child.is--multi-full-img {
                & .section__img {
                    margin-right: -32px;
                    @media (max-width: 1200px) { & {
                        margin-right: -16px;
                    }}
                    @media (max-width: 768px) { & {
                        margin-left: -16px;
                    }}
                }
            }
            @media (max-width: 768px) {
                &.is--reverse .multi__column:nth-child(1) {
                    order: 2;
                }
                
                &.is--reverse .multi__column:nth-child(2) {
                    order: 1;
                }
            }
        }
        &.multi__columns--3 {
            & .multi__column.is--multi-full-img {
                & .section__img {
                    @media (max-width: 768px) { & {
                        margin-left: -16px;
                        margin-right: -16px;
                    }}
                }
            }
        }
        &.multi__columns--4 {
            & .multi__column.is--multi-full-img {
                & .section__img {
                    @media (max-width: 578px) { & {
                        margin-left: -16px;
                        margin-right: -16px;
                    }}
                }
            }
        }
    }
    & .is--standard:not(.multi__full) {
        & .section__buttons > div {
            gap: 24px;
            @media (max-width: 1600px) { & {
                flex-direction: column;
                gap: 16px;
            }}
        }
        &.multi__columns--2 {
            & .is--multi-full-img .section__img {
                width: calc(100svw / 2);
                @media (max-width: 768px) { & {
                    width: 100svw;
                }}
            }
            
            @media (min-width: 769px) {
                &.is--gap-8 .is--multi-full-img .section__img {
                    width: calc((100svw - 8px) / 2);
                }
                &.is--gap-16 .is--multi-full-img .section__img,
                &.is--gap-24 .is--multi-full-img .section__img,
                &.is--gap-32 .is--multi-full-img .section__img {
                    width: calc((100svw - 16px) / 2);
                }
                &.is--gap-64 .is--multi-full-img .section__img {
                    width: calc((100svw - 32px) / 2);
                }
            }
            
            @media (min-width: 1201px) {
                &.is--gap-24 .is--multi-full-img .section__img {
                    width: calc((100svw - 24px) / 2);
                }
                &.is--gap-32 .is--multi-full-img .section__img {
                    width: calc((100svw - 32px) / 2);
                }
                &.is--gap-64 .is--multi-full-img .section__img {
                    width: calc((100svw - 64px) / 2);
                }
            }
            
            & .is--multi-full-img.multi__column .section__img {
                @media (max-width: 768px) { & {
                    margin-left: -16px;
                }}
            }
            
            & .is--multi-full-img.multi__column:first-child .section__img {
                margin-left: calc((0px - ((100svw - 1400px)/2)) - 32px);
                @media (max-width: 1600px) { & {
                    margin-left: calc((0px - ((100svw - 1200px)/2)) - 32px);
                }}
                @media (max-width: 1200px) { & {
                    margin-left: -16px;
                }}
            }
        }
    }
    & .is--narrow:not(.multi__full) {
        & .section__buttons > div {
            flex-direction: column;
            gap: 16px;
        }
        &.multi__columns--2 {
            & .is--multi-full-img.multi__column:first-child .section__img {
                margin-left: calc(((-100svw + 700px) / 2) - 32px);
                @media (max-width: 1200px) { & {
                    margin-left: calc(0px - ((100svw - 700px) / 2) - 16px);
                }}
                @media (max-width: 768px) { & {
                    margin-left: calc(0px - ((100svw - 700px) / 2) - 16px);
                    margin-right: calc(0px - ((100svw - 700px) / 2) - 16px);
                }}
                @media (max-width: 700px) { & {
                    margin-left: -16px;
                    margin-right: -16px;
                }}
            }
            & .is--multi-full-img.multi__column:last-child .section__img {
                margin-right: calc(((-100svw + 700px) / 2) - 32px);
                @media (max-width: 1200px) { & {
                    margin-right: calc(0px - ((100svw - 700px) / 2) - 16px);
                }}
                @media (max-width: 768px) { & {
                    margin-left: calc(0px - ((100svw - 700px) / 2) - 16px);
                    margin-right: calc(0px - ((100svw - 700px) / 2) - 16px);
                }}
                @media (max-width: 700px) { & {
                    margin-left: -16px;
                    margin-right: -16px;
                }}
            }
        }
    }
    & .multi__column {
        display: grid;
        grid-template-columns: 1fr;
    }
    & .multi_boxes {
        & .section__column {
            & > .section__inner > *:not(:last-child) {
                padding-bottom: 16px;
            }
            & img {
                display: inline-block;
            }
        }
        &.is--wide {
            & .section__column:nth-child(2n+1) .section__img,
            & .section__column:nth-child(2n) .section__img {
                margin: 0;
            }
        }
    }
}

.hero {
    position: relative;
    & .section__column {
        position: relative;
    }
    & .section__column::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.7);
        z-index: 100;
    }
    & .container.is--wide {
        padding: 0;
    }
    & .is--wide {
        & .section__column:nth-child(2n) .section__img,
        & .section__column:nth-child(2n+1) .section__img {
            margin: 0;
        }
    }
    & .section__img img {
        aspect-ratio: 3 / 1;
        object-fit: cover;
        object-position: center;
        width: 100%;
        opacity: 1 !important;
        -webkit-animation-duration: 3s;
        animation-duration: 3s;
        transition: all 1s ease;
        @media (max-width: 1200px) { & {
            aspect-ratio: 2 / 1;
        }}
        @media (max-width: 768px) { & {
            aspect-ratio: 16 / 9;
        }}
        @media (max-width: 576px) { & {
            aspect-ratio: 4 / 3;
        }}
    }
    & .slick-arrow {
        background-color: var(--brand-fifth);
        z-index: 300;
        padding: 24px;
        transition: all .5s;
    }
    & .section__columns:not(:hover) .slick-arrow {
        display: none !important;
    }
    & .slick-prev {
        left: 0;
    }
    & .slick-next {
        right: 0;
    }
    & .slick-arrow.slick-prev::before, & .slick-arrow.slick-next::before {
        position: absolute;
        display: inline-block;
        width: 48px;
        height: 48px;
        left: -12px;
        top: -12px;
    }
    & .slick-arrow.slick-prev::before {
        content: url(../assets/img/chevron-prev.svg);
    }
    & .slick-arrow.slick-next::before {
        content: url(../assets/img/chevron-next.svg);
    }
    & .section__content {
        position: relative;
    }
    & .section__items {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 32px;
    }
    & .section__header {
        color: var(--main-100);
    }
    & .section__title {
        position: relative;
        z-index: 180;
    }
    & .section__button a {
        position: relative;
        z-index: 200;
        background-color: #383186;
		border: 1px solid #383186;
		color: var(--main-100)
    }
    & .section__columns {
        opacity: 0;
        visibility: hidden;
        transition: opacity 1s ease;
        -webkit-transition: opacity 1s ease;
    }

    & .section__columns.slick-initialized {
        visibility: visible;
        opacity: 1;
    }

    .section__columns .animated {
        transition: all 0.5s ease;
    }
}

@-webkit-keyframes zoomInImage {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    to {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }
}

@keyframes zoomInImage {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    to {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }
}

.zoomInImage {
    -webkit-animation-name: zoomInImage;
    animation-name: zoomInImage;
	animation-fill-mode: forwards;
}

@-webkit-keyframes zoomOutImage {
    from {
      -webkit-transform: scale3d(1.3333, 1.3333, 1.3333);
      transform: scale3d(1.3333, 1.3333, 1.3333);
    }
  
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  
  @keyframes zoomOutImage {
    from {
      -webkit-transform: scale3d(1.3333, 1.3333, 1.3333);
      transform: scale3d(1.3333, 1.3333, 1.3333);
    }
  
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }