/* =========================================







           RESET







           ========================================= */















        *,







        *::before,







        *::after {







            box-sizing: border-box;







        }















        html {







            margin: 0;







            padding: 0;







            background: #000;







            scroll-behavior: smooth;







        }















        body {







            margin: 0;







            padding: 0;















            background: #000;







            color: #fff;















            font-family: "Montserrat", Arial, Helvetica, sans-serif;















            overflow-x: hidden;







        }















        img {







            display: block;







            max-width: 100%;







            height: auto;







        }























        /* =========================================







           PAGE







           ========================================= */















        .gc-page {







            width: 100%;







            min-height: 100vh;















            background: #000;







        }























        /* =========================================







           PROGRAMME







           ========================================= */















        .gc-program {







            font-family: "Montserrat", Arial, Helvetica, sans-serif;















            --gc-red: #ef1745;







            --gc-white: #ffffff;







            --gc-muted: #a7a7a7;







            --gc-subtitle: #dedede;







            --gc-line: #424242;







            --gc-bg: #000000;















            width: 100%;















            background: var(--gc-bg);







            color: var(--gc-white);







        }























        .gc-program-container {















            width: 100%;







            max-width: 1200px;















            margin: 0 auto;















            padding:







                65px







                30px







                60px;







        }























        /* =========================================







           SPACE BETWEEN PROGRAMMES







           ========================================= */















        .gc-program + .gc-program {















            border-top: 1px solid #191919;







        }























        /* =========================================







           HEADER







           ========================================= */















        .gc-program-header {















            display: flex;















            align-items: center;







            justify-content: space-between;















            gap: 40px;















            margin-bottom: 42px;







        }























        .gc-program-title {







            font-family: "Oswald", Arial, Helvetica, sans-serif;















            margin: 0;















            color: var(--gc-white);















            font-size: clamp(







                28px,







                3vw,







                42px







            );















            font-weight: 800;







            line-height: 1.05;















            letter-spacing: -0.6px;







        }























        .gc-program-title .dot {















            color: var(--gc-red);















            margin:







                0







                7px;







        }























        .gc-program-title .highlight {















            color: var(--gc-red);







        }























        .gc-program-date {







            font-family: "Montserrat", Arial, Helvetica, sans-serif;















            margin: 0;















            color: var(--gc-white);















            font-size: 16px;







            font-weight: 400;







            line-height: 1.4;















            white-space: nowrap;







        }























        /* =========================================







           COLUMN HEADINGS







           ========================================= */















        .gc-program-columns {















            display: grid;















            grid-template-columns:







                120px







                minmax(250px, 1fr)







                minmax(390px, 1.65fr);















            column-gap: 35px;















            padding:







                0







                35px







                18px;















            border-bottom:







                2px solid







                var(--gc-red);







        }























        .gc-program-columns span {







            font-family: "Oswald", Arial, Helvetica, sans-serif;















            color: var(--gc-white);















            font-size: 15px;







            font-weight: 700;















            text-transform: uppercase;







        }























        /* =========================================







           PROGRAMME ROW







           ========================================= */















        .gc-program-row {















            display: grid;















            grid-template-columns:







                120px







                minmax(250px, 1fr)







                minmax(390px, 1.65fr);















            column-gap: 35px;















            align-items: start;















            padding:







                17px







                35px;















            border-bottom:







                1px solid







                var(--gc-line);







        }























        /* =========================================







           TIME







           ========================================= */















        .gc-time {







            font-family: "Oswald", Arial, Helvetica, sans-serif;















            color: var(--gc-white);















            font-size: 15px;







            font-weight: 700;







            line-height: 1.4;















            white-space: nowrap;







        }























        /* =========================================







           SESSION







           ========================================= */















        .gc-session-title {







            font-family: "Oswald", Arial, Helvetica, sans-serif;















            color: var(--gc-white);















            font-size: 16px;







            font-weight: 700;







            line-height: 1.25;







        }























        .gc-session-subtitle {







            font-family: "Oswald", Arial, Helvetica, sans-serif;















            display: block;















            margin-top: 3px;















            color: var(--gc-subtitle);















            font-size: 14px;







            font-weight: 400;







            font-style: italic;







            line-height: 1.3;







        }























        /* =========================================







           SPEAKERS







           ========================================= */















        .gc-speakers {







            font-family: "Montserrat", Arial, Helvetica, sans-serif;















            color: var(--gc-white);















            font-size: 14px;







            line-height: 1.42;







        }























        .gc-speaker {















            display: block;







        }























        .gc-speaker strong {















            color: var(--gc-white);















            font-weight: 700;







        }























        .gc-speaker span {















            margin-left: 4px;















            color: var(--gc-muted);















            font-weight: 400;







        }























        /* =========================================







           TO BE ANNOUNCED







           ========================================= */















        .gc-tba {







            font-family: "Oswald", Arial, Helvetica, sans-serif;















            color: #c7c7c7;















            font-size: 14px;







            font-style: italic;







        }























        /* =========================================







           BREAK







           ========================================= */















        .gc-program-row.gc-break {















            color: var(--gc-red);







        }























        .gc-break .gc-time,







        .gc-break .gc-session-title {















            color: var(--gc-red);







        }























        /* =========================================







           FEATURED / OBAMA







           ========================================= */















        .gc-program-row.gc-featured {















            background: var(--gc-red);















            border-bottom: 0;















            padding-top: 20px;







            padding-bottom: 20px;







        }























        .gc-featured .gc-time,







        .gc-featured .gc-session-title,







        .gc-featured .gc-speakers,







        .gc-featured .gc-speaker strong,







        .gc-featured .gc-speaker span {















            color: #fff;







        }























        .gc-featured .gc-session-title {















            font-size: 17px;







        }























        .gc-featured .gc-speaker span {















            opacity: 0.9;







        }























        /* =========================================







           TABLET







           ========================================= */















        @media (max-width: 1050px) {















            .gc-program-container {















                padding:







                    50px







                    22px;







            }























            .gc-program-header {















                gap: 25px;







            }























            .gc-program-columns,







            .gc-program-row {















                grid-template-columns:







                    105px







                    minmax(210px, 1fr)







                    minmax(300px, 1.4fr);















                column-gap: 22px;















                padding-left: 20px;







                padding-right: 20px;







            }























            .gc-program-date {















                font-size: 14px;







            }























            .gc-session-title {















                font-size: 15px;







            }























            .gc-session-subtitle,







            .gc-speakers {















                font-size: 13px;







            }















        }























        /* =========================================







           SMALL TABLET







           ========================================= */















        @media (max-width: 850px) {















            .gc-program-header {















                flex-direction: column;















                align-items: flex-start;















                gap: 10px;















                margin-bottom: 30px;







            }























            .gc-program-date {















                white-space: normal;







            }























            .gc-program-columns,







            .gc-program-row {















                grid-template-columns:







                    95px







                    1fr







                    1.25fr;















                column-gap: 18px;







            }















        }























        /* =========================================







           MOBILE







           ========================================= */















        @media (max-width: 700px) {















            .gc-program-container {















                padding:







                    38px







                    18px;







            }























            .gc-program-header {















                margin-bottom: 28px;







            }























            .gc-program-title {















                font-size: 27px;















                line-height: 1.12;







            }























            .gc-program-title .dot {















                margin:







                    0







                    3px;







            }























            .gc-program-date {















                font-size: 14px;







            }























            /* Remove column headings */















            .gc-program-columns {















                display: none;







            }























            /* Stack rows */















            .gc-program-row {















                display: block;















                padding:







                    22px







                    0;















                border-bottom:







                    1px solid







                    var(--gc-line);







            }























            /* Time */















            .gc-time {















                margin-bottom: 8px;















                color: var(--gc-red);















                font-size: 14px;







            }























            /* Session */















            .gc-session-title {















                font-size: 18px;







                line-height: 1.25;







            }























            .gc-session-subtitle {















                margin-top: 4px;















                font-size: 15px;







            }























            /* Speakers */















            .gc-speakers {















                margin-top: 15px;















                font-size: 15px;







                line-height: 1.45;







            }























            .gc-speaker {















                margin-bottom: 4px;







            }























            /* Break */















            .gc-program-row.gc-break {















                padding:







                    17px







                    0;







            }























            .gc-break .gc-time {















                display: inline-block;















                margin:







                    0







                    14px







                    0







                    0;







            }























            .gc-break .gc-session {















                display: inline-block;







            }























            .gc-break .gc-session-title {















                font-size: 15px;







            }























            /* Featured */















            .gc-program-row.gc-featured {















                margin:







                    15px







                    -18px







                    0;















                padding:







                    22px







                    18px;







            }























            .gc-featured .gc-time {















                color: #fff;







            }























            .gc-featured .gc-session-title {















                font-size: 19px;







            }























            .gc-featured .gc-speakers {















                margin-top: 15px;







            }















        }























        /* =========================================







           VERY SMALL MOBILE







           ========================================= */















        @media (max-width: 380px) {















            .gc-program-title {















                font-size: 24px;







            }























            .gc-session-title {















                font-size: 17px;







            }























            .gc-speakers {















                font-size: 14px;







            }















        }



















        /* ENGLISH PANEL BADGE */

        .gc-language-badge {

            display: inline-block;

            margin-top: 10px;

            padding: 4px 8px;

            border: 1px solid #666;

            color: #d8d8d8;

            font-family: "Montserrat", Arial, Helvetica, sans-serif;

            font-size: 11px;

            font-weight: 500;

            line-height: 1;

            letter-spacing: .2px;

            text-transform: uppercase;

        }



        /* =========================================

           LANDING PAGE POLISH

           ========================================= */



        body {

            min-height: 100vh;

        }



        .gc-program {

            isolation: isolate;

        }



        .gc-program-container {

            position: relative;

        }



        .gc-program-title,

        .gc-program-columns span,

        .gc-time,

        .gc-session-title,

        .gc-session-subtitle,

        .gc-tba {

            font-family: "Oswald", Arial, Helvetica, sans-serif;

        }



        .gc-program-date,

        .gc-speakers,

        .gc-language-badge {

            font-family: "Montserrat", Arial, Helvetica, sans-serif;

        }



        .gc-program-row:last-child {

            border-bottom-color: var(--gc-red);

        }



        .gc-language-badge {

            display: inline-block;

            margin-top: 10px;

            padding: 4px 8px;

            border: 1px solid #666;

            color: #d7d7d7;

            font-size: 11px;

            font-weight: 500;

            line-height: 1;

            letter-spacing: .2px;

            text-transform: uppercase;

        }



        .gc-program-row.gc-accent .gc-time,

        .gc-program-row.gc-accent .gc-session-title {

            color: var(--gc-red);

        }



        @media (max-width: 700px) {

            .gc-language-badge {

                margin-top: 10px;

            }



            .gc-program-row.gc-accent .gc-time,

            .gc-program-row.gc-accent .gc-session-title {

                color: var(--gc-red);

            }

        }



    
        /* SPEAKER LINKS */
        .gc-speaker a.gc-speaker-link {
            color: inherit;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .gc-speaker a.gc-speaker-link:hover,
        .gc-speaker a.gc-speaker-link:focus {
            color: #ef1745;
        }
