@charset "UTF-8";
html {
    --fine: 4px;
    --tiny: 8px;
    --small: 16px;
    --medium: 24px;
    --large: 48px;
    --huge:72px
}

:root {
    --white: #fff;
    --black: #000;
    --pink: #eb5f8e;
    --light-green: #72b72a;
    --light-blue: #35adce;
    --yellow: #fcc31e;
    --red: #d60000;
    --dark-blue: #00528a;
    --olive: #b9cc3f;
    --turquoise: #00ceb3;
    --light-orange: #f39722;
    --lavender: #c380bb;
    --bright-orange: #f76908;
    --dove-grey: #666;
    --graphite: #2f2e31;
    --alto: #d0d0d0;
    --gallery: #ececec;
    --wild-sand: #f5f5f5;
    --pastel-green: #e3f1d4;
    --pastel-red: #fbe6e6;
    --pastel-yellow: #fef3d2;
    --pastel-blue:#d7eff5
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    border: 0;
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align:baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display:block
}

body {
    line-height:1
}

ol, ul {
    list-style:none
}

blockquote, q {
    quotes:none
}

blockquote:after, blockquote:before, q:after, q:before {
    content: "";
    content:none
}

table {
    border-collapse: collapse;
    border-spacing:0
}

dialog {
    background-color: #fff;
    border: 0;
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 0;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width:fit-content
}

dialog + .backdrop, dialog::backdrop {
    background-color:rgba(0, 0, 0, .5)
}

dialog:not([open]) {
    display:none
}

dialog + .backdrop {
    background-color:rgba(0, 0, 0, .5)
}

._dialog_overlay, dialog + .backdrop {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top:0
}

body {
    color: #000;
    font-family: Poppins, giffgaff, Century Gothic, CenturyGothic, AppleGothic, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    min-width:320px
}

*, :after, :before {
    box-sizing:border-box
}

a {
    text-decoration:none
}

a, mark {
    color:inherit
}

mark {
    background-color:transparent
}

input, select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family:inherit
}

input, textarea {
    border-radius:0
}

button {
    -webkit-tap-highlight-color: transparent;
    background-color: transparent;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    outline-color: transparent;
    padding:0
}

button, button:disabled {
    color:inherit
}

summary {
    display:block
}

summary::-webkit-details-marker {
    display:none
}

summary:focus {
    outline-color:transparent
}

hr {
    margin:0
}

.gg-c-input-with-suffix__suffix .gg-u-link, .gg-u-link {
    color: #00528a;
    cursor: pointer;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset:2px
}

.gg-u-link:visited {
    color:#00528a
}

.gg-u-link--arrow:after {
    content: " ▸"
}

.gg-u-link--inherit-color, .gg-u-link--inherit-color:visited {
    color:inherit
}

.gg-u-link--center {
    display: table;
    margin-left: auto;
    margin-right:auto
}

.gg-u-text-megaphone {
    font-size: 40px;
    font-weight: 700;
    line-height:48px
}

@media (min-width: 768px) {
    .gg-u-text-megaphone {
        font-size: 82px;
        letter-spacing: -.02em;
        line-height:88px
    }
}

.gg-u-text-shout {
    font-size: 32px;
    font-weight: 700;
    line-height:40px
}

@media (min-width: 768px) {
    .gg-u-text-shout {
        font-size: 54px;
        line-height:64px
    }
}

.gg-u-text-louder {
    font-size: 24px;
    font-weight: 700;
    line-height:32px
}

@media (min-width: 768px) {
    .gg-u-text-louder {
        font-size: 36px;
        line-height:48px
    }
}

.gg-u-text-louder-regular {
    font-size: 24px;
    font-weight: 500;
    line-height:32px
}

@media (min-width: 768px) {
    .gg-u-text-louder-regular {
        font-size: 36px;
        line-height:48px
    }
}

.gg-u-text-loud {
    font-size: 20px;
    font-weight: 500;
    line-height:24px
}

@media (min-width: 768px) {
    .gg-u-text-loud {
        font-size: 24px;
        line-height:32px
    }
}

.gg-u-text-loud-bold {
    font-size: 20px;
    font-weight: 700;
    line-height:24px
}

@media (min-width: 768px) {
    .gg-u-text-loud-bold {
        font-size: 24px;
        line-height:32px
    }
}

