@import url('fontello.css');


:root {
    --black: #000000;
    --blue: #257C89;
    --blue-dark: #046266;
    --gold: #A19058;
    --gold-dark: #8E7F49;
    --gold-mid: #C4B78E;
    --green: #2B5E29;
    --green-dark: #3F6332;
    --copper: #c1531b;
    --copper-dark: #bf521a;
    --purple: #3d1152;
    --purple-dark: #3d1152;
    --silver: #808285;
    --light-silver: #efefef;
    --white: #ffffff;
    --white-70: rgba(255, 255, 255, 0.7);
    --white-90: rgba(255, 255, 255, 0.9);
    --light-gold: #F1EDE5;
    --light-blue: #CCE7EA;
    --light-green: #92ad8a;
    --gradient-blue-horizontal: linear-gradient(90deg, #BFE1E5 10%, #257C89 45%);
    --gradient-blue-vertical: linear-gradient(#CBE6EA 10%, #ffffff 60%);
    --gradient-black-left-corner: linear-gradient(120deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%);
    --spacing-small: 0.66rem;
    --spacing-medium: 1.66rem;
    --spacing-large: 2.33rem;
    --spacing-x-large: 4rem;
    --x-small: 0.8em;
    --small: 0.9em;
    --medium: 1.2em;
    --large: 1.5em;
    --x-large: 2em;
    --xx-large: 2.5em;
    --xxx-large: 3em;
}




/*## Extending columns ##*/

.row.dividers .col:not(:last-child) {
    border-bottom: 1px solid var(--blue)
}

@media screen and (min-width: 50em) {
    .row.dividers .col:nth-child(n+7) {
        border-bottom: none
    }
}

.row-gap-3 {
    row-gap: 15px;
}


@media (min-width: 992px) {
    .gap-2 .col-md-6 {
        flex: 0 0 auto;
        width: calc(50% - 20px);
    }

    .gap-4 .col-md-6 {
        flex: 0 0 auto;
        width: calc(50% - 40px);
    }

    .gap-4 .col-md-3 {
        flex: 0 0 auto;
        width: calc(25% - 40px);
    }

    .gap-3 .col-md-3 {
        flex: 0 0 auto;
        width: calc(25% - 30px);
    }

    .gap-3 .col-md-6 {
        flex: 0 0 auto;
        width: calc(50% - 30px);
    }

    .gap-lg-5 .col-md-3 {
        flex: 0 0 auto;
        width: calc(25% - 50px);
    }

}

@media (min-width: 1600px) {
    .gap-3 .col-xl-3 {
        flex: 0 0 auto;
        width: calc(25% - 30px);
    }

    .gap-3 .col-xl-5 {
        flex: 0 0 auto;
        width: calc((100% / 12 * 5) - 30px);
    }

    .gap-2 .col-xl-3 {
        flex: 0 0 auto;
        width: calc(25% - 20px);
    }

    .gap-2 .col-xl-5 {
        flex: 0 0 auto;
        width: calc((100% / 12 * 5) - 20px);
    }
}


html,
body {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    scroll-behavior: smooth;
    font-family: 'Century Gothic', 'Futura', sans-serif;

}

body * {
    transition: all 0.66s;
}

footer {}

h1 {}

h2 {}

h3 {
    font-weight: 700;
}

h4 {
    font-weight: 700;
}

h5 {
    font-weight: 700;
}

.is-quote {
    position: relative;
    max-width: 820px;
}

.is-quote:before {
    content: '\201C';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 80px;
    line-height: 1em;
    transform: translate(-100%, -20%);
}

.is-quote:after {
    content: '\201D';
    position: relative;
    font-size: 80px;
    line-height: 1px;
    transform: translate(0%, 0%);
    top: 50px; 
    overflow: visible;
    display: inline-block;
}

blockquote {
    color: var(--silver);
}

blockquote p.lead {
    font-size: 1.5em
}

main>section {
    width: 100%;
    padding-top: 4rem;
    padding-left: 3em;
    padding-right: 3em;
    position: relative;
}

main>section#home {
    padding-top: 2rem;
}

@media (max-width: 1200px) {
    main>section {
        width: 100%;
        padding-top: 2rem;
        padding-left: 1em;
        padding-right: 1em;
        position: relative;
    }

    main>section#home {
        padding-top: 1rem;
    }
}

main>section>*:not(figure) {
    position: relative;
}

