﻿
:root {
    --color-grey-light: #f6f6f6;
    --color-grey-mid: #d2d8e0;
    --color-grey-dark: #333;
    --color-gold: #ebc781;
    --color-green: #daedb0;
    --color-blue-bright: #255be3;
    --color-blue-dark: #0f1632;
    --color-blue-mid: #056dae;
    --color-blue-light: #77BDF0;
    --color-topic-light: rgba(70,183,230,.25);
    --color-topic-dark: rgba(70,183,230,.5);
    --color-red: #b92026;
    --color-red-dark: #7b1315;
    --color-orange: #ec5529;
    --color-yellow-light: #ebc781;
    --color-yellow: #f8e77d;
    --color-yellow-dark: #fbd393;
    --color-pink: #f5ded8;
    --color-cream: #FFEFC6;
    --color-cream-dark: #fde3cb;
    --gradient-gold: linear-gradient(90deg, rgba(163,132,96,1) 0%, rgba(240,204,134,1) 17%);
    --gradient-gold-reverse: linear-gradient(90deg, rgba(240,204,134,1) 0%, rgba(163,132,96,1)87%);
    --gradient-orange: linear-gradient(to bottom, rgba(241,111,46,99), #ec5529);
}

body {
    color: var(--color-grey-dark);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'citi-sans-text',sans-serif;
}

h1 {
    font-size: 1.75rem;
}

h2 {
    font-size: 1.6rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.3;
}

h6 {
    font-weight: normal;
}

a,
a:hover,
a:focus,
a:visited {
    color: var(--color-blue-bright);
}

button {
    color: var(--color-blue-bright);
    background-color: transparent;
    border: none;
    font-weight: bold;
}

    button.open:before {
        content: 'Expand for more privileges'
    }

    button.open[aria-expanded=true]:before {
        content: 'Close'
    }

    button.showmore:before {
        content: 'Show more'
    }

    button.showmore[aria-expanded=true]:before {
        content: 'Show less'
    }

hr {
    border-bottom: solid 2px #fff;
}

select.form-control {
    border-radius: 3rem;
    appearance: none;
}


.bg-white {
    background-color: #fff;
}

.bg-red {
    background-color: var(--color-red);
}

.bg-gold {
    background-color: var(--color-gold);
}

.bg-blue-dark {
    background-color: var(--color-blue-dark)
}

.bg-blue-bright {
    background-color: var(--color-blue-bright);
    color: #fff;
}

.bg-blue-mid {
    background-color: var(--color-blue-mid);
}

.bg-blue-light {
    background-color: var(--color-blue-light);
}

.bg-grey {
    background-color: var(--color-grey-light);
}

.bg-grey-mid {
    background-color: var(--color-grey-mid);
}

.bg-green {
    background-color: var(--color-green);
}

.bg-yellow {
    background-color: var(--color-yellow);
}

.bg-orange {
    background-color: var(--color-orange);
}

.bg-pink {
    background-color: var(--color-pink);
    color: var(--color-grey-dark);
}

.bg-cream {
    background-color: var(--color-cream);
}

.text-22 {
    font-size: 1.375rem !important;
}

.text-red {
    color: var(--color-red) !important;
}

.text-blue {
    color: var(--color-blue-bright) !important;
}

.text-blue-mid {
    color: var(--color-blue-mid) !important;
}

.text-blue-light {
    color: var(--color-blue-light) !important;
}

.text-gold {
    color: var(--color-gold) !important;
}

.text-grey {
    color: var(--color-grey-dark) !important;
}

.text-dark {
    color: #000 !important;
}

.text-black-50.active {
    color: #000 !important;
}

.text-display {
    font-family: 'citi-sans-display',sans-serif;
}

.btn {
    border-radius: .5rem;
    padding: .5rem 1.5rem;
}

    .btn.round {
        border-radius: 3rem;
    }

    .btn.cta {
        background-color: var(--color-orange);
        background-image: var(--gradient-orange);
    }

    .btn,
    .btn:hover,
    .btn:focus,
    .btn:visited
    .btn.bg-blue-bright,
    .btn.bg-blue-bright:hover,
    .btn.bg-blue-bright:focus,
    .btn.bg-blue-bright:visited {
        color: #fff !important;
    }

.border-radius {
    border-radius: .5rem !important;
}

.border-radius-1rem {
    border-radius: 1rem !important;
}

.border-radius-2rem {
    border-radius: 2rem !important;
}

.cardface-cit-cashback-mastercard {
    margin: -80px auto 2rem;
    width: 200px;
    display: block;
}

hr.red {
    border-color: var(--color-red);
}

.underline {
    padding-bottom: 30px;
    position: relative;
}

    .underline:after {
        content: '';
        border-bottom: solid 1px;
        width: 80px;
        left: calc(50% - 40px);
        position: absolute;
        bottom: 0;
    }


.icon {
    height: 4rem;
}

.rounded {
    border-radius: 1rem !important;
}

.rounded-bottom {
    border-bottom-right-radius: 1rem !important;
    border-bottom-left-radius: 1rem !important;
}

.rounded-top {
    border-top-left-radius: 1rem !important;
    border-top-right-radius: 1rem !important;
}

.carousel-item img {
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
}

.nav-tabs {
    border-bottom: none;
}

    .nav-tabs .nav-link {
        text-align: center;
        background-color: #fff;
        border: none;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        height: 100%;
        font-size: .9rem;
        color: var(--color-grey-dark);
        border-bottom: solid 4px #fff;
        height: 4rem;
        align-content: center;
        display: grid;
    }

        .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
            color: #495057;
            background-color: #fff;
            border-color: unset;
            text-align: center;
            color: var(--color-blue-bright);
            font-weight: bold;
            border-bottom: solid 4px var(--color-blue-bright);
        }

