/* Font Definitions */

@font-face {
    font-family: "AkkuratLL-Regular";
    src: url("/content/dam/spglobal/commodity-insights/en/content-design/infographics/common/fonts/AkkuratLL-Regular.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "AkkuratLL-Light";
    src: url("/content/dam/spglobal/commodity-insights/en/content-design/infographics/common/fonts/AkkuratLL-Light.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "AkkuratLL-Bold";
    src: url("/content/dam/spglobal/commodity-insights/en/content-design/infographics/common/fonts/AkkuratLL-Bold.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}

.cmp-experiencefragment.header-xf,
.cmp-experiencefragment.footer-xf,
.helpButton,
.drift-frame-controller,
#drift-frame-controller {
    display: none;
}

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

:root {
    --swiper-pagination-bullet-size: 0.5rem;
    --swiper-pagination-bullet-horizontal-gap: 4px;
    --swiper-navigation-color: #EDF86F;
    --swiper-navigation-color-on-hover: #595959;
}

html,
body {
    width: 100%;
    height: 100%;
    background-color: #0A0A0A;
    font-family: "AkkuratLL-Light";
    line-height: normal !important;
}

.final-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.final-wrapper .header {
    display: flex;
    align-items: center;
    padding: 1rem 0 0 1rem;
}

.final-wrapper .header img {
    width: 10rem;
}

.final-wrapper .header .page-title {
    color: #FFF;
    font-family: "AkkuratLL-Regular";
    font-size: 2rem;
    padding: 0 0 0 5.4rem;
}

.final-wrapper .hero-container {
    position: relative;
    width: 90%;
    margin: 0 auto;
}

.final-wrapper .hero-container .title-container {
    display: flex;
    width: 80.5%;
    margin: 1rem auto .5rem auto;
    align-items: center;
    justify-content: space-between;
}

.final-wrapper .hero-container .title-container .swiper-pagination {
    position: relative !important;
    width: 25% !important;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 0 !important;
}

.final-wrapper .hero-container .title-container .swiper-pagination-bullet {
    background-color: #EDF86F;
    opacity: 1;
    size: var(--swiper-pagination-bullet-size);
    transition: all 0.3s ease;
}

.final-wrapper .hero-container .title-container .swiper-pagination-bullet-active {
    background-color: #595959;
    opacity: 1;
}

.final-wrapper .hero-container .title-container .swiper-pagination-bullet:hover {
    background-color: #595959;
}

.final-wrapper .hero-container .title-container .slide-title {
    font-family: "AkkuratLL-Bold";
    font-size: 1.1vw;
    color: #ffffff;
}

.final-wrapper .hero-container .swiper {
    width: 90%;
    height: 70vh;
}

.swiper-button-prev,
.swiper-button-next {
    color: var(--swiper-navigation-color);
    --swiper-navigation-size: 75px;
    margin-left: 1rem;
    margin-right: 1rem;
    transition: color 0.3s ease;
}

.navigation .swiper-button-prev:hover,
.navigation .swiper-button-next:hover {
    color: var(--swiper-navigation-color-on-hover)
}

.swiper .swiper-slide {
    transition: all 0.5s ease;
    background-color: #fff;
}

.swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.swiper .swiper-slide .frame {
    width: 100%;
    height: 100%;
    border: none;
}

.swiper .swiper-slide.black {
    background-color: #0A0A0A;
}

.swiper .swiper-slide-active {
    opacity: 1;
}

.explanation-and-qr {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin: .5rem auto;

    width: 80.5%;
    height: auto;
}

.explanation-and-qr .text-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
}

.explanation-and-qr .text-wrapper .text {
    position: relative;
    color: #fff;
    text-align: justify;
    font-size: .85vw;
    padding-right: 5.5rem;
}

.explanation-and-qr .text-wrapper .contact {
    position: relative;
    color: #ffffff;
    text-align: justify;
    font-size: 0.9rem;
    margin-top: .5rem;
}

.explanation-and-qr .qr-code {
    position: relative;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 2px;
    background-color: white;
    flex-shrink: 0;
}

.zoom-controls {
    position: absolute;
    right: .5rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.zoom-controls div {
    display: flex;
    justify-content: center;
    align-items: center;

    background-color: #EDF86F;
    color: #0A0A0A;
    font-size: 1.5rem;
    font-weight: bolder;
    padding: .2rem .7rem .2rem .7rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.zoom-controls div:hover {
    background-color: #595959;
}

.zoomable-svg {
    transition: transform 0.3s ease;
}