a {
    color: var(--gold-dark);
    text-decoration: none;
}

main a:not(.btn):hover {
    color: var(--gold);
    text-decoration: underline;
}

.btn,
button {
    color: var(--white);
    font-weight: 700;
    font-size: var(--small);
}

.btn:focus, .btn:active, .btn:hover{
    box-shadow: none;
}

.btn-download {
    display: inline-flex;
    flex-flow: row;
    text-align: left;
}

.btn-download:before {
    content: '\e804';
    font-family: fontello;
    margin-right: 0.66rem;
    font-size: 1.1em
}

.container {
    max-width: 96rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.wrapper {
    padding-left: 2rem;
    padding-right: 2rem;
    max-width: 110em;
    margin: 0 auto;
    width: 100%;
}


.has-divider-artwork {
    position: relative;
    overflow: hidden;
}

.has-divider-artwork .divider-artwork {
    position: absolute;
    right: -15%;
    min-width: 100%;
    width: 100%;
    height: auto;
    top: -7%;
    z-index: -1;
    transform: rotate(25deg);
    transform-origin: center;
    --startdeg: 40deg;
    --enddeg: 25deg;
    
}

.reveal.fade-in .has-divider-artwork .divider-artwork {
    animation: spin 5s linear 0s both;
}

/* .gold-piece{
    --startdeg: 20deg;
    --enddeg: 0;    
    animation: spin 5s linear 0s both;
    transform-origin: center;
    transform: rotate(30deg);
}


.semisphere{
    --startdeg: 20deg;
    --enddeg: 0deg;    
    animation: spin 5s linear 1s both;
    transform-origin: center;
    transform: rotate(40deg);
}
 */

.reveal {
  opacity: 0;
  transition: opacity 0.8s 0.33s ease-out;
}
.reveal.fade-in {
  opacity: 1;
}


@media screen and (max-width: 1200px) {
    .wrapper {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .covers .wrapper {
        padding-left: 2.5rem
    }
}

@media (max-width: 560px) {
    .wrapper {
        padding-right: 0em;
        padding-left: 0em;
    }
}


.stat {
    font-size: var(--x-large);
    display: block;
    font-weight: 300
}

.stat+span {
    font-weight: bold
}

.fingerprint {
    position: fixed;
    z-index: -1;
    width: 80vw;
    left: -7.5%;
    opacity: 0.7;
}

.fingerprint img {
    width: 100%;
    height: auto
}

@media (min-width: 820px) {
    .fingerprint img {
        max-width: 60%
    }
}

/*COVERS*/


.covers a {
    display: block;
    padding-bottom: 2.1em;
}


.covers li img {
    transform: scale(1);
    transition: 0.66s all;
    transform-origin: bottom left;
    box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.1)
}

.covers li img:hover {
    transform: scale(1.02);
    box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.15);
}


/* #home .covers li{
    width: auto
}
#home .covers li:last-child{
    width: auto
} */

.footer.covers {
    position: relative;
}

.footer.covers:before {
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: var(--gold);
    height: 30%;
    left: 0;
}

.covers li img{
    width: 180px
}
.covers li:last-child img{
    width: 250px
}

@media (min-width: 768px) {
    .covers li img{
       width: 170px
    }
    .covers li:last-child img{
       width: 230px
    }    

}


@media (min-width: 1500px) {
    .covers li img{
       width: 170px
    }
    .covers li:last-child img{
       width: 230px
    }    

}

@media (min-width: 1800px) {
    .covers li img{
       width: 180px
    }
    .covers li:last-child img{
       width: 260px
    }    
}




/* raise covers*/
@keyframes coverUp {
    0% {
        transform: translateY(110%);
    }

    100% {
        transform: translateY(0%);
    }
}


/* drop covers*/
@keyframes coverDown {
    0% {
        transform: translateY(0%);
    }

    100% {
        transform: translateY(110%);
    }
}

/*  grow shelf */
@keyframes growUp {
    0% {
        height: 0
    }

    100% {
        height: 30%
    }
}

@media (max-width: 980px) {

    /*  grow shelf */
    @keyframes growUp {
        0% {
            height: 0
        }

        100% {
            height: 50%
        }
    }
}


/*  shrink shelf */
@keyframes shrinkDown {
    0% {
        height: 30%
    }

    100% {
        height: 0;
    }
}