.scrollwindow {
    width: 100%;
    overflow-x: scroll;
    display: block;
    padding-bottom: 1rem;
}

.carousel .scrollcontent {
    width: 1315px;
    display: block;
}

.scrollcontent {
    width: 150vw;
    display: block;
}

#scrollpointstabs .scroll-tab {
    width: 50vw;
}

#banner {
    position: relative;
}

#banner-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: calc(50vw - 52px);
    display: block;
}

#banner h1 {
    line-height: 1
}

#banner p {
    font-size: 1.4rem;
    line-height: 1;
}

.cmb-indicator {
    width: 216px;
    height: 74px;
    display: inline-block;
    margin-bottom: 4px;
}

.screen {
    overflow: hidden;
}

.accordian-header {
    background-color: #fff;
    color: var(--color-blue-bright);
    border-bottom: solid 1px var(--color-grey-mid);
    width: 100%;
    display: inline-block;
    position: relative;
}

    .accordian-header:after {
        content: '\005E';
        position: absolute;
        top: .5rem;
        right: .5rem;
    }

    .accordian-header:hover,
    .accordian-header.active,
    .accordian-header[aria-expanded ="true"] {
        background-color: #fff;
        color: var(--color-blue-bright);
        border-bottom: solid 1px var(--color-blue-bright);
    }

        .accordian-header[aria-expanded ="true"]:after {
            transform: scaleY(-1);
        }

#banner-sticky {
    background-image: url('../img/bg-banner-sticky.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

    #banner-sticky .cta {
        width: 100%;
    }

    #banner-sticky.stuck {
        position: fixed;
        bottom: 0;
        left: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        display: block;
    }