.gg-u-text-speak-up {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-u-text-murmur {
    font-weight:400
}

.gg-u-text-murmur, .gg-u-text-murmur-bold {
    font-size: 14px;
    letter-spacing: .02em;
    line-height:21px
}

.gg-u-text-murmur-bold {
    font-weight:700
}

.gg-u-text-speak {
    font-size: 16px;
    font-weight: 400;
    line-height:24px
}

.gg-u-text-whisper-loud {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height:18px
}

.gg-u-text-super, .gg-u-text-whisper {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height:18px
}

.gg-u-text-super {
    display: inline-block;
    transform:translateY(-8px)
}

.gg-u-text-whisper .gg-u-text-super {
    transform:translateY(-4px)
}

.gg-u-text-center {
    text-align:center
}

.gg-u-readable-width {
    margin-left: 8px;
    margin-right: 8px;
    max-width:680px
}

@media screen and (min-width: 360px) {
    .gg-u-readable-width {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-u-readable-width {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-u-readable-width {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 776px) {
    .gg-u-readable-width {
        margin-left: auto;
        margin-right: auto;
        width:680px
    }
}

.gg-s-rich-text > .gg-u-text-loud, .gg-s-rich-text > .gg-u-text-louder, .gg-s-rich-text > .gg-u-text-louder-regular, .gg-s-rich-text > .gg-u-text-megaphone, .gg-s-rich-text > .gg-u-text-shout, .gg-s-rich-text > .gg-u-text-speak, .gg-s-rich-text > .gg-u-text-speak-up, .gg-s-rich-text > .gg-u-text-whisper, .gg-s-rich-text > .gg-u-text-whisper-loud, .gg-s-rich-text > p {
    margin-bottom: .75em;
    margin-top:.75em
}

.gg-s-rich-text > :first-child {
    margin-top:0
}

.gg-s-rich-text > :last-child {
    margin-bottom:0
}

:root {
    --strikethrough-color: #666;
    --strikethrough-thickness:1px
}

.gg-u-text-strikethrough {
    color: var(--strikethrough-color);
    text-decoration-thickness:var(--strikethrough-thickness)
}

.gg-u-text-megaphone .gg-u-text-strikethrough, .gg-u-text-megaphone.gg-u-text-strikethrough, .gg-u-text-shout .gg-u-text-strikethrough, .gg-u-text-shout.gg-u-text-strikethrough {
    --strikethrough-thickness:4px
}

.gg-t-black .gg-u-text-strikethrough {
    --strikethrough-color:#d0d0d0
}

@keyframes spin {
    0% {
        transform:rotate(0deg)
    }

    to {
        transform:rotate(1turn)
    }
}

@keyframes shake {
    0% {
        transform:translateX(0)
    }

    12.5% {
        transform:translateX(-6px) rotateY(-5deg)
    }

    37.5% {
        transform:translateX(5px) rotateY(4deg)
    }

    62.5% {
        transform:translateX(-3px) rotateY(-2deg)
    }

    87.5% {
        transform:translateX(2px) rotateY(1deg)
    }

    to {
        transform:translateX(0)
    }
}

@keyframes fade {
    0% {
        opacity:1
    }

    to {
        opacity:0
    }
}

@keyframes fade-in {
    0% {
        opacity:0
    }

    to {
        opacity:1
    }
}

.gg-t-black {
    background-color: #000;
    color:#fff
}

.gg-t-black .gg-u-link {
    color:#35adce
}

.gg-t-black .gg-c-list-ordered > li:before {
    background-color: #fff;
    color:#000
}

.gg-t-wild-sand {
    background-color: #f5f5f5;
    color:#000
}

.gg-t-wild-sand .gg-u-link {
    color:#00528a
}

.gg-t-white {
    background-color: #fff;
    color:#000
}

.gg-t-white .gg-u-link {
    color:#00528a
}

.gg-u-gradient-pink-to-blue {
    background-image: linear-gradient(90deg, #eb5fb4, #2c99e5);
    background-repeat: no-repeat;
    color:#000
}

@media (min-width: 500px) {
    .gg-u-gradient-pink-to-blue {
        background-image:linear-gradient(90deg, #eb5fb4 25%, #2c99e5 75%)
    }
}

.gg-u-gradient-pink-to-blue .gg-u-link {
    color:#000
}

.gg-u-gradient-yellow-to-pink {
    background-image: linear-gradient(80deg, #fcc31e, #e22db9);
    background-repeat: no-repeat;
    color:#000
}

@media (min-width: 500px) {
    .gg-u-gradient-yellow-to-pink {
        background-image:linear-gradient(80deg, #fcc31e 5%, #e22db9 95%)
    }
}

.gg-u-gradient-yellow-to-pink .gg-u-link {
    color:#000
}

.gg-u-gradient-blue-to-yellow {
    background-image: linear-gradient(100deg, #2c99e5 20%, #a3bd55, #fcc31f 84%);
    background-repeat: no-repeat;
    color:#000
}

@media (min-width: 500px) {
    .gg-u-gradient-blue-to-yellow {
        background-image:linear-gradient(100deg, #2c99e5 30%, #a3bd55, #fcc31f 70%)
    }
}

.gg-u-gradient-blue-to-yellow .gg-u-link {
    color:#000
}

.gg-u-gradient-rainbow {
    background-image: linear-gradient(135deg, #eb5f8e, transparent 70%), linear-gradient(45deg, #fe981d, #fcc31e, #35adce 85%), linear-gradient(135deg, #eb5f8e, #fcc31e, #35adce), linear-gradient(270deg, #35adce, transparent 30%);
    background-repeat: no-repeat;
    color:#000
}

.gg-u-gradient-rainbow .gg-u-link {
    color:#000
}

.gg-o-layout {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow-y:scroll
}

.gg-o-layout__nav-bar {
    flex-shrink:0
}

.gg-o-layout__main-content {
    display: block;
    flex:1 0 auto
}

.gg-o-layout__footer {
    flex-shrink: 0;
    margin-top:auto
}

@media screen and (min-width: 992px) {
    .gg-o-layout__nav-bar + * {
        margin-top:56px
    }
}

.gg-o-tiles {
    display: flex;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px;
    margin-top:-8px
}

.gg-o-tiles__item {
    flex-basis: 100%;
    margin-bottom: -4px;
    padding:8px
}

.gg-o-tiles__tile {
    color: #000;
    display: block;
    height: 100%;
    padding: 2px;
    position: relative;
    transition: transform .2s ease-in-out;
    will-change: transform;
    z-index:2
}

.gg-o-tiles__tile:before {
    background-color: #fff;
    border: 2px solid #000;
    z-index:-1
}

.gg-o-tiles__tile:after, .gg-o-tiles__tile:before {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top:0
}

.gg-o-tiles__tile:after {
    box-shadow: 4px 4px #000;
    transition: transform .2s ease-in-out, opacity .2s ease;
    will-change: transform;
    z-index:-2
}

.gg-o-tiles__tile:active, .gg-o-tiles__tile:focus, .gg-o-tiles__tile:hover {
    outline-color: transparent;
    transform:scale(1.01)
}

@media (min-width: 360px) {
    .gg-o-tiles--large {
        margin-left: -12px;
        margin-right: -12px;
        margin-top:-12px
    }

    .gg-o-tiles--large .gg-o-tiles__item {
        padding:12px
    }

    .gg-o-tiles--large .gg-o-tiles__tile:after {
        box-shadow:4px 4px #000
    }
}

@media (min-width: 360px) and(min-width: 360px) {
    .gg-o-tiles--large .gg-o-tiles__tile:after {
        box-shadow:8px 8px #000
    }
}

@media (hover) {
    .gg-o-tiles__item {
        margin-bottom:0
    }

    .gg-o-tiles__tile:after {
        opacity: 0;
        transform:scale(.9)
    }

    .gg-o-tiles__tile:active:after, .gg-o-tiles__tile:focus:after, .gg-o-tiles__tile:hover:after {
        opacity: 1;
        transform:scale(1)
    }
}

.gg-c-cards {
    grid-gap: var(--medium);
    display: grid;
    gap:var(--medium)
}

.gg-c-cards__image {
    background-color: #f5f5f5;
    background-position: 50%;
    background-size: cover;
    display: block;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
    width:100%
}

.gg-c-cards__card {
    background-color: var(--white);
    border: 2px solid var(--black);
    color: #000;
    display: block;
    height: 100%;
    position: relative;
    transition: transform .2s ease-in-out;
    will-change: transform;
    z-index:2
}

.gg-c-cards__card:active .gg-c-cards__image, .gg-c-cards__card:focus .gg-c-cards__image, .gg-c-cards__card:hover .gg-c-cards__image {
    opacity:.7
}

.gg-c-cards__card:active, .gg-c-cards__card:focus, .gg-c-cards__card:hover {
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-cards__title {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-cards__label {
    background-color: #000;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 18px;
    padding: 2px 8px;
    position: absolute;
    right: var(--tiny);
    top:var(--tiny)
}

.gg-c-cards__body {
    padding:16px
}

.gg-c-form__label {
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    max-width:calc(100% - 32px)
}

.gg-c-form__element {
    display: block;
    margin-bottom: 24px;
    margin-top: 4px;
    position: relative;
    width:100%
}

.gg-c-form__element--invalid .gg-c-form__input, .gg-c-form__element--invalid .gg-c-form__textarea, .gg-c-form__element--validating .gg-c-form__input, .gg-c-form__element--validating .gg-c-form__textarea {
    border-color:var(--red)
}

.gg-c-form__element--invalid .gg-c-form__sort-code .gg-c-form__input, .gg-c-form__element--validating .gg-c-form__sort-code .gg-c-form__input {
    padding-right:8px
}

.gg-c-form__element--chunky-buttons, .gg-c-form__element--date, .gg-c-form__element--select {
    width:100%
}

.gg-c-form__element--chunky-buttons:after, .gg-c-form__element--date:after, .gg-c-form__element--select:after {
    right: 0;
    top:-32px
}

.gg-c-form__element--checkbox:after {
    right: 0;
    top:0
}

.gg-c-form__element--no-icon:after {
    display: none;
    visibility:hidden
}

.gg-c-form__show-password {
    cursor: pointer;
    float: right;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 18px;
    line-height:24px
}

@media (hover) {
    .gg-c-form__show-password:hover {
        text-decoration:underline
    }
}

.gg-c-form__input {
    border: 2px solid #000;
    display: block;
    font-size: 16px;
    font-weight: 400;
    height: 40px;
    line-height: 24px;
    padding: 0 8px;
    width:100%
}

.gg-c-form__input:active, .gg-c-form__input:focus, .gg-c-form__input:hover {
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-form__input:disabled {
    background-color: #f5f5f5;
    border-color:#d0d0d0
}

.gg-c-form__input[type=number] {
    -moz-appearance:textfield
}

.gg-c-form__input[type=number]::-webkit-inner-spin-button, .gg-c-form__input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin:0
}

.gg-c-form__element--date, .gg-c-form__element--input-with-spinner-controls {
    display: flex;
    flex-wrap:wrap
}

.gg-c-form__element--date .gg-c-form__input, .gg-c-form__element--input-with-spinner-controls .gg-c-form__input {
    flex:1 1 0%
}

.gg-c-form__element--date .gg-c-form__element-message, .gg-c-form__element--input-with-spinner-controls .gg-c-form__element-message {
    flex-basis:100%
}

.gg-c-form__element--date {
    justify-content:space-between
}

.gg-c-form__element--input-with-spinner-controls .gg-c-form__spinner-controls {
    display:flex
}

.gg-c-form__element--input-with-spinner-controls .gg-c-form__spinner-controls__control {
    align-items: center;
    background-color: #f5f5f5;
    color: #000;
    cursor: pointer;
    display: flex;
    justify-content: center;
    margin-left: 8px;
    padding: 0 16px;
    transition:all .3s ease-out
}

.gg-c-form__element--input-with-spinner-controls .gg-c-form__spinner-controls__control:active, .gg-c-form__element--input-with-spinner-controls .gg-c-form__spinner-controls__control:hover {
    background-color: #35adce;
    color:#fff
}

.gg-c-form__textarea {
    border: 2px solid #000;
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    min-height: 40px;
    overflow: auto;
    padding: 8px;
    resize: vertical;
    width:100%
}

.gg-c-form__textarea:active, .gg-c-form__textarea:focus, .gg-c-form__textarea:hover {
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-form__textarea:disabled {
    background-color: #f5f5f5;
    border-color:#d0d0d0
}

.gg-c-form__textarea--container {
    position:relative
}

.gg-c-form__textarea--container:after {
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='%23000' stroke-miterlimit='10' stroke-width='4' d='M2 22 22 2m0 10L12 22'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    bottom: 2px;
    content: "";
    display: block;
    height: 16px;
    pointer-events: none;
    position: absolute;
    right: 2px;
    width:16px
}

.gg-c-form__date {
    display: flex;
    flex-wrap:wrap
}

.gg-c-form__date__day, .gg-c-form__date__month, .gg-c-form__date__year {
    width:32%
}

.gg-c-form__date .gg-c-form__element-message {
    flex-basis:100%
}

.gg-c-form__element--invalid .gg-c-form__element-message--invalid {
    display: block;
    max-height: 200px;
    opacity: 1;
    transition: all .25s ease-in-out .1s, opacity .125s ease-in-out .25s;
    visibility:visible
}

.gg-c-form__element--invalid .gg-c-checkbox__pseudo-checkbox:before, .gg-c-form__element--invalid .gg-c-chunky-buttons__button, .gg-c-form__element--invalid .gg-c-input-with-prefix__prefix, .gg-c-form__element--invalid .gg-c-input-with-suffix__suffix, .gg-c-form__element--invalid .gg-c-radio__text {
    border-color:var(--red)
}

.gg-c-form__element-message {
    max-height: 0;
    opacity: 0;
    transition: all .125s ease-in-out .1s, opacity .125s ease-in-out .125s;
    visibility:hidden
}

.gg-c-form__element-message--invalid {
    color:var(--red)
}

.gg-c-form__element-message--invalid:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0zm-.51 4.07A1.91 1.91 0 0 1 12.76 4a.31.31 0 0 1 .18.16c.72 1.14.53 7.13.4 8.61-.07.91-1.59 1.07-2 .71-1-1.05-.6-3.86-.65-5.38.04-.96-.15-3.71.8-4.03zm.57 15.2a1 1 0 0 1-.3-.05 1.59 1.59 0 0 1-1.13-1.95 2.31 2.31 0 0 1 .1-.28 2.08 2.08 0 0 1 1.18-.87 1.37 1.37 0 0 1 1.46.42 1.43 1.43 0 0 1 .49 1.18 1.67 1.67 0 0 1-1.8 1.55z' fill='%23d60000'/%3E%3C/svg%3E");
    content: "";
    display: inline-block;
    height: var(--small);
    margin-right: var(--fine);
    position: relative;
    top: 2px;
    width:var(--small)
}

.gg-c-form__element-message:first-of-type {
    margin-top:var(--fine)
}

.gg-c-form__input:focus ~ .gg-c-form__element-message--help-text, .gg-c-form__textarea:focus ~ .gg-c-form__element-message--help-text, .gg-c-input-with-prefix:focus-within + .gg-c-form__element-message--help-text, .gg-c-input-with-suffix:focus-within + .gg-c-form__element-message--help-text {
    display: block;
    max-height: 200px;
    opacity: 1;
    transition: all .25s ease-in-out .1s, opacity .125s ease-in-out .25s;
    visibility:visible
}

.gg-c-input-with-button {
    display:flex
}

.gg-c-input-with-button__input {
    flex:1
}

.gg-c-input-with-button__btn {
    background-color: #000;
    border: 2px solid #000;
    border-left: none;
    color: #fff;
    flex-basis: 0;
    padding-left: 24px;
    padding-right: 24px;
    white-space: nowrap;
    width:100%
}

.gg-c-input-with-button__btn:focus, .gg-c-input-with-button__btn:hover {
    color:#fcc31e
}

.gg-t-black .gg-c-input-with-button__btn {
    background-color: #fcc31e;
    color:#000
}

.gg-c-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.51 6.85c-1.3 1.2-2.1 2.3-3.4 3.5a3.64 3.64 0 0 0-.7.6c-.7.7-1.2 1.1-1.8 1.8L12 14.35l-.6-.6c-2.1-2.4-4.7-4.4-7-6.7a.49.49 0 0 0-.68 0 7.69 7.69 0 0 0-1.8 1.8c-.1.2 0 .3.1.5v.1c.2.6 1 1.1 1.5 1.6 1.3 1.3 2.7 2.6 4.1 4s2.5 2.7 3.9 3.9l.1.1a.49.49 0 0 0 .68 0c1.6-1.6 3.4-3.1 5-4.7s3.1-3.3 4.7-4.9a.49.49 0 0 0 0-.68l-1.9-1.9c-.1-.22-.39-.22-.59-.02Z'/%3E%3C/svg%3E");
    background-position: right 8px top 50%;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    border: 2px solid #000;
    border-radius: 0;
    font-size: 16px;
    font-weight: 400;
    height: 40px;
    line-height: 24px;
    padding-left: 8px;
    padding-right: 48px;
    width:100%
}

.gg-c-select:active, .gg-c-select:focus, .gg-c-select:hover {
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-select::-ms-expand {
    display:none
}

.gg-c-form-error {
    align-items: center;
    background-color: rgba(214, 0, 0, .1);
    border-top: solid var(--tiny) var(--red);
    display: flex;
    justify-content: left;
    padding:16px
}

.gg-c-form-error__icon {
    align-self: start;
    flex-shrink: 0;
    height: 48px;
    width:48px
}

.gg-c-form-error__message {
    padding-left:16px
}

.gg-c-form-error__title {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-chunky-buttons {
    --column-count: 2;
    --gap:8px
}

.gg-c-chunky-buttons__legend {
    margin-bottom:8px
}

.gg-c-chunky-buttons__list {
    grid-gap: var(--gap);
    display: grid;
    grid-template-columns:repeat(var(--column-count), 1fr)
}

.gg-c-chunky-buttons__option {
    position:relative
}

.gg-c-chunky-buttons__option:focus-within {
    outline: 2px solid #35adce;
    outline-offset: 2px;
    z-index:3
}

.gg-c-chunky-buttons__radio {
    cursor: pointer;
    opacity: 0;
    position: absolute;
    z-index:2
}

.gg-c-chunky-buttons__button {
    align-items: center;
    background-color: #fff;
    border: 2px solid #d0d0d0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-size: 16px;
    font-weight: 700;
    height: 100%;
    justify-content: center;
    line-height: 24px;
    padding: 8px;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width:100%
}

.gg-c-chunky-buttons__icon {
    fill: currentcolor;
    display: block;
    height: 48px;
    margin-bottom: 4px;
    margin-left: auto;
    margin-right: auto;
    width:48px
}

.gg-c-chunky-buttons__radio:checked + .gg-c-chunky-buttons__button {
    border: 2px solid #000;
    box-shadow: 0 0 0 2px #000;
    position: relative;
    z-index:3
}

.gg-c-chunky-buttons__radio-circle {
    background-clip: content-box;
    border: 2px solid var(--black);
    border-radius: 50%;
    height: var(--medium);
    margin-bottom: var(--tiny);
    margin-top: var(--tiny);
    padding: 2px;
    width:var(--medium)
}

.gg-c-chunky-buttons__radio:checked + .gg-c-chunky-buttons__button .gg-c-chunky-buttons__radio-circle {
    background-color:var(--black)
}

.gg-c-chunky-buttons--1-col {
    --column-count:1
}

.gg-c-chunky-buttons--3-col {
    --column-count:3
}

.gg-c-chunky-buttons--4-col {
    --column-count:4
}

.gg-c-chunky-buttons--5-col {
    --column-count:5
}

.gg-c-chunky-buttons--fit-content .gg-c-chunky-buttons__list {
    grid-template-columns:repeat(var(--column-count), max-content)
}

.gg-c-chunky-buttons--no-gap {
    --gap:0
}

.gg-c-chunky-buttons--no-gap .gg-c-chunky-buttons__radio:checked + .gg-c-chunky-buttons__button {
    box-shadow:0 0 0 2px #000, inset 2px 0 0 0 #000
}

.gg-c-chunky-buttons--no-gap .gg-c-chunky-buttons__option + .gg-c-chunky-buttons__option .gg-c-chunky-buttons__button {
    border-left:0
}

.gg-c-chunky-buttons--no-gap .gg-c-chunky-buttons__option:first-child .gg-c-chunky-buttons__radio:checked + .gg-c-chunky-buttons__button {
    box-shadow:0 0 0 2px #000
}

@media (hover) {
    .gg-c-chunky-buttons__button:hover {
        background-color:var(--gallery)
    }
}

.gg-c-select-list__legend {
    margin-bottom:8px
}

.gg-c-select-list__options {
    display: flex;
    flex-direction:column
}

.gg-c-select-list__option {
    position:relative
}

.gg-c-select-list__option + .gg-c-select-list__option {
    margin-top:4px
}

.gg-c-select-list__option--additional {
    animation-delay: calc(var(--animation-order) * .1s);
    animation-duration: .25s;
    animation-fill-mode: both;
    animation-name: select-list-show-additional;
    animation-timing-function: ease-in-out;
    display:none
}

.gg-c-select-list__radio {
    cursor: pointer;
    opacity: 0;
    position: absolute;
    z-index:2
}

.gg-c-select-list__button {
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    font-weight: 400;
    justify-content: space-between;
    line-height: 24px;
    min-height: 48px;
    padding: 0 16px;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select:none
}

.gg-c-select-list__button:after {
    background-image: url(images/svg/tick-white.svg);
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: 24px;
    content: "";
    height: 48px;
    opacity: 0;
    transition: opacity .25s ease-out;
    width:48px
}

.gg-c-select-list__button-text {
    padding:8px 0
}

.gg-c-select-list__radio:checked + .gg-c-select-list__button {
    background-color: #000;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-select-list__radio:checked + .gg-c-select-list__button:after {
    opacity:1
}

.gg-c-select-list__radio:checked + .gg-c-select-list__button .gg-c-select-list__button-text {
    transform: scale(1.1);
    transform-origin: left;
    transition:transform .25s ease-out
}

.gg-c-select-list__expand {
    display: table;
    margin: 8px auto;
    text-align:center
}

.gg-c-select-list__expand__icon {
    display: block;
    height: 16px;
    margin: 0 auto;
    transition: transform .25s ease-out;
    width:16px
}

.gg-c-select-list--show-additional .gg-c-select-list__option--additional {
    display:block
}

.gg-c-select-list--show-additional .gg-c-select-list__expand {
    display:none
}

@media (hover) {
    .gg-c-select-list__button:hover {
        background-color:#d0d0d0
    }

    .gg-c-select-list__expand:hover .gg-c-select-list__expand__icon {
        transform:translateY(2px)
    }
}

@keyframes select-list-show-additional {
    0% {
        opacity: 0;
        transform:scale(.8) translateY(-8px)
    }

    to {
        opacity:1
    }
}

.gg-c-checkbox {
    cursor: pointer;
    display: block;
    min-height: 40px;
    padding-left: 48px;
    position:relative
}

.gg-c-checkbox + .gg-c-checkbox {
    margin-top:8px
}

.gg-c-checkbox__checkbox {
    cursor: pointer;
    opacity: 0;
    position: absolute;
    z-index:2
}

.gg-c-checkbox__text {
    display: inline-block;
    margin-top:var(--tiny)
}

.gg-c-checkbox__pseudo-checkbox:after, .gg-c-checkbox__pseudo-checkbox:before {
    content: " ";
    cursor: pointer;
    height: 40px;
    left: 0;
    position: absolute;
    width:40px
}

.gg-c-checkbox__pseudo-checkbox:before {
    border: 2px solid #000;
    display: block;
    margin-right:8px
}

.gg-c-checkbox__pseudo-checkbox:after {
    background-image: url(images/svg/tick-black.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: var(--medium);
    opacity: 0;
    transform: scale(.5);
    transition:opacity .15s ease-in-out, transform .15s ease-in-out
}

@media screen and (prefers-reduced-motion: reduce) {
    .gg-c-checkbox__pseudo-checkbox:after {
        transition:all 0s
    }
}

.gg-c-checkbox__shine {
    left: -8px;
    opacity: 0;
    position: absolute;
    top: -8px;
    z-index:-1
}

.gg-c-checkbox__checkbox:focus + .gg-c-checkbox__pseudo-checkbox:before {
    outline: #35adce;
    outline-offset: -2px;
    outline-style:solid
}

.gg-c-checkbox__checkbox:checked ~ .gg-c-checkbox__shine {
    animation:checkbox-shine .3s ease-in-out both
}

@media screen and (prefers-reduced-motion: reduce) {
    .gg-c-checkbox__checkbox:checked ~ .gg-c-checkbox__shine {
        animation:none
    }
}

.gg-c-checkbox__checkbox:checked + .gg-c-checkbox__pseudo-checkbox:after {
    opacity: 1;
    transform:scale(1)
}

@keyframes checkbox-shine {
    0% {
        opacity: 0;
        transform:scale(0)
    }

    50% {
        opacity: 1;
        transform:scale(1)
    }

    to {
        opacity: 0;
        transform:scale(1.3)
    }
}

.gg-c-input-with-prefix {
    display:flex
}

.gg-c-input-with-prefix:focus-within {
    outline:2px solid #35adce
}

.gg-c-input-with-prefix__prefix {
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
    border-right: none;
    color: #000;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    height: 40px;
    line-height: 24px;
    padding:0 0 0 8px
}

.gg-c-input-with-prefix__input {
    border-left: none;
    flex:1
}

.gg-c-input-with-prefix__input:focus {
    outline-color:transparent
}

.gg-c-input-with-suffix {
    display:flex
}

.gg-c-input-with-suffix:focus-within {
    outline:2px solid #35adce
}

.gg-c-input-with-suffix__suffix {
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
    border-left: none;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    height: 40px;
    line-height: 24px;
    padding:0 8px 0 0
}

.gg-c-input-with-suffix__input {
    border-right: none;
    flex:1
}

.gg-c-input-with-suffix__input:focus {
    outline-color:transparent
}

.gg-c-radio__text {
    align-items: center;
    background-color: #fff;
    border: 2px solid #d0d0d0;
    display: flex;
    font-weight: 700;
    min-height: 48px;
    padding:8px var(--fine) 8px 44px
}

.gg-c-radio__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: content-box;
    border: 2px solid #000;
    border-radius: 50%;
    height: 24px;
    left: 12px;
    margin: auto;
    padding: 2px;
    position: absolute;
    top: 13px;
    width: 24px;
    z-index:1
}

.gg-c-radio__input:checked {
    background-color:#000
}

.gg-c-radio__input:checked + .gg-c-radio__text {
    border: 2px solid #000;
    box-shadow: inset 0 0 0 1px var(--black);
    outline:1px solid #000
}

.gg-c-radio__input:focus {
    box-shadow: 0 0 0 2px #35adce;
    outline-color:transparent
}

.gg-c-radio__error {
    color: var(--red);
    margin-top:4px
}

.gg-c-radio__error-icon {
    margin-left:auto
}

.gg-c-radio__legend {
    display: flex;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    width:100%
}

.gg-c-radio__label {
    display: block;
    margin-top: 8px;
    position:relative
}

.gg-c-goodybag-meter {
    display:flex
}

.gg-c-goodybag-meter__info {
    display: flex;
    flex-wrap: wrap;
    margin-top:16px
}

.gg-c-goodybag-meter__value {
    margin-left:4px
}

.gg-c-goodybag-meter__level {
    flex-basis: 100%;
    padding-left: 28px;
    width:100%
}

.gg-c-goodybag-meter__level:not(:last-child) {
    margin-bottom:10px
}

.gg-c-goodybag-meter__indicator {
    background-color: #000;
    display: block;
    height: 4px;
    max-width: 192px;
    overflow: hidden;
    position: relative;
    width:100%
}

.gg-c-goodybag-meter__indicator-bar {
    animation: gg-c-goodybag-meter__indicator .75s ease-in-out .25s forwards;
    background-color: #72b72a;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top:0
}

@keyframes gg-c-goodybag-meter__indicator {
    0% {
        transform:translateX(-100%)
    }

    to {
        transform:translateX(0)
    }
}

.gg-goodybag-detailed__container {
    align-items: flex-end;
    display:flex
}

.gg-goodybag-detailed__details {
    margin:0
}

.gg-goodybag-detailed__details--item {
    margin-bottom:6px
}

.gg-goodybag-detailed__sr-only {
    clip: rect(0, 0, 0, 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width:1px
}

.gg-goodybag-detailed__icon {
    background-repeat: no-repeat;
    display: table-cell;
    height: var(--medium);
    width:var(--medium)
}

.gg-goodybag-detailed__icon--data {
    background-image:url(https://www.giffgaff.design/iconography/icons/library/data-world-map.svg)
}

.gg-goodybag-detailed__icon--minutes {
    background-image:url(https://www.giffgaff.design/iconography/icons/library/phone-call.svg)
}

.gg-goodybag-detailed__icon--texts {
    background-image:url(https://www.giffgaff.design/iconography/icons/library/speech-bubble-text.svg)
}

.gg-goodybag-detailed__value {
    display: table-cell;
    margin-left: var(--medium);
    padding-left:var(--tiny)
}

.gg-c-list {
    padding-left:16px
}

.gg-c-list li {
    margin-bottom:8px
}

.gg-c-list li:before {
    background-color: #000;
    content: "";
    display: inline-block;
    height: 8px;
    margin-left: -16px;
    margin-right: 8px;
    margin-top: -.25em;
    vertical-align: middle;
    width:8px
}

.gg-c-list--pink li:before {
    background-color:var(--pink)
}

.gg-c-list--blue li:before {
    background-color:var(--light-blue)
}

.gg-c-list--green li:before {
    background-color:var(--light-green)
}

.gg-t-black .gg-c-list {
    padding-left:16px
}

.gg-t-black .gg-c-list li {
    margin-bottom:8px
}

.gg-t-black .gg-c-list li:before {
    background-color: #fff;
    content: "";
    display: inline-block;
    height: 8px;
    margin-left: -16px;
    margin-right: 8px;
    margin-top: -.25em;
    vertical-align: middle;
    width:8px
}

.gg-c-tick-list__item {
    display:flex
}

.gg-c-tick-list__item + .gg-c-tick-list__item {
    margin-top:8px
}

.gg-c-tick-list__item:before {
    background-image: url(images/svg/tick.svg);
    content: "";
    flex: none;
    height: 24px;
    margin-right: 8px;
    width:24px
}

.gg-c-list-ordered {
    counter-reset:ordered-list
}

.gg-c-list-ordered > li {
    margin-bottom: 8px;
    padding-left: 32px;
    position:relative
}

.gg-c-list-ordered > li:before {
    align-items: center;
    background-color: #000;
    color: #fff;
    content: counter(ordered-list);
    counter-increment: ordered-list;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    height: 24px;
    justify-content: center;
    left: 0;
    letter-spacing: .05em;
    line-height: 24px;
    margin-right: 8px;
    min-width: 24px;
    padding: 1px 4px 0;
    position: absolute;
    text-align: center;
    top:0
}

.gg-c-joined-list li {
    display: flex;
    margin: 0;
    min-height: 56px;
    padding-bottom: var(--small);
    padding-left: 50px;
    position:relative
}

.gg-c-joined-list li:before {
    background-color: var(--black);
    bottom: 0;
    content: "";
    left: 18px;
    position: absolute;
    top: 0;
    width:var(--fine)
}

.gg-c-joined-list li:last-child:before {
    display:none
}

.gg-c-joined-list span {
    align-self:center
}

.gg-c-joined-list__icon {
    background-color: var(--black);
    border-radius: 50%;
    height: 40px;
    left: 0;
    position: absolute;
    width:40px
}

.gg-c-joined-list__icon svg {
    fill: var(--white);
    height: var(--medium);
    left: var(--tiny);
    position: absolute;
    top: var(--tiny);
    width:var(--medium)
}

.gg-c-masthead {
    position:relative
}

.gg-c-masthead:not(.gg-c-masthead--gallery) {
    background-color: #000;
    border-top: 1px solid #fff;
    color:#fff
}

.gg-c-masthead--gallery {
    background-color: #ececec;
    color:#000
}

.gg-c-masthead__content {
    margin-left: 8px;
    margin-right: 8px;
    max-width: 1140px;
    padding-top:36px
}

@media screen and (min-width: 360px) {
    .gg-c-masthead__content {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-c-masthead__content {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-c-masthead__content {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 1236px) {
    .gg-c-masthead__content {
        margin-left: auto;
        margin-right: auto;
        width:1140px
    }
}

.gg-c-masthead__picture {
    display: flex;
    height: -moz-max-content;
    height: max-content;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 24px;
    position: relative;
    z-index:10
}

.gg-c-masthead__picture img {
    height: 192px;
    max-width: 100%;
    width:312px
}

.gg-c-masthead__page-subtitle {
    margin-top:8px
}

@media (min-width: 992px) {
    .gg-c-masthead__page-subtitle {
        margin-top:16px
    }

    .gg-c-masthead__text {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-bottom: 0;
        min-height: 504px;
        padding-bottom: 72px;
        padding-top:72px
    }

    .gg-c-masthead__picture {
        margin:0
    }

    .gg-c-masthead__picture img {
        height: 504px;
        width:504px
    }
}

.gg-c-masthead:not(.gg-c-masthead--minor) .gg-c-masthead__content:before {
    background-color: #eb5f8e;
    background-repeat: no-repeat;
    bottom: 0;
    -webkit-clip-path: polygon(0 0, 0 100%, 53% 100%);
    clip-path: polygon(0 0, 0 100%, 53% 100%);
    content: "";
    display: block;
    height: 111px;
    left: 0;
    max-width: 100%;
    position: absolute;
    width:500px
}

.gg-c-masthead:not(.gg-c-masthead--minor) .gg-c-masthead__content:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 474.9 117.3'%3E%3Cpath fill='%23fff' d='M474.9 0v117.3l-271.1-.1-203.8.1L474.9 0'/%3E%3Cpath d='M474.9 117.3V44l-48.7 73.3zm0-117.3-41.4 10.2 41.4 26.9zM373.4 117.3l16.7-25.2L417 51.6 376 25l-.7-.5-64.6 16 38.5 25-34.3 51.8zm-111.3 0v-.1l26-39.2-35.8-23.1-64.6 16 32.6 21.2-16.7 25.2zm-111.4 0 8.4-12.9-29.6-19.2-64.6 16 24.7 16.1z'/%3E%3C/svg%3E");
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    display: flex;
    height: 125px;
    max-width: 100%;
    position: absolute;
    right: 0;
    width:506px
}

@media (min-width: 992px) {
    .gg-c-masthead:not(.gg-c-masthead--minor) .gg-c-masthead__content {
        grid-column-gap: 48px;
        display: grid;
        grid-template-columns: 1fr 504px;
        min-height: 0;
        padding:0
    }

    .gg-c-masthead:not(.gg-c-masthead--minor) .gg-c-masthead__content:before {
        -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
        clip-path: polygon(100% 0, 0 100%, 100% 100%);
        height: 224px;
        left: auto;
        right:0
    }

    .gg-c-masthead:not(.gg-c-masthead--minor) .gg-c-masthead__content:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 117.3 474.9'%3E%3Cpath fill='%23fff' d='M0 0h117.3l-.1 271.1.1 203.8L0 0'/%3E%3Cpath d='M117.3 0H44l73.3 48.7zM0 0l10.2 41.4L37.1 0zm117.3 101.5L92.1 84.8 51.6 57.9 25 98.9l-.5.7 16 64.6 25-38.5 51.8 34.3zm0 111.3h-.1l-39.2-26-23.1 35.8 16 64.6 21.2-32.6 25.2 16.7zm0 111.4-12.9-8.4-19.2 29.6 16 64.6 16.1-24.7z'/%3E%3C/svg%3E");
        height: 504px;
        width:124px
    }
}

.gg-c-masthead-minor {
    align-items: center;
    background-color: #000;
    border-top: 1px solid #fff;
    color: #fff;
    display: flex;
    padding-bottom: 24px;
    padding-top:24px
}

.gg-c-masthead-minor__content {
    margin-left: 8px;
    margin-right: 8px;
    max-width:1140px
}

@media screen and (min-width: 360px) {
    .gg-c-masthead-minor__content {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-c-masthead-minor__content {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-c-masthead-minor__content {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 1236px) {
    .gg-c-masthead-minor__content {
        margin-left: auto;
        margin-right: auto;
        width:1140px
    }
}

.gg-c-masthead-minor__page-subtitle {
    margin-top:8px
}

@media (min-width: 768px) {
    .gg-c-masthead-minor {
        padding-bottom: 48px;
        padding-top:48px
    }
}

.gg-t-black .gg-c-masthead-minor, .gg-t-wild-sand .gg-c-masthead-minor {
    background-color: #fff;
    color:#000
}

.gg-c-masthead-minimal {
    border-bottom: 2px solid var(--black);
    margin-left: 8px;
    margin-right: 8px;
    max-width: 1140px;
    padding-bottom: 24px;
    padding-top:24px
}

@media screen and (min-width: 360px) {
    .gg-c-masthead-minimal {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-c-masthead-minimal {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-c-masthead-minimal {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 1236px) {
    .gg-c-masthead-minimal {
        margin-left: auto;
        margin-right: auto;
        width:1140px
    }
}

@media (min-width: 768px) {
    .gg-c-masthead-minimal {
        padding-bottom: 48px;
        padding-top:48px
    }
}

.gg-c-btn {
    -webkit-tap-highlight-color: transparent;
    align-items: stretch;
    display: inline-flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: 700;
    height: 48px;
    justify-content: start;
    outline-color: transparent;
    position: relative;
    white-space:nowrap
}

.gg-c-btn:before {
    background-color: #000;
    border-radius: 24px;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top:4px
}

.gg-c-btn--center {
    display: table;
    margin-left: auto;
    margin-right:auto
}

.gg-c-btn__switch {
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 24px;
    color: #000;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 44px;
    justify-content: center;
    padding: 0 24px;
    position: relative;
    text-align: center;
    transition:transform .15s ease-in-out
}

.gg-c-btn__switch:after, .gg-c-btn__switch:before {
    background-size: 100%;
    content: "";
    display: block;
    height: 16px;
    opacity: 0;
    position: absolute;
    width:16px
}

@media (hover) {
    .gg-c-btn__switch:before {
        background-image: url(images/svg/CTA_doodles_left-01.svg);
        left: -12px;
        outline-color: transparent;
        top:-4px
    }

    .gg-c-btn__switch:after {
        background-image: url(images/svg/CTA_doodles_right-01.svg);
        bottom: -4px;
        outline-color: transparent;
        right:-12px
    }
}

.gg-c-btn:focus .gg-c-btn__switch, .gg-c-btn:hover .gg-c-btn__switch {
    border: 2px solid #000;
    transition:all .15s ease-in-out
}

@media (hover) {
    .gg-c-btn:focus .gg-c-btn__switch:before, .gg-c-btn:hover .gg-c-btn__switch:before {
        animation: gg-c-btn-doodle-animation-left .3s ease-in-out;
        animation-fill-mode:both
    }

    .gg-c-btn:focus .gg-c-btn__switch:after, .gg-c-btn:hover .gg-c-btn__switch:after {
        animation: gg-c-btn-doodle-animation-right .3s ease-in-out;
        animation-fill-mode:both
    }
}

.gg-c-btn:active .gg-c-btn__switch {
    border: 2px solid #000;
    transform:translateY(4px)
}

@media (hover) {
    .gg-c-btn:active .gg-c-btn__switch:after, .gg-c-btn:active .gg-c-btn__switch:before {
        animation:gg-c-btn-doodle-fade .15s ease-in-out
    }
}

.gg-c-btn--small {
    font-size: 16px;
    font-weight: 700;
    height: 36px;
    line-height:24px
}

.gg-c-btn--small-container {
    height:48px
}

.gg-c-btn--small .gg-c-btn__switch {
    height: 33px;
    padding:0 16px
}

.gg-c-btn--small .gg-c-btn__switch:after {
    bottom:-7px
}

.gg-c-btn--primary .gg-c-btn__switch {
    background-color: #fcc31e;
    color:#000
}

.gg-c-btn--primary .gg-c-btn__switch:focus, .gg-c-btn--primary .gg-c-btn__switch:hover {
    background-color: #ffd966;
    color:#000
}

.gg-c-btn--destructive .gg-c-btn__switch, .gg-c-btn--destructive .gg-c-btn__switch:focus, .gg-c-btn--destructive .gg-c-btn__switch:hover {
    background-color: #d60000;
    color:#fff
}

.gg-c-btn--loading {
    color: transparent;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select:none
}

.gg-c-btn--loading:active .gg-c-btn__switch {
    transform:translateY(-4px)
}

.gg-c-btn--loading .gg-c-btn__switch {
    animation:none
}

.gg-c-btn--loading .gg-c-btn__switch:after, .gg-c-btn--loading .gg-c-btn__switch:before {
    animation: none;
    display:none
}

.gg-c-btn--loading:after {
    content: ""
}

.gg-c-btn--loading .gg-c-btn__switch {
    color: transparent;
    padding:8px 32px
}

.gg-c-btn--loading-text {
    color: #000;
    position: relative;
    top: -38px;
    z-index:1
}

@media screen and (prefers-reduced-motion: no-preference) {
    .gg-c-btn--loading:after {
        animation-duration: .7s;
        animation-iteration-count: infinite;
        animation-name: spin;
        animation-timing-function: linear;
        border: 2px solid #000;
        border-radius: 50%;
        border-top-color: transparent;
        content: "";
        display: block;
        height: 24px;
        left: 50%;
        margin-left: -12px;
        margin-top: -14px;
        position: absolute;
        top: 50%;
        width:24px
    }

    .gg-c-btn--loading-text {
        clip: rect(0 0 0 0);
        border: 0;
        height: .0625rem;
        margin: -.0625rem;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width:.0625rem
    }
}

.gg-c-btn--shake {
    animation:shake .4s ease-in-out
}

.gg-c-btn--shake .gg-c-btn__switch:after, .gg-c-btn--shake .gg-c-btn__switch:before {
    background-size:0
}

.gg-c-btn.gg-c-btn--disabled, .gg-c-btn:disabled, .gg-c-btn[disabled] {
    background-color: transparent;
    cursor: default;
    pointer-events:none
}

.gg-c-btn.gg-c-btn--disabled:active .gg-c-btn__switch, .gg-c-btn:disabled:active .gg-c-btn__switch, .gg-c-btn[disabled]:active .gg-c-btn__switch {
    transform:translateY(-4px)
}

.gg-c-btn.gg-c-btn--disabled .gg-c-btn__switch, .gg-c-btn:disabled .gg-c-btn__switch, .gg-c-btn[disabled] .gg-c-btn__switch {
    animation:none
}

.gg-c-btn.gg-c-btn--disabled .gg-c-btn__switch:after, .gg-c-btn.gg-c-btn--disabled .gg-c-btn__switch:before, .gg-c-btn:disabled .gg-c-btn__switch:after, .gg-c-btn:disabled .gg-c-btn__switch:before, .gg-c-btn[disabled] .gg-c-btn__switch:after, .gg-c-btn[disabled] .gg-c-btn__switch:before {
    animation: none;
    display:none
}

.gg-c-btn.gg-c-btn--disabled:after, .gg-c-btn:disabled:after, .gg-c-btn[disabled]:after {
    display:none
}

.gg-c-btn.gg-c-btn--disabled .gg-c-btn__switch, .gg-c-btn:disabled .gg-c-btn__switch, .gg-c-btn[disabled] .gg-c-btn__switch {
    background-color: #666;
    border-color: #666;
    color:#fff
}

@media (max-width: 414px) {
    .gg-c-btn--full-width {
        width:100%
    }
}

@keyframes gg-c-btn-doodle-animation-left {
    0% {
        opacity: 0;
        transform:translate(4px, 4px) scale(.95)
    }

    60% {
        opacity: 1;
        transform:translate(-2px, -2px) scale(1.02)
    }

    to {
        opacity: 1;
        transform:translate(0) scale(1)
    }
}

@keyframes gg-c-btn-doodle-animation-right {
    0% {
        opacity: 0;
        transform:translate(-4px, -4px) scale(.95)
    }

    60% {
        opacity: 1;
        transform:translate(2px, 2px) scale(1.02)
    }

    to {
        opacity: 1;
        transform:translate(0) scale(1)
    }
}

@keyframes gg-c-btn-doodle-fade {
    0% {
        opacity:1
    }

    to {
        opacity:0
    }
}

.gg-t-black .gg-c-btn:before {
    background-color:#b2b2b2
}

.gg-t-black .gg-c-btn--primary:before {
    background-color:#7d610f
}

@media (hover) {
    .gg-t-black .gg-c-btn__switch:before {
        background-image:url(images/svg/CTA_doodles_left-01-gray.svg)
    }

    .gg-t-black .gg-c-btn__switch:after {
        background-image:url(images/svg/CTA_doodles_right-01-gray.svg)
    }

    .gg-t-black .gg-c-btn--primary .gg-c-btn__switch:before {
        background-image:url(images/svg/CTA_doodles_left-01-yellow.svg)
    }

    .gg-t-black .gg-c-btn--primary .gg-c-btn__switch:after {
        background-image:url(images/svg/CTA_doodles_right-01-yellow.svg)
    }
}

.gg-c-loading-icon:after {
    content: "Loading..."
}

@media screen and (prefers-reduced-motion: no-preference) {
    .gg-c-loading-icon {
        animation-duration: .7s;
        animation-iteration-count: infinite;
        animation-name: spin;
        animation-timing-function: linear;
        border: 2px solid;
        border-radius: 50%;
        border-top: 2px solid transparent;
        display: block;
        height: 24px;
        width:24px
    }

    .gg-c-loading-icon:after {
        content: ""
    }
}

.gg-c-loading-icon--center {
    margin-left: auto;
    margin-right:auto
}

.gg-c-loading-icon--center:after {
    display: flex;
    justify-content:center
}

.gg-c-faq-summary__q {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-faq-summary__a + .gg-c-faq-summary__q {
    margin-top:24px
}

.gg-c-faqs__item + .gg-c-faqs__item {
    border-top:2px solid
}

.gg-c-faqs__q {
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    padding: 16px 16px 16px 32px;
    position:relative
}

.gg-c-faqs__a {
    padding-bottom: 24px;
    padding-left:32px
}

.gg-c-faqs__icon {
    display: inline-block;
    height: 16px;
    margin-left: -32px;
    margin-right: 16px;
    margin-top: -.25em;
    position: relative;
    transform: scale(.9);
    transition: transform .15s ease-in-out;
    vertical-align: middle;
    width:16px
}

.gg-c-faqs__icon:before {
    height: 2px;
    left: 1px;
    top: 7px;
    width:14px
}

.gg-c-faqs__icon:after, .gg-c-faqs__icon:before {
    background-color: currentcolor;
    content: "";
    display: block;
    position:absolute
}

.gg-c-faqs__icon:after {
    height: 14px;
    left: 7px;
    top: 1px;
    width:2px
}

.gg-c-faqs__faq[open] .gg-c-faqs__icon {
    transform:rotate(45deg) scale(1.1)
}

.gg-c-faqs__faq[open] .gg-c-faqs__a {
    animation:faqs 375ms ease-in-out both
}

@keyframes faqs {
    0% {
        opacity: 0;
        visibility:hidden
    }

    1% {
        opacity: 0;
        visibility:visible
    }

    to {
        opacity: 1;
        visibility:visible
    }
}

.gg-o-page-section {
    margin-left: 8px;
    margin-right: 8px;
    max-width: 1140px;
    padding-bottom: 24px;
    padding-top:24px
}

@media screen and (min-width: 360px) {
    .gg-o-page-section {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-o-page-section {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-o-page-section {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 1236px) {
    .gg-o-page-section {
        margin-left: auto;
        margin-right: auto;
        width:1140px
    }
}

.gg-o-page-section + .gg-o-page-section {
    padding-top:0
}

.gg-o-page-section--no-bottom {
    padding-bottom:0
}

.gg-o-page-section--readable-width {
    margin-left: 8px;
    margin-right: 8px;
    max-width:680px
}

@media screen and (min-width: 360px) {
    .gg-o-page-section--readable-width {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-o-page-section--readable-width {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-o-page-section--readable-width {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 776px) {
    .gg-o-page-section--readable-width {
        margin-left: auto;
        margin-right: auto;
        width:680px
    }
}

@media (min-width: 768px) {
    .gg-o-page-section {
        padding-bottom: 48px;
        padding-top:48px
    }

    .gg-o-page-section--no-bottom {
        padding-bottom:0
    }
}

.gg-o-media {
    align-items: flex-start;
    display:flex
}

.gg-o-media__content {
    flex:1 1 auto
}

.gg-o-media--center-vertical {
    align-items:center
}

.gg-o-media--tiny-gutter > .gg-o-media__content + .gg-o-media__img, .gg-o-media--tiny-gutter > .gg-o-media__img + .gg-o-media__content {
    margin-left:8px
}

.gg-o-media--small-gutter > .gg-o-media__content + .gg-o-media__img, .gg-o-media--small-gutter > .gg-o-media__img + .gg-o-media__content {
    margin-left:16px
}

.gg-o-media--medium-gutter > .gg-o-media__content + .gg-o-media__img, .gg-o-media--medium-gutter > .gg-o-media__img + .gg-o-media__content {
    margin-left:24px
}

.gg-c-accordion {
    background-color: #fff;
    border: 2px solid #000;
    color: #000;
    position: relative;
    transition: transform .2s ease-in-out;
    will-change:transform
}

.gg-c-accordion:active, .gg-c-accordion:focus, .gg-c-accordion:hover {
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-accordion:focus-within {
    outline:2px solid #35adce
}

.gg-c-accordion + .gg-c-accordion {
    margin-top:16px
}

.gg-c-accordion__summary {
    align-items: center;
    display: flex;
    padding: 16px;
    transition: background-color .2s ease-in-out;
    will-change:transform
}

.gg-c-accordion__summary:focus, .gg-c-accordion__summary:hover {
    background-color: #ececec;
    cursor:pointer
}

.gg-c-accordion__marker {
    margin-right:16px
}

.gg-c-accordion__icon {
    margin-left:auto
}

.gg-c-accordion__content {
    padding: 24px;
    will-change:transform
}

.gg-c-accordion[open]:before {
    opacity: 1;
    transition:opacity .4s ease-in-out
}

.gg-c-accordion[open] .gg-c-accordion__summary {
    background-color: #000;
    color:#fff
}

.gg-c-accordion[open] .gg-c-accordion__marker-open {
    display:none
}

.gg-c-accordion[open] .gg-c-accordion__content {
    animation:gg-c-accordion__content .2s ease-in-out .15s both
}

@keyframes gg-c-accordion__content {
    0% {
        opacity: 0;
        transform:translateY(-4px)
    }

    to {
        opacity: 1;
        transform:translateY(0)
    }
}

.gg-c-tab-bar {
    align-items: stretch;
    display: flex;
    justify-content:flex-start
}

.gg-c-tab-bar__option {
    flex-grow: 1;
    min-height: 40px;
    position:relative
}

.gg-c-tab-bar__radio {
    cursor: pointer;
    opacity: 0;
    position: absolute;
    z-index:2
}

.gg-c-tab-bar__tab {
    align-items: center;
    background-color: #fff;
    border: 1px solid #000;
    cursor: pointer;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    text-align: center;
    transition: all .3s ease-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    white-space: nowrap;
    width:100%
}

.gg-c-tab-bar__radio:checked + .gg-c-tab-bar__tab {
    background-color: #000;
    color: #fff;
    font-weight: 900;
    letter-spacing:.04em
}

.gg-c-tab-bar__radio:focus + .gg-c-tab-bar__tab {
    box-shadow: 0 0 2px 2px #35adce;
    outline-color: transparent;
    z-index:1
}

@media (hover) {
    .gg-c-tab-bar__tab:hover {
        background-color: rgba(0, 0, 0, .5);
        color: #fff;
        letter-spacing:.02em
    }
}

.gg-c-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    margin-top:8px
}

.gg-c-breadcrumbs__crumb {
    font-size: 16px;
    font-weight: 400;
    line-height:24px
}

.gg-c-breadcrumbs__crumb:first-of-type {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-breadcrumbs__crumb:after {
    content: "▸";
    display: inline-block;
    text-align: center;
    width:24px
}

.gg-c-breadcrumbs__crumb:last-child:after {
    display:none
}

.gg-c-breadcrumbs__link {
    color: #00528a;
    text-decoration:underline
}

.gg-c-breadcrumbs__link:active, .gg-c-breadcrumbs__link:focus, .gg-c-breadcrumbs__link:hover {
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-breadcrumbs [aria-current] {
    color: inherit;
    font-weight: 400;
    text-decoration:none
}

.gg-c-breadcrumbs [aria-current]:after {
    content: ""
}

@media (max-width: 992px) {
    .gg-c-breadcrumbs__crumb {
        display:none
    }

    .gg-c-breadcrumbs__crumb:first-child, .gg-c-breadcrumbs__crumb:nth-last-child(2) {
        display:block
    }

    .gg-c-breadcrumbs__crumb:nth-last-child(2):before {
        content: ". . .";
        display:inline-block
    }

    .gg-c-breadcrumbs__crumb:nth-last-child(2) .gg-c-breadcrumbs__link:before {
        color: #000;
        content: "▸";
        display: inline-block;
        pointer-events: none;
        text-align: center;
        width:24px
    }

    .gg-c-breadcrumbs__crumb:nth-last-child(2):first-child .gg-c-breadcrumbs__link:before, .gg-c-breadcrumbs__crumb:nth-last-child(2):first-child:before, .gg-c-breadcrumbs__crumb:nth-last-child(2):nth-child(2) .gg-c-breadcrumbs__link:before, .gg-c-breadcrumbs__crumb:nth-last-child(2):nth-child(2):before {
        display:none
    }
}

.gg-o-focus-panel {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding:24px 8px
}

.gg-o-focus-panel--light-blue {
    background-color:#35adce
}

.gg-o-focus-panel--light-pink {
    background-color:#eb5f8e
}

.gg-o-focus-panel--black {
    background-color:#000
}

.gg-o-focus-panel--hero {
    min-height:calc(100vh - 56px)
}

.gg-o-focus-panel__container {
    background-color: #fff;
    color: #000;
    padding:24px
}

@media screen and (min-width: 360px) {
    .gg-o-focus-panel {
        padding-left: 16px;
        padding-right:16px
    }

    .gg-o-focus-panel__container {
        max-width:512px
    }
}

@media (min-width: 768px) {
    .gg-o-focus-panel {
        padding:48px
    }

    .gg-o-focus-panel__container {
        max-width: 752px;
        padding:48px
    }
}

.gg-c-alert {
    opacity: 0;
    overflow:hidden
}

.gg-c-alert--center .gg-c-alert__close {
    position: absolute;
    right:0
}

.gg-c-alert--center .gg-c-alert__message {
    margin: auto;
    text-align:center
}

.gg-c-alert__icon {
    align-self: start;
    background-image: url(images/svg/info-circle-white.svg);
    background-repeat: no-repeat;
    flex-shrink: 0;
    height: 48px;
    margin-bottom: 16px;
    margin-right: 12px;
    margin-top: 16px;
    width:48px
}

.gg-c-alert--info {
    background-color: #00528a;
    color:#fff
}

.gg-c-alert--info .gg-u-link {
    color:#fff
}

.gg-c-alert--error {
    background-color: var(--red);
    color:#fff
}

.gg-c-alert--error .gg-c-alert__icon {
    background-image:url(images/svg/exclamation-white.svg)
}

.gg-c-alert--error .gg-u-link {
    color:#fff
}

.gg-c-alert--success {
    background-color: var(--light-green);
    color:var(--black)
}

.gg-c-alert--success .gg-c-alert__icon {
    background-image:url(images/svg/tick-in-circle.svg)
}

.gg-c-alert--success .gg-u-link {
    color:#000
}

.gg-c-alert--warning {
    background-color: var(--yellow);
    color:#000
}

.gg-c-alert--warning .gg-c-alert__icon {
    background-image:url(images/svg/exclamation.svg)
}

.gg-c-alert--warning .gg-u-link {
    color:#000
}

.gg-c-alert--animate-in {
    animation-duration: .4s;
    animation-fill-mode: forwards;
    animation-name: alert__animate-in;
    animation-timing-function:ease-in-out
}

.gg-c-alert--animate-out {
    animation-duration: .2s;
    animation-fill-mode: forwards;
    animation-name: alert__animate-out;
    animation-timing-function:ease-in-out
}

.gg-c-alert__content {
    display: flex;
    margin-left: 8px;
    margin-right: 8px;
    max-width: 1140px;
    position:relative
}

@media screen and (min-width: 360px) {
    .gg-c-alert__content {
        margin-left: 16px;
        margin-right:16px
    }
}

@media screen and (min-width: 768px) {
    .gg-c-alert__content {
        margin-left: 24px;
        margin-right:24px
    }
}

@media screen and (min-width: 992px) {
    .gg-c-alert__content {
        margin-left: 48px;
        margin-right:48px
    }
}

@media screen and (min-width: 1236px) {
    .gg-c-alert__content {
        margin-left: auto;
        margin-right: auto;
        width:1140px
    }
}

.gg-c-alert__title {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-alert__message {
    padding-bottom: 16px;
    padding-top:16px
}

.gg-c-alert__close {
    align-self: flex-start;
    cursor: pointer;
    margin-left: auto;
    margin-right: -8px;
    padding:16px
}

.gg-c-alert__close:hover .gg-c-alert__close-icon {
    transform:scale(1.1)
}

.gg-c-alert__close-icon {
    fill: currentcolor;
    display: inline-block;
    height: 16px;
    margin-top: -.25em;
    transition: all .1s ease-in-out;
    vertical-align: middle;
    width:16px
}

@media (min-width: 360px) {
    .gg-c-alert__close {
        margin-right:-16px
    }
}

@keyframes alert__animate-in {
    0% {
        opacity: 0;
        transform:translateY(-48px)
    }

    80% {
        transform:translateY(0)
    }

    to {
        opacity:1
    }
}

@keyframes alert__animate-out {
    0% {
        opacity:1
    }

    99% {
        opacity:0
    }

    to {
        display: none;
        height: 0;
        opacity: 0;
        visibility:hidden
    }
}

.gg-c-modal {
    max-width: calc(100% - 16px);
    overscroll-behavior: contain;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width:640px
}

.gg-c-modal__close-button {
    height: 48px;
    margin: 8px;
    padding: 12px;
    position: absolute;
    right: 0;
    top: 0;
    width:48px
}

.gg-c-modal__close-icon {
    fill: currentcolor;
    display: block;
    height: 16px;
    margin: auto;
    width:16px
}

.gg-c-modal__header {
    align-items: center;
    border-bottom: 2px solid #000;
    display: flex;
    margin-left: 16px;
    margin-right: 16px;
    padding: 16px 0;
    top:0
}

.gg-c-modal__main-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
    margin-right:24px
}

@media (min-width: 768px) {
    .gg-c-modal__main-title {
        font-size: 36px;
        line-height:48px
    }
}

.gg-c-modal__content {
    max-height: 400px;
    overflow-y: scroll;
    padding: 16px 16px 24px;
    scrollbar-width:thin
}

.gg-c-modal__content::-webkit-scrollbar {
    -webkit-appearance: none;
    appearance: none;
    width:8px
}

.gg-c-modal__content::-webkit-scrollbar-thumb {
    background-color:#000
}

@media screen and (max-width: 768px) {
    .gg-c-modal {
        max-height:65%
    }
}

@media screen and (min-width: 768px) {
    .gg-c-modal__header {
        margin-left: 24px;
        margin-right:24px
    }

    .gg-c-modal__content {
        padding:16px 24px 24px
    }

    .gg-c-modal__close-button {
        margin: 16px;
        padding:8px
    }
}

.gg-c-striped-table tbody tr:nth-of-type(odd) {
    background-color:#f5f5f5
}

.gg-c-striped-table tbody tr:nth-of-type(2n) {
    background-color:#fff
}

.gg-c-video {
    background-color: #000;
    height: 0;
    margin: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position:relative
}

.gg-c-video__iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width:100%
}

.gg-c-social-links {
    display:flex
}

.gg-c-social-links__icon {
    fill: currentcolor;
    height: 16px;
    transition: transform .4s ease-out;
    width:16px
}

.gg-c-social-links li + li {
    margin-left:8px
}

.gg-c-social-links__link {
    align-items: center;
    border: 2px solid #000;
    display: flex;
    height: 48px;
    justify-content: center;
    transition: background-color .35s ease-out;
    width:48px
}

.gg-c-social-links__link:active, .gg-c-social-links__link:focus, .gg-c-social-links__link:hover {
    background-color: #000;
    color: #fff;
    outline-color:transparent
}

.gg-c-social-links__link:active .gg-c-social-links__icon, .gg-c-social-links__link:focus .gg-c-social-links__icon, .gg-c-social-links__link:hover .gg-c-social-links__icon {
    transform: scale(1.3);
    transition:transform .4s ease-out
}

.gg-t-black .gg-c-social-links__link {
    border:2px solid #fff
}

.gg-t-black .gg-c-social-links__link:active, .gg-t-black .gg-c-social-links__link:focus, .gg-t-black .gg-c-social-links__link:hover {
    background-color: #fff;
    color:#000
}

.gg-c-share__button-group {
    display: flex;
    flex-wrap:wrap
}

.gg-c-share__button {
    align-items: center;
    background-color: #000;
    color: #fff;
    display: inline-flex;
    font-size: 16px;
    font-weight: 700;
    height: 48px;
    letter-spacing: .3px;
    line-height: 24px;
    margin-top: 4px;
    padding:0 16px
}

.gg-c-share__button:not(:last-child) {
    margin-right:4px
}

.gg-c-share__button:focus, .gg-c-share__button:hover {
    color:#fcc31e
}

.gg-c-share__text {
    position: relative;
    top:1px
}

.gg-c-share__icon {
    fill: currentcolor;
    height: 24px;
    margin-right: 8px;
    width:24px
}

.gg-t-black .gg-c-share__button {
    border:2px solid
}

.gg-c-spot {
    max-width:100%
}

.gg-c-spot, .gg-c-spot__content, .gg-c-spot__icon {
    margin-left: auto;
    margin-right:auto
}

.gg-c-spot__content {
    margin-top: 16px;
    text-align:center
}

@media (min-width: 600px) {
    .gg-c-spot__content {
        max-width:200px
    }
}

.gg-c-spots {
    --columns: 1;
    grid-gap: 48px 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 48px 16px;
    grid-template-columns: repeat(var(--columns), 1fr);
    width:100%
}

@supports (display: grid) {
    .gg-c-spots {
        display:grid
    }
}

.gg-c-spots .gg-c-spot {
    margin-top:16px
}

@supports (display: grid) {
    .gg-c-spots .gg-c-spot {
        margin-top:0
    }
}

.gg-s-md-generated-html code {
    background-color: #000;
    color: #fff;
    font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 14px;
    padding:4px
}

.gg-s-md-generated-html img:not([class]) {
    display: block;
    margin: 0 auto;
    max-width: 768px;
    width:100%
}

.gg-s-md-generated-html pre {
    background-color: #000;
    color: #fff;
    font-family: Courier New, Courier, monospace;
    margin: 16px 0;
    overflow-x: scroll;
    padding:16px
}

.gg-s-md-generated-html table {
    margin:16px 0
}

.gg-s-md-generated-html table td, .gg-s-md-generated-html table th {
    border: 1px solid #d0d0d0;
    padding:8px
}

.gg-s-md-generated-html table thead {
    font-weight:700
}

.gg-s-md-generated-html table tr:nth-child(2n) {
    background-color:#ececec
}

.gg-s-md-generated-html figure {
    margin: 24px auto;
    max-width: 768px;
    width: -moz-fit-content;
    width:fit-content
}

.gg-s-md-generated-html figure figcaption {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height:18px
}

.gg-s-md-generated-html figure figcaption a {
    display:block
}

.gg-s-md-generated-html figure figcaption a:before {
    content: "Source: "
}

.gg-s-md-generated-html figure figcaption h4 {
    color:#666
}

.gg-s-md-generated-html figure figcaption p {
    margin:0
}

.gg-s-md-generated-html dl {
    margin:16px 0
}

.gg-s-md-generated-html dl dd {
    margin-left:2em
}

.gg-s-md-generated-html dl dt {
    font-weight: 700;
    margin-left:1em
}

.gg-s-md-generated-html blockquote {
    border-left: 8px solid #ececec;
    padding-left:16px
}

.gg-s-md-generated-html > * {
    margin-bottom: .75em;
    margin-top:1.2em
}

.gg-s-md-generated-html a:not([class]) {
    color: #00528a;
    cursor: pointer;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset:2px
}

.gg-s-md-generated-html a:not([class]):visited {
    color:#00528a
}

.gg-s-md-generated-html > :first-child {
    margin-top:0
}

.gg-s-md-generated-html > :last-child {
    margin-bottom:0
}

.gg-s-md-generated-html h1:not([class]) {
    font-size: 32px;
    font-weight: 700;
    line-height:40px
}

@media (min-width: 768px) {
    .gg-s-md-generated-html h1:not([class]) {
        font-size: 54px;
        line-height:64px
    }
}

.gg-s-md-generated-html h2:not([class]) {
    font-size: 24px;
    font-weight: 700;
    line-height:32px
}

@media (min-width: 768px) {
    .gg-s-md-generated-html h2:not([class]) {
        font-size: 36px;
        line-height:48px
    }
}

.gg-s-md-generated-html h3:not([class]) {
    font-size: 20px;
    font-weight: 500;
    line-height:24px
}

@media (min-width: 768px) {
    .gg-s-md-generated-html h3:not([class]) {
        font-size: 24px;
        line-height:32px
    }
}

.gg-s-md-generated-html h4:not([class]), .gg-s-md-generated-html h5:not([class]) {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-s-md-generated-html h6:not([class]) {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height:18px
}

.gg-s-md-generated-html ul:not([class]) {
    padding-left:16px
}

.gg-s-md-generated-html ul:not([class]) li {
    margin-bottom:8px
}

.gg-s-md-generated-html ul:not([class]) li:before {
    background-color: #000;
    content: "";
    display: inline-block;
    height: 8px;
    margin-left: -16px;
    margin-right: 8px;
    margin-top: -.25em;
    vertical-align: middle;
    width:8px
}

.gg-s-md-generated-html ol {
    counter-reset:ordered-list
}

.gg-s-md-generated-html ol > li {
    margin-bottom: 8px;
    padding-left: 32px;
    position:relative
}

.gg-s-md-generated-html ol > li:before {
    align-items: center;
    background-color: #000;
    color: #fff;
    content: counter(ordered-list);
    counter-increment: ordered-list;
    display: flex;
    height: 24px;
    justify-content: center;
    left: 0;
    letter-spacing: .05em;
    margin-right: 8px;
    min-width: 24px;
    padding: 1px 4px 0;
    position: absolute;
    text-align: center;
    top:0
}

.gg-s-md-generated-html ol > li:before, .gg-s-md-generated-html strong:not([class]) {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-s-md-generated-html hr {
    background-image: url(images/png/marker-rule.optimised.png);
    background-repeat: repeat-x;
    background-size: 411px 4px;
    border: 0;
    -webkit-clip-path: polygon(2px 0, calc(100% - 1px) 0, 100% 1px, 100% calc(100% - 1px), calc(100% - 4px) 100%, 1px 100%, 0 calc(100% - 1px), 0 1px);
    clip-path: polygon(2px 0, calc(100% - 1px) 0, 100% 1px, 100% calc(100% - 1px), calc(100% - 4px) 100%, 1px 100%, 0 calc(100% - 1px), 0 1px);
    height:4px
}

.gg-s-md-generated-html > svg {
    display: block;
    margin-bottom: 0;
    margin-top:0
}

.gg-c-search {
    background-color: #fff;
    border: 4px solid #000;
    display:flex
}

.gg-c-search:focus-within {
    outline:2px solid #35adce
}

.gg-c-search__input {
    border: 0;
    font-size: 16px;
    font-weight: 400;
    height: 48px;
    line-height: 24px;
    padding: 0 8px;
    width:100%
}

.gg-c-search__input:focus {
    outline-color:transparent
}

.gg-c-search__input::-webkit-search-cancel-button, .gg-c-search__input::-webkit-search-decoration, .gg-c-search__input::-webkit-search-results-button, .gg-c-search__input::-webkit-search-results-decoration {
    display:none
}

.gg-c-search__button {
    display: flex;
    flex-shrink: 0;
    width:48px
}

.gg-c-search__svg {
    height: 24px;
    margin: auto;
    width:24px
}

.gg-t-black .gg-c-search {
    border:4px solid #d0d0d0
}

.gg-c-sidenav__item {
    align-items: center;
    color: #000;
    display: flex;
    min-height: 48px;
    padding-left: 8px;
    transition:background-color .3s ease
}

.gg-c-sidenav__item + .gg-c-sidenav__item {
    margin-top:4px
}

.gg-c-sidenav__item:focus {
    background-color: #d0d0d0;
    color: #000;
    outline-color:transparent
}

.gg-c-sidenav__item:hover:not(.gg-c-sidenav__item--current-page) {
    background-color:#d0d0d0
}

.gg-c-sidenav__item--current-page {
    background-color: #000;
    color:#fff
}

.gg-c-link-button {
    align-items: center;
    background-color: var(--white);
    border: 2px solid var(--black);
    color: var(--black);
    display: flex;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    padding:var(--tiny) 0
}

.gg-c-link-button__chevron {
    margin-left: auto;
    margin-right:var(--tiny)
}

.gg-c-link-button__icon {
    fill: currentcolor;
    height: 32px;
    margin-left: var(--tiny);
    margin-right: var(--tiny);
    width:32px
}

.gg-c-link-button:hover {
    background-color:var(--gallery)
}

.gg-c-box {
    background-color: var(--wild-sand);
    border-top: solid var(--tiny);
    color: var(--black);
    padding:var(--small)
}

.gg-c-box--pink {
    border-top-color:var(--pink)
}

.gg-c-box--blue {
    border-top-color:var(--light-blue)
}

.gg-c-box--green {
    border-top-color:var(--light-green)
}

.gg-c-box--yellow {
    border-top-color:var(--yellow)
}

.gg-c-minor-alert {
    align-items: center;
    background-color: var(--pastel-red);
    border-top: solid var(--tiny) var(--red);
    display: flex;
    justify-content: left;
    padding:16px
}

.gg-c-minor-alert__icon {
    align-self: start;
    background-image: url(images/svg/exclamation.svg);
    background-repeat: no-repeat;
    flex-shrink: 0;
    height: 48px;
    margin-right: 12px;
    width:48px
}

.gg-c-minor-alert__title {
    font-size: 16px;
    font-weight: 700;
    line-height:24px
}

.gg-c-minor-alert--warning {
    background-color: var(--pastel-yellow);
    border-top:solid var(--tiny) var(--yellow)
}

.gg-c-minor-alert--success {
    background-color: var(--pastel-green);
    border-top:solid var(--tiny) var(--light-green)
}

.gg-c-minor-alert--success .gg-c-minor-alert__icon {
    background-image:url(images/svg/tick-in-circle.svg)
}

.gg-c-minor-alert--info {
    background-color: var(--pastel-blue);
    border-top:solid var(--tiny) var(--light-blue)
}

.gg-c-minor-alert--info .gg-c-minor-alert__icon {
    background-image:url(images/svg/info-circle.svg)
}

.gg-c-pagination {
    display: flex;
    flex-wrap: nowrap;
    overflow-x:auto
}

.gg-c-pagination__container, .gg-c-pagination__item {
    display: flex;
    justify-content:center
}

.gg-c-pagination__item {
    align-items: center;
    cursor: pointer;
    font-size: 20px;
    font-weight: 500;
    font-weight: 800;
    line-height: 24px;
    margin:0 8px
}

@media (min-width: 768px) {
    .gg-c-pagination__item {
        font-size: 24px;
        line-height:32px
    }
}

.gg-c-pagination__item--current-page {
    background-color: #000;
    color:#fff
}

.gg-c-pagination__first, .gg-c-pagination__last {
    border-bottom:none
}

@media (min-width: 992px) {
    .gg-c-pagination__first, .gg-c-pagination__last {
        display:flex
    }
}

.gg-c-pagination__goto {
    display:none
}

@media (min-width: 768px) {
    .gg-c-pagination__goto {
        border-bottom: 2px solid #fff;
        display:flex
    }

    .gg-c-pagination__goto:hover {
        border-bottom:2px solid #000
    }
}

.gg-c-wonky-box {
    background-color: #000;
    color: #fff;
    display: block;
    text-align: center;
    width: -moz-fit-content;
    width:fit-content
}

.gg-c-wonky-box__short {
    -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 2px) 100%, 4px calc(100% - 2px));
    clip-path: polygon(0 0, 100% 0, calc(100% - 2px) 100%, 4px calc(100% - 2px));
    padding:8px 12px
}

.gg-c-wonky-box__long {
    -webkit-clip-path: polygon(4px 2px, calc(100% - 4px) 0, 100% 100%, 0 100%);
    clip-path: polygon(4px 2px, calc(100% - 4px) 0, 100% 100%, 0 100%);
    padding:6px 12px
}

.gg-t-black .gg-c-wonky-box {
    background-color: #fff;
    color:#000
}

:root {
    --switch-transition-speed:.5s
}

.gg-c-switch {
    display: inline-block;
    height: 48px;
    position: relative;
    width:72px
}

.gg-c-switch:active, .gg-c-switch:focus, .gg-c-switch:hover {
    border-radius: 36px;
    outline: 2px solid #35adce;
    outline-offset:0
}

.gg-c-switch__container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    padding: 8px 0;
    width:100%
}

.gg-c-switch__container .gg-c-switch {
    justify-self:right
}

.gg-c-switch__container__text {
    align-self:center
}

.gg-c-switch__slider {
    border-radius: 36px;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition:var(--switch-transition-speed)
}

.gg-c-switch__slider--blank:before {
    content: ""
}

.gg-c-switch__slider--on-off:before {
    content: "Off";
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 21px;
    padding:8px 7px
}

.gg-c-switch__slider--yes-no:before {
    content: "No";
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 21px;
    padding:8px
}

.gg-c-switch__slider:before {
    background-color: #fff;
    border-radius: 50%;
    bottom: 6px;
    height: 36px;
    left: 5px;
    position: absolute;
    right: 5px;
    top: 6px;
    transition: var(--switch-transition-speed);
    width:36px
}

.gg-c-switch input {
    opacity:0
}

.gg-c-switch input ~ .gg-c-switch__slider {
    background-color:#d0d0d0
}

.gg-c-switch input:checked ~ .gg-c-switch__slider {
    background-color:#72b72a
}

.gg-c-switch input:checked ~ .gg-c-switch__slider--on-off:before {
    content: "On"
}

.gg-c-switch input:checked ~ .gg-c-switch__slider--yes-no:before {
    content: "Yes";
    padding:8px 6px
}

.gg-c-switch input:checked ~ .gg-c-switch__slider:before {
    transform:translateX(26px)
}

@media (prefers-reduced-motion) {
    .gg-c-switch {
        --switch-transition-speed:.01s
    }
}

.gg-t-black .gg-c-switch__slider:before {
    color:#000
}

.gg-t-black .gg-c-switch input + .gg-c-switch__slider {
    background-color:#666
}

.gg-t-black .gg-c-switch input:checked + .gg-c-switch__slider {
    background-color:#72b72a
}

.gg-t-black .gg-c-switch input:checked + .gg-c-switch__slider:before {
    color:#000
}

.gg-u-border {
    border:2px solid #000
}

.gg-u-box-shadow {
    box-shadow:4px 4px #000
}

@media (min-width: 360px) {
    .gg-u-box-shadow {
        box-shadow:8px 8px #000
    }
}

.gg-u-box-shadow-white {
    box-shadow:4px 4px #fff
}

@media (min-width: 360px) {
    .gg-u-box-shadow-white {
        box-shadow:8px 8px #fff
    }
}

.gg-u-box-shadow-fine {
    box-shadow:4px 4px #000
}

.gg-u-box-shadow-fine-white {
    box-shadow:4px 4px #fff
}

.gg-u-hr {
    background-image: url(images/png/marker-rule.optimised.png);
    background-repeat: repeat-x;
    background-size: 411px 4px;
    border: 0;
    -webkit-clip-path: polygon(2px 0, calc(100% - 1px) 0, 100% 1px, 100% calc(100% - 1px), calc(100% - 4px) 100%, 1px 100%, 0 calc(100% - 1px), 0 1px);
    clip-path: polygon(2px 0, calc(100% - 1px) 0, 100% 1px, 100% calc(100% - 1px), calc(100% - 4px) 100%, 1px 100%, 0 calc(100% - 1px), 0 1px);
    height:4px
}

.gg-u-m-fine {
    margin:4px
}

.gg-u-mt-fine {
    margin-top:4px
}

.gg-u-mb-fine {
    margin-bottom:4px
}

.gg-u-ml-fine {
    margin-left:4px
}

.gg-u-mr-fine {
    margin-right:4px
}

.gg-u-p-fine {
    padding:4px
}

.gg-u-pt-fine {
    padding-top:4px
}

.gg-u-pb-fine {
    padding-bottom:4px
}

.gg-u-pl-fine {
    padding-left:4px
}

.gg-u-pr-fine {
    padding-right:4px
}

.gg-u-m-tiny {
    margin:8px
}

.gg-u-mt-tiny {
    margin-top:8px
}

.gg-u-mb-tiny {
    margin-bottom:8px
}

.gg-u-ml-tiny {
    margin-left:8px
}

.gg-u-mr-tiny {
    margin-right:8px
}

.gg-u-p-tiny {
    padding:8px
}

.gg-u-pt-tiny {
    padding-top:8px
}

.gg-u-pb-tiny {
    padding-bottom:8px
}

.gg-u-pl-tiny {
    padding-left:8px
}

.gg-u-pr-tiny {
    padding-right:8px
}

.gg-u-m-small {
    margin:16px
}

.gg-u-mt-small {
    margin-top:16px
}

.gg-u-mb-small {
    margin-bottom:16px
}

.gg-u-ml-small {
    margin-left:16px
}

.gg-u-mr-small {
    margin-right:16px
}

.gg-u-p-small {
    padding:16px
}

.gg-u-pt-small {
    padding-top:16px
}

.gg-u-pb-small {
    padding-bottom:16px
}

.gg-u-pl-small {
    padding-left:16px
}

.gg-u-pr-small {
    padding-right:16px
}

.gg-u-m-medium {
    margin:24px
}

.gg-u-mt-medium {
    margin-top:24px
}

.gg-u-mb-medium {
    margin-bottom:24px
}

.gg-u-ml-medium {
    margin-left:24px
}

.gg-u-mr-medium {
    margin-right:24px
}

.gg-u-p-medium {
    padding:24px
}

.gg-u-pt-medium {
    padding-top:24px
}

.gg-u-pb-medium {
    padding-bottom:24px
}

.gg-u-pl-medium {
    padding-left:24px
}

.gg-u-pr-medium {
    padding-right:24px
}

.gg-u-m-large {
    margin:48px
}

.gg-u-mt-large {
    margin-top:48px
}

.gg-u-mb-large {
    margin-bottom:48px
}

.gg-u-ml-large {
    margin-left:48px
}

.gg-u-mr-large {
    margin-right:48px
}

.gg-u-p-large {
    padding:48px
}

.gg-u-pt-large {
    padding-top:48px
}

.gg-u-pb-large {
    padding-bottom:48px
}

.gg-u-pl-large {
    padding-left:48px
}

.gg-u-pr-large {
    padding-right:48px
}

.gg-u-m-huge {
    margin:72px
}

.gg-u-mt-huge {
    margin-top:72px
}

.gg-u-mb-huge {
    margin-bottom:72px
}

.gg-u-ml-huge {
    margin-left:72px
}

.gg-u-mr-huge {
    margin-right:72px
}

.gg-u-p-huge {
    padding:72px
}

.gg-u-pt-huge {
    padding-top:72px
}

.gg-u-pb-huge {
    padding-bottom:72px
}

.gg-u-pl-huge {
    padding-left:72px
}

.gg-u-pr-huge {
    padding-right:72px
}

.gg-u-mlr-auto {
    margin-left: auto;
    margin-right:auto
}

.gg-u-m-auto {
    margin:auto
}

.gg-u-digital-noise-side {
    border-image-repeat: repeat;
    border-image-slice: 16;
    border-image-source: url(images/png/digital-noise-strip.png);
    border-right-width: var(--tiny);
    border-style:solid
}

.gg-u-digital-noise-bottom {
    border-bottom-width: var(--tiny);
    border-image-repeat: repeat;
    border-image-slice: 16;
    border-image-source: url(images/png/digital-noise-bottom.png);
    border-style:solid
}

@supports ((-webkit-clip-path: polygon(100% 0)) or(clip-path: polygon(100% 0))) {
    .gg-u-digital-noise-chunky {
        overflow: hidden;
        padding-bottom: 48px;
        position: relative;
        z-index:1
    }

    .gg-u-digital-noise-chunky:before {
        background-image: repeating-linear-gradient(76deg, #fff, #fff 24px, #000 0, #000 48px);
        bottom: 0;
        -webkit-clip-path: polygon(101% 0, 0 101%, 101% 101%);
        clip-path: polygon(101% 0, 0 101%, 101% 101%);
        content: "";
        display: block;
        height: 48px;
        position: absolute;
        right: 0;
        width: 192px;
        z-index:-1
    }

    @media (min-width: 768px) {
        .gg-u-digital-noise-chunky {
            padding-bottom:72px
        }

        .gg-u-digital-noise-chunky:before {
            background-image: repeating-linear-gradient(76deg, #fff, #fff 48px, #000 0, #000 96px);
            height: 72px;
            width:312px
        }
    }

    @media (min-width: 992px) {
        .gg-u-digital-noise-chunky {
            padding-bottom:120px
        }

        .gg-u-digital-noise-chunky:before {
            background-image: repeating-linear-gradient(74deg, #fff, #fff 72px, #000 0, #000 144px);
            height: 120px;
            width:504px
        }
    }
}

.gg-u-digital-noise-chunky--no-padding {
    padding-bottom:0
}

@media (min-width: 768px) {
    .gg-u-digital-noise-chunky--no-padding {
        padding-bottom:0
    }
}

@media (min-width: 992px) {
    .gg-u-digital-noise-chunky--no-padding {
        padding-bottom:0
    }
}

.gg-u-grid {
    grid-row-gap: var(--small);
    display:grid
}

.gg-u-grid--2-col {
    grid-template-columns:repeat(2, 1fr)
}

@media (min-width: 500px) {
    .gg-u-\@s\:grid--2-col {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (min-width: 720px) {
    .gg-u-\@m\:grid--2-col {
        grid-template-columns:repeat(2, 1fr)
    }

    .gg-u-\@m\:grid--3-col {
        grid-template-columns:repeat(3, 1fr)
    }

    .gg-u-\@m\:grid--4-col {
        grid-template-columns:repeat(4, 1fr)
    }
}

@media (min-width: 1000px) {
    .gg-u-\@l\:grid--3-col {
        grid-template-columns:repeat(3, 1fr)
    }

    .gg-u-\@l\:grid--4-col {
        grid-template-columns:repeat(4, 1fr)
    }
}

.gg-u-col-gap-small {
    grid-column-gap: var(--small);
    -moz-column-gap: var(--small);
    column-gap:var(--small)
}

.gg-u-col-gap-medium {
    grid-column-gap: var(--medium);
    -moz-column-gap: var(--medium);
    column-gap:var(--medium)
}

.gg-u-col-gap-large {
    grid-column-gap: var(--large);
    -moz-column-gap: var(--large);
    column-gap:var(--large)
}

@media (min-width: 720px) {
    .gg-u-\@m\:col-gap-small {
        grid-column-gap: var(--small);
        -moz-column-gap: var(--small);
        column-gap:var(--small)
    }

    .gg-u-\@m\:col-gap-medium {
        grid-column-gap: var(--medium);
        -moz-column-gap: var(--medium);
        column-gap:var(--medium)
    }

    .gg-u-\@m\:col-gap-large {
        grid-column-gap: var(--large);
        -moz-column-gap: var(--large);
        column-gap:var(--large)
    }
}

@media (min-width: 1000px) {
    .gg-u-\@l\:col-gap-medium {
        grid-column-gap: var(--medium);
        -moz-column-gap: var(--medium);
        column-gap:var(--medium)
    }

    .gg-u-\@l\:col-gap-large {
        grid-column-gap: var(--large);
        -moz-column-gap: var(--large);
        column-gap:var(--large)
    }
}

.gg-u-max-content-stack {
    grid-gap: 8px;
    display: grid;
    gap: 8px;
    width: -moz-max-content;
    width:max-content
}

.gg-u-screen-reader-only {
    clip: rect(0 0 0 0);
    border: 0;
    height: .0625rem;
    margin: -.0625rem;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width:.0625rem
}

.gg-u-icon {
    fill: currentcolor;
    display: block;
    height: 100%;
    width:100%
}

.gg-u-icon--small {
    height: 16px;
    width:16px
}

.gg-u-icon--medium {
    height: 24px;
    width:24px
}

.gg-u-icon--large {
    height: 48px;
    width:48px
}

.gg-u-icon--huge {
    height: 72px;
    width:72px
}

.gg-u-icon--gargantuan {
    height: 120px;
    width:120px
}

.gg-u-icon--colossal {
    height: 192px;
    width:192px
}

.gg-u-icon--inline {
    display: inline-block;
    margin-top: -.25em;
    vertical-align:middle
}

.gg-u-icon--center {
    margin-left: auto;
    margin-right:auto
}

.gg-u-image {
    display: block;
    width:100%
}

.gg-u-image--center {
    margin-left: auto;
    margin-right:auto
}

.gg-u-image--width-tiny {
    max-width:72px
}

.gg-u-image--width-small {
    max-width:120px
}

.gg-u-image--width-medium {
    max-width:192px
}

.gg-u-image--width-large {
    max-width:312px
}

.gg-u-image--width-huge {
    max-width:504px
}

.gg-u-image--height-tiny {
    max-height:72px
}

.gg-u-image--height-small {
    max-height:120px
}

.gg-u-image--height-medium {
    max-height:192px
}

.gg-u-image--height-large {
    max-height:312px
}

.gg-u-image--height-huge {
    max-height:504px
}

.gg-c-sparkle {
    background-repeat: no-repeat;
    background-size:contain
}

.gg-c-sparkle-fine {
    background-image:url(images/svg/sparkle-fine.svg)
}

.gg-c-sparkle-fine--small {
    height: 32px;
    width:32px
}

.gg-c-sparkle-fine--medium {
    height: 48px;
    width:48px
}

.gg-c-sparkle-fine--large {
    height: 96px;
    width:96px
}

.gg-c-sparkle-fine--huge {
    height: 144px;
    width:144px
}

.gg-c-sparkle-chunky {
    background-image:url(images/svg/sparkle-chunky.svg)
}

.gg-c-sparkle-chunky--small {
    height: 16px;
    width:16px
}

.gg-c-sparkle-chunky--medium {
    height: 24px;
    width:24px
}

.gg-c-sparkle-chunky--large {
    height: 48px;
    width:48px
}

.gg-c-sparkle-chunky--huge {
    height: 72px;
    width:72px
}

@media screen and (prefers-reduced-motion: no-preference) {
    .gg-c-sparkle {
        will-change:transform
    }

    .gg-c-sparkle-fine {
        animation:sparkles-shine 7s ease-in-out infinite
    }

    .gg-c-sparkle-chunky {
        animation:sparkles-spin 8s ease-in-out infinite
    }
}

@keyframes sparkles-shine {
    0%, 40%, 80%, to {
        transform:scale(0)
    }

    60% {
        transform:scale(1) rotate(60deg)
    }
}

@keyframes sparkles-spin {
    0%, to {
        transform:rotate(0deg)
    }

    50% {
        transform:rotate(90deg)
    }
}

.gg-u-doodle-boing {
    display: inline-block;
    margin-top: 16px;
    position:relative
}

.gg-u-doodle-boing:before {
    background-image: url(images/svg/doodles/doodle-boing.svg);
    background-size: 100%;
    content: "";
    display: block;
    height: 16px;
    left: 50%;
    position: absolute;
    top: -16px;
    transform: translateX(-50%);
    width:48px
}

.gg-u-doodle-boing--light-pink:before {
    background-image:url(images/svg/doodles/doodle-boing--light-pink.svg)
}

.gg-u-doodle-boing--light-green:before {
    background-image:url(images/svg/doodles/doodle-boing--light-green.svg)
}

.gg-u-doodle-boing--light-blue:before {
    background-image:url(images/svg/doodles/doodle-boing--light-blue.svg)
}

.gg-u-doodle-boing--yellow:before {
    background-image:url(images/svg/doodles/doodle-boing--yellow.svg)
}

.gg-u-doodle-boing--white:before {
    background-image:url(images/svg/doodles/doodle-boing--white.svg)
}

@media (max-width: 767px) {
    .gg-u-text-louder .gg-u-doodle-boing {
        margin-top:8px
    }

    .gg-u-text-louder .gg-u-doodle-boing:before {
        height: 8px;
        top: -8px;
        width:24px
    }
}

@media (min-width: 768px) {
    .gg-u-doodle-boing:before {
        height: 16px;
        width:48px
    }

    .gg-u-text-megaphone .gg-u-doodle-boing {
        margin-top:24px
    }

    .gg-u-text-megaphone .gg-u-doodle-boing:before {
        height: 24px;
        top: -24px;
        width:72px
    }
}

.gg-u-doodle-end-boing {
    display: inline-block;
    padding-right: 16px;
    padding-top: 8px;
    position:relative
}

.gg-u-doodle-end-boing:after {
    background-image: url(images/svg/doodles/doodle-end-boing.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    display: block;
    height: 24px;
    position: absolute;
    right: 0;
    top: 0;
    width:24px
}

.gg-u-doodle-end-boing--light-pink:after {
    background-image:url(images/svg/doodles/doodle-end-boing--light-pink.svg)
}

.gg-u-doodle-end-boing--light-green:after {
    background-image:url(images/svg/doodles/doodle-end-boing--light-green.svg)
}

.gg-u-doodle-end-boing--light-blue:after {
    background-image:url(images/svg/doodles/doodle-end-boing--light-blue.svg)
}

.gg-u-doodle-end-boing--yellow:after {
    background-image:url(images/svg/doodles/doodle-end-boing--yellow.svg)
}

.gg-u-doodle-end-boing--white:after {
    background-image:url(images/svg/doodles/doodle-end-boing--white.svg)
}

@media (max-width: 767px) {
    .gg-u-text-louder .gg-u-doodle-end-boing {
        padding-right: 8px;
        padding-top:4px
    }

    .gg-u-text-louder .gg-u-doodle-end-boing:after {
        height: 16px;
        width:16px
    }
}

@media (min-width: 768px) {
    .gg-u-text-megaphone .gg-u-doodle-end-boing, .gg-u-text-shout .gg-u-doodle-end-boing {
        padding-right:24px
    }

    .gg-u-text-megaphone .gg-u-doodle-end-boing:after, .gg-u-text-shout .gg-u-doodle-end-boing:after {
        height: 32px;
        width:32px
    }

    .gg-u-text-megaphone .gg-u-doodle-end-boing--ascender {
        padding-right: 28px;
        padding-top:12px
    }
}

.gg-u-doodle-squiggle:before {
    background-image: url(images/svg/doodles/doodle-squiggle.svg);
    background-size: 100%;
    content: "";
    display: block;
    height: 16px;
    width:48px
}

.gg-u-doodle-squiggle--light-pink:before {
    background-image:url(images/svg/doodles/doodle-squiggle--light-pink.svg)
}

.gg-u-doodle-squiggle--light-green:before {
    background-image:url(images/svg/doodles/doodle-squiggle--light-green.svg)
}

.gg-u-doodle-squiggle--light-blue:before {
    background-image:url(images/svg/doodles/doodle-squiggle--light-blue.svg)
}

.gg-u-doodle-squiggle--yellow:before {
    background-image:url(images/svg/doodles/doodle-squiggle--yellow.svg)
}

.gg-u-doodle-squiggle--white:before {
    background-image:url(images/svg/doodles/doodle-squiggle--white.svg)
}

.gg-u-text-megaphone .gg-u-doodle-squiggle:before {
    height: 24px;
    width:72px
}

@media (min-width: 768px) {
    .gg-u-doodle-squiggle:before {
        height: 24px;
        width:72px
    }

    .gg-u-text-megaphone .gg-u-doodle-squiggle:before {
        height: 32px;
        width: 96px
    }
}