@media (max-width: 980px) {

    /*  grow shelf */
    @keyframes shrinkDown {
        0% {
            height: 50%
        }

        100% {
            height: 0%
        }
    }
}

/*HEADER*/
header {
    position: relative;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
}

header h1 {
    font-size: 1.8em;
    text-align: right;
    display: none;
}

header h1 span {
    display: block;
    font-size: 1.1rem;
}

@media (min-width: 768px) {
    header h1 {
        display: block;
    }
}

header nav {
    position: fixed;
    width: auto;
    display: inline-flex;
    transform: translateY(0%);
    top: 0;
    right: 0;
    z-index: 2;
}

header nav button {
    cursor: pointer;
    position: relative;
    z-index: 11;
    border: none;
    padding: 0.66rem;
    background-color: var(--light-gold);
}

header nav ul {
    position: absolute;
    right: 0;
    transform: translateX(100%);
    background-color: var(--white);
    min-width: 260px;
    display: flex;
    flex-flow: column;
    align-items: stretch;
    gap: 1em;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    padding: 2em 2em 1em 2em;
    border: 1px solid var(--gold);
}


header nav ul li:after{
    content: '';
    width: 80%;
    height: 1px;
    border-bottom: 2px dotted var(--silver);
    display: block;
    position: relative;
    left: 1em;
    top: 5px;
}    


header nav.is-active ul {
    transform: translateX(0%);
}

header nav.is-active button{
    background-color: transparent;
}


header nav a {
    color: var(--gold);
    display: block;
    padding: 0.33rem 1rem;
}
header nav a:hover{
    background-color: var(--light-silver);
    text-decoration: none;
    color: var(--gold-dark)
}


@media (min-width: 760px) {

    header nav {
        transform: translateY(-150%);
        right: auto;
        left: 0;
        padding: 0 0 0 0;
    }


    header nav ul {
        position: static;
        transform: translateX(0%);
        padding: 0 0em 0 1em !important;
        gap: 0em;
    }

        header nav button {
        display: none
    }


    header nav ul li:after{
        content: none;
    }    

    header nav a {
        color: var(--gold);
        display: block;
        padding: 0.33rem 1rem 0.33rem 1rem;
    }
    header nav  a:before {
        content: '';
        border-left: 1px solid var(--gold);
        left: -1rem;
        position: relative;
    }    

    .has-docking header nav {
        position: fixed;
        top: 0;
        transform: translateY(50%);
    }


}


/* HOME */

#home {
    min-height: 90vh
}

#home h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-60%, -70%);
    z-index: 2;
    text-align: center;
    font-size: 2.2em;
    line-height: 1.1em
}

#home h1 span {
    display: block;
    font-size: 1rem;
    line-height: 1.3em
}


@media (min-width: 768px) {
    #home h1 {
        display: none;
    }
}

.cover-wheel {
    width: 100%;
    height: 110vw;
    position: relative;
}

.cover-wheel>svg {
    --startdeg: 0deg;
    --enddeg: 360deg;
    width: 120vw;
    position: relative;
    animation: spin 50s linear infinite;
    transform-origin: 44% 50%;
    left: -12.5vw;
    top: -5vw;
}

@media (min-width: 768px) {
    .cover-wheel {
        height: auto;
    }

    .cover-wheel>svg {
        position: absolute;
        left: auto;
        transform-origin: 44.5% 50%;
        right: -120px;
        top: -25px;
        width: 80vw;
    }
}

.cover-wheel * {
    transition: all 1.5s;
}

.cover-wheel img {
    width: 100%;
    height: auto
}


/*OPERATIONS*/
section,
.container {
    position: relative;
    z-index: 2
}

#glance:before {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
    height: 10em;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 98%);
}

.key span {
    padding: 0.33rem 0.66rem;
    font-weight: bold;
    color: var(--white)
}

@media (max-width: 820px) {
    .key span {
        font-size: 0.9em;

        font-weight: normal
    }
}


/*STRATEGY*/
/* .has-animation-slow-spin{
    animation: spin 60s linear infinite;
    transform-origin: center;
    
}

.has-animation-slow-spin .be-still{
    animation: spin 60s linear infinite;
    transform-origin: center;
    animation-direction: reverse;
} */

#performanceWheel {
    transform: rotate(45deg);
    transform-origin: center;
    animation-direction: reverse;
}

#performanceWheel .be-still {
    transform: rotate(-45deg);
    transform-origin: center;
    animation-direction: reverse;
}