.fix-size-block {
    background-color: #fff;
    color: var(--color-grey-dark);
    padding: 1rem;
    line-height: 1.2;
    border-bottom: solid 1px var(--color-grey-light);
    position: relative;
}

    .fix-size-block .discount {
        color: var(--color-blue-bright);
        font-size: 1.2rem;
        font-family: 'citi-sans-display',sans-serif;
        font-weight: 700;
        text-align: right;
        width: 100%;
        display: block;
    }

    .fix-size-block.first {
        border-radius: .5rem .5rem 0 0;
    }

    .fix-size-block.single {
        border-radius: .5rem .5rem;
        color: var(--color-blue-bright);
        font-family: 'citi-sans-display',sans-serif;
        font-weight: 700;
    }

        .fix-size-block.single .discount {
            color: var(--color-orange);
        }

    .fix-size-block.last {
        margin-bottom: 3rem;
        border-radius: 0 0 .5rem .5rem;
    }


        .fix-size-block.last:after {
            
            position:absolute;
            content: '\25B6';
            top: calc(100% + .5rem);
            right: unset;
            left: calc(50% - 0.5rem);
            width: .5rem;
            height: .5rem;
            color: var(--color-orange);
            background-color: transparent;
            font-size: 2rem;
            line-height: 1rem;
            transform: rotate(90deg);
        }

    .fix-size-block.single:after {
        display: none;
    }

@media (min-width: 576px) {
    .cardface {
        width: 319px;
        height: 204px;
        margin-top: -100px;
    }

    .scrollwindow {
        width: calc(540px - 30px);
    }

    .scrollcontent {
        width: 700px;
        display: block;
    }

    h1, h2 {
        font-size: 2.5rem;
    }

    #banner-text {
        padding-top: calc(30vw - 52px);
        display: block;
    }

    .cardface-cit-cashback-mastercard {
        margin: -80px auto 2rem;
        width: 300px;
    }
}


@media (min-width: 768px) {
    h3 {
        font-size: 1.75rem;
    }

    h1, h2 {
        font-size: 2rem;
    }

    #banner h1 {
        font-size: 3rem;
    }

    #banner p {
        font-size: 1.6rem;
    }

    .nav-tabs .nav-link {
        font-size: 1.2rem;
    }


    .scrollwindow {
        width: unset;
        overflow: unset;
    }

    .carousel .scrollcontent,
    .scrollcontent {
        width: unset;
    }

    .scroll-tab {
        width: 33.33% !important;
    }

    .accordian-header {
        background-color: #f6f6f6;
        color: #333;
        border-bottom: solid 4px #f6f6f6;
    }

        .accordian-header:after {
            display: none;
        }

        .accordian-header:hover,
        .accordian-header.active,
        .accordian-header[aria-expanded ="true"] {
            background-color: #fff;
            color: var(--color-blue-bright);
            border-bottom: solid 4px var(--color-blue-bright);
            box-shadow: 1px 0px 10px #666;
            border-radius: 4px 4px 0 0;
        }
}


@media (min-width: 992px) {
    #banner-text {
        padding-top: calc(16vw - 52px);
        display: block;
    }

    .cardface-cit-cashback-mastercard {
        margin: -50px auto 2rem;
        width: 230px;
    }

    .fix-size-block {
        width: 18.75% !important;
        float: left;
        height: 200px;
        font-size: 1.3rem;
    }

        .fix-size-block:after {
            content: '';
            display: block;
            position: absolute;
            top: 20px;
            right: 0;
            width: 1px;
            height: 160px;
            background-color: var(--color-grey-mid);
        }

        .fix-size-block .discount {
            font-size: 2rem;
        }


        .fix-size-block.four {
            width: 25% !important;
        }

            .fix-size-block.single,
            .fix-size-block.four.single {
                width: 18.5% !important;
            }

        .fix-size-block > .row {
            height: 100% !important;
        } 
        .fix-size-block.single {
            float: right;
            text-align: right;
        }

        .fix-size-block.first {
            border-radius: .5rem 0 0 .5rem;
        }

        .fix-size-block.last {
            border-radius: 0 .5rem .5rem 0;
            margin-bottom: 0;
        }

            .fix-size-block.last:after {
                top: calc(50% - .5rem);
                left: calc(100% + 1rem);
                transform: none;
            }
}

@media (min-width: 1200px) {

    #banner h1 {
        font-size: 60px;
        font-weight: 700;
    }

    #banner p {
        font-size: 18px;
    }
     
}

@media (min-width: 1500px) {
}