.quarterTurn {
    cursor: pointer;
    position: relative;
}


.pillar {
    max-height: 100%;
    height: auto;
    position: relative;
}

.pillar:not(.is-active) {
    max-height: 0;
    height: 0;
    opacity: 0;

}

.pillar:not(.is-active):before {
    display: 0;
    opacity: 0
}

.pillar:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 26px 21px 26px;
    border-color: transparent transparent var(--black) transparent;
    transform: rotate(90deg) translate(0, 220%);
    position: absolute;
    transform-origin: center;
    top: 50%;
    left: 0;
}

.pillar.has-border-color-blue ul li {
    border-bottom: 1px solid var(--blue);
    padding: 5px;
}

.pillar.has-border-color-blue:before {
    border-bottom-color: var(--blue);
}

.pillar.has-border-color-gold ul li {
    border-bottom: 1px solid var(--gold);
    padding: 5px;
}

.pillar.has-border-color-gold:before {
    border-bottom-color: var(--gold);
}


.pillar.has-border-color-orange ul li {
    border-bottom: 1px solid var(--copper);
    padding: 5px;
}

.pillar.has-border-color-orange:before {
    border-bottom-color: var(--copper);
}

.pillar.has-border-color-silver ul li {
    border-bottom: 1px solid var(--silver);
    padding: 5px;
}

.pillar.has-border-color-silver:before {
    border-bottom-color: var(--silver);
}


@keyframes spin {
    from {
        transform: rotate(var(--startdeg));
    }

    to {
        transform: rotate(var(--enddeg));
    }
}


@keyframes turn90deg {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(90deg);
    }
}


@keyframes turn180deg {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* GRADIENTS */

.has-background-gradient-white-fade-up:after {
    content: '';
    height: 100px;
    display: block;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 90%);
}

.has-background-gradient-pale-blue-fade-down:before {
    content: '';
    height: 100px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: linear-gradient(180deg, rgba(235, 245, 247, 1) 0%, rgba(235, 245, 247, 0) 90%);
}


/*SLIDER CUSTOMISATIONS*/
.tns-slider {
    display: flex;
    flex-flow: row;
}

.tns-inner {
    margin: 0
}

.row.tns-item {
    padding: 0 !important;
    display: block;
    margin: 0;
}

.tns-horizontal.tns-subpixel>.tns-item {
    display: flex;
}


.tns-controls {
    display: flex;
    gap: 1em;
    margin-bottom: 1.6em
}

#peopleProsperity .tns-controls {
    margin-top: 5em
}

.tns-controls button {

    border-radius: 50%;
    background-color: transparent;
    box-shadow: 0;
    border: none;


    padding: 0;

}

.tns-controls button:after {

    font-family: 'Fontello';
    font-size: 3em;
    line-height: 1em;
    border-radius: 50%;
    box-shadow: 0px 0px 0px rgba(255, 255, 255, 0.5);
    color: var(--gold);
}

.tns-controls button:hover:after {
    color: var(--gold-dark);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
}

[data-controls="prev"]:after {
    content: '\e802';
}

[data-controls="next"]:after {
    content: '\e803';
}


.tns-nav {
    display: none
}

/* UTILITIES */
@media (min-width: 1200px) {
    .overflow-y {
        height: 1px;
        overflow: visible;
        position: relative;
        z-index: 1
    }
}

.text-shadow {
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
}

.btn {
    color: var(--white);
}


.has-color-blue {
    color: var(--blue)
}

.has-color-gold {
    color: var(--gold)
}

.has-color-white {
    color: var(--white)
}

.has-color-green {
    color: var(--green)
}

.has-color-orange {
    color: var(--copper)
}

.has-color-purple {
    color: var(--purple)
}

.has-color-silver {
    color: var(--silver)
}

.has-color-light-silver {
    color: var(--light-silver)
}

div[class*="has-background"] {
    padding: var(--spacing-medium)
}

@media (max-width: 991px) {
    div[class*="has-background"] {
        padding: var(--spacing-small)
    }
}


.has-background-black {
    background-color: var(--black);
}

.has-background-blue {
    background-color: var(--blue);
}
.has-background-white.has-color-blue:hover {
    background-color: var(--blue);
}

.has-background-silver {
    background-color: var(--silver);
}

.has-background-gold {
    background-color: var(--gold);
}

.has-background-mid-gold {
    background-color: var(--gold-mid);
}
.has-background-white.has-color-gold:hover {
    background-color: var(--gold);
}

.btn.has-background-mid-gold:hover {
    background-color: var(--gold);
}

.has-background-green {
    background-color: var(--green);
}


.has-background-purple {
    background-color: var(--purple)
}

.has-background-orange {
    background-color: var(--copper);
}

.has-background-light-blue {
    background-color: var(--light-blue);
}

.has-background-light-green {
    background-color: var(--light-green);
}


.has-background-light-silver {
    background-color: var(--light-silver);
}

.has-background-white {
    background-color: var(--white);
}



.has-background-white-70 {
    background-color: var(--white-70);
}

.has-background-white-90 {
    background-color: var(--white-90);
}

.has-border-color-gold {
    border-color: var(--gold)
}

[class*="has-border-"] {
    border-style: solid;
    border-width: 1px;
}

.has-border-color-orange {
    border-color: var(--copper)
}

.has-border-color-silver {
    border-color: var(--silver)
}

.has-border-color-blue {
    border-color: var(--blue)
}

.has-spacing-large {
    padding: var(--spacing-large)
}

.has-spacing-x-large {
    padding: var(--spacing-x-large)
}

.lead {
    font-weight: bold;
}

.btn-gold {
    background-color: var(--gold)
}

.btn-blue {
    background-color: var(--blue)
}

.btn-green {
    background-color: var(--green)
}

.btn-orange {
    background-color: var(--copper);
}

.btn-purple {
    background-color: var(--purple);
}

/*## Hovers ##*/
.btn:hover {
    color: var(--white);
}

.btn-gold:hover {
    background-color: var(--gold-dark)
}

.btn-blue:hover {
    background-color: var(--blue-dark)
}

.btn-green:hover {
    background-color: var(--green-dark)
}

.btn-orange:hover {
    background-color: var(--copper-dark);
}

.btn-purple:hover {
    background-color: var(--purple-dark);
}

.btn>span {
    background-color: var(--blue);
    display: inline-block;
    width: 35px;
    padding: 3px;
    color: var(--white);
    margin-left: -1rem;
    margin-right: 0.5rem;
    border-top-left-radius: 5px;
    text-align: center;
    border-bottom-left-radius: 5px;
}

.rounded-35 {
    border-radius: 35px;
}

@media(max-width: 576px) {
    .rounded-35 {
        border-radius: 25px;
    }
}

.rounded-25 {
    border-radius: 25px;
}

.rounded-15 {
    border-radius: 15px;
}


.bg-landscape {
    overflow: hidden;
}

.bg-landscape:before {
    content: url(../img/bg-commentary-landscape.png);
    position: absolute;
    bottom: 0;
    left: 0;
    min-width: 100%;
    opacity: 0.7;
    z-index: 0;
}

.bg-landscape>* {
    position: relative;
}

.bg-commentary {
    background-image: url(../img/bg-commentary.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center -30px;
}

.bg-commentary figure {
    position: relative;
}

@media (max-width: 992px) {
    .bg-commentary figure {
        max-height: 80vw;
        overflow: hidden;
        padding-left: 2em;
        padding-right: 2em
    }
}

@media (max-width: 576px) {
    .bg-commentary figure {
        max-height: 100vw;
        overflow: hidden;
        padding-left: 0em;
        padding-right: 0em
    }
}


.bg-commentary figcaption {
    position: absolute;
    bottom: 0.5rem;
    z-index: 1;
    color: var(--white);
    left: 2em;
    width: 100%
}

.has-font-size-small {
    font-size: var(--small)
}


.has-font-size-large {
    font-size: var(--large)
}

.has-font-size-x-large {
    font-size: var(--x-large)
}

.has-font-size-xx-large {
    font-size: var(--xx-large)
}

@media (max-width: 992px) {
    .has-font-size-xx-large {
        font-size: var(--x-large)
    }
}


.has-font-size-xxx-large {
    font-size: var(--xxx-large)
}

@media (max-width: 992px) {
    .has-font-size-xxx-large {
        font-size: var(--xx-large)
    }
}

@media (max-width: 576px) {
    .has-font-size-xxx-large {
        font-size: var(--x-large)
    }

    .has-font-size-large {
        font-size: var(--medium)
    }
}


.fs-small {
    font-size: var(--small)
}

svg .shadow {
    filter: drop-shadow(3px 5px 10px rgba(0 0 0 / 0.3));
}