﻿[data-inviewport=contentSlideUp] {
    opacity: 0;
    transform: translateY(20%);
}

    [data-inviewport=contentSlideUp].is-inViewport {
        transform: translateY(0%);
        opacity: 1;
        transition: 1s;
    }

[data-inviewport=contentSlideLeft] {
    opacity: 0;
    transform: translateX(-20%);
}

    [data-inviewport=contentSlideLeft].is-inViewport {
        transform: translateX(0%);
        opacity: 1;
        transition: 1s;
    }

[data-inviewport=contentSlideRight] {
    opacity: 0;
    transform: translateX(20%);
}

    [data-inviewport=contentSlideRight].is-inViewport {
        transform: translateX(0%);
        opacity: 1;
        transition: 1s;
    }

* {
    margin: 0;
    padding: 0;
}

html {
    overflow: auto;
    scroll-behavior: smooth;
}

body, body * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
    width: 100%;
    height: 100%;
}

picture {
    display: block;
}

footer {
    margin-top: 10.313vw;
}

a {
    color: #3b7cfd;
    font-family: Roboto-R;
}

.attendee-background {
    position: absolute;
    width: 100%;
    height: 32.938vw;
    top: 0;
}

@media screen and (max-width:768px) {
    .attendee-background {
        height: 100%;
    }

        .attendee-background img {
            object-fit: cover;
            object-position: left;
        }
}

.link-hover {
    color: #276efd;
}

    .link-hover::before, .link-hover::after {
        background-color: #276efd;
        opacity: 1;
    }

    .link-hover:hover {
        color: #276efd;
    }

        .link-hover:hover::before, .link-hover:hover::after {
            background-color: #276efd;
        }

#Header {
    margin-left: 8.75vw;
    padding-top: 8vw;
    display: flex;
    justify-content: space-between;
    height: 31.938vw;
    overflow: hidden;
}

@media screen and (max-width:768px) {
    #Header {
        flex-direction: column;
        justify-content: normal;
        gap: 10.465vw;
        padding-top: 3vw;
        margin: 0;
        height: unset;
    }
}

#Header .text-container {
    position: relative;
    width: 38.125vw;
    display: flex;
    flex-direction: column;
    margin-top: 4vw;
}

    #Header .text-container .header-text {
        padding-left: 1.281vw;
        font-size: 1.125vw;
        font-family: Roboto-B;
        border-left: .188vw solid #f7aa30;
    }

    #Header .text-container .title-text {
        margin-top: .875vw;
        font-size: 2.5vw;
        font-family: Roboto-B;
        line-height: 1.6;
    }

    #Header .text-container .subtitle-text {
        margin-top: 1vw;
        font-size: 1vw;
        font-family: Roboto-R;
        line-height: 1.5;
    }

    #Header .text-container .navigation-text {
        display: flex;
        gap: 2.313vw;
        margin-top: 3.438vw;
    }

        #Header .text-container .navigation-text a {
            display: flex;
            align-items: center;
            color: #14428f;
            font-size: 1vw;
            font-family: Roboto-R;
            gap: .625vw;
            text-decoration: none;
        }

            #Header .text-container .navigation-text a img {
                display: flex;
                width: .688vw;
                height: auto;
            }

    #Header .text-container .linkWrap {
        position: relative;
        height: 3vw;
        border-radius: .125vw;
        width: fit-content;
        flex: 0 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: Roboto-R;
        margin-top: 2.1vw;
    }

        #Header .text-container .linkWrap .style-2 {
            align-items: center;
            color: #fff;
            text-decoration: none;
            display: flex;
            background-color: #004290;
            padding: .5vw 1.25vw;
            border-radius: 1.5vw;
        }

            #Header .text-container .linkWrap .style-2 .mask {
                position: relative;
                padding: 0;
                height: .875vw;
            }

                #Header .text-container .linkWrap .style-2 .mask .title {
                    display: block;
                    font-size: .875vw;
                    line-height: .875vw;
                    transition: transform .4s ease;
                }

            #Header .text-container .linkWrap .style-2 .link-icon {
                position: relative;
                width: 1.75vw;
                height: 1.75vw;
                border-radius: 50%;
                display: flex;
                justify-content: center;
                align-items: center;
                margin-left: .625vw;
            }

                #Header .text-container .linkWrap .style-2 .link-icon .icon {
                    display: block;
                    position: absolute;
                    transition: transform .4s ease;
                }

@media screen and (max-width:768px) {
    #Header .text-container .linkWrap {
        height: fit-content;
        margin-top: 4vw;
    }

        #Header .text-container .linkWrap .style-2 {
            padding: 2.5vw 4.25vw;
            border-radius: 6.5vw;
        }

            #Header .text-container .linkWrap .style-2 .mask {
                height: 3.256vw;
            }

                #Header .text-container .linkWrap .style-2 .mask .title {
                    font-size: 3.256vw;
                    line-height: 3.256vw;
                }

            #Header .text-container .linkWrap .style-2 .link-icon {
                width: 6.512vw;
                height: 6.512vw;
                margin-left: 2.6vw;
            }

                #Header .text-container .linkWrap .style-2 .link-icon .icon:nth-child(2) {
                    transform: translate(-9.302vw);
                }
}

@media screen and (max-width:768px) {
    #Header .text-container {
        width: 100%;
        padding: 0 9.767vw 0 7.674vw;
    }

        #Header .text-container .header-text {
            padding-left: 4.651vw;
            font-size: 4.186vw;
            border-left: .698vw solid #f7aa30;
        }

        #Header .text-container .title-text {
            margin-top: 6.512vw;
            font-size: 6.512vw;
        }

        #Header .text-container .subtitle-text {
            margin-top: 8.14vw;
            font-size: 3.721vw;
        }

        #Header .text-container .navigation-text {
            display: flex;
            flex-direction: column;
            gap: 5.605vw;
            margin-top: 12.791vw;
        }

            #Header .text-container .navigation-text a {
                display: flex;
                align-items: center;
                color: #14428f;
                font-size: 3.721vw;
                font-family: Roboto-R;
                gap: 2.326vw;
                text-decoration: none;
            }

                #Header .text-container .navigation-text a img {
                    display: flex;
                    width: 2.558vw;
                    height: auto;
                }
}

#Header .image-container {
    position: relative;
    margin-top: -1.5vw;
}

    #Header .image-container .image-decoration {
        position: relative;
        z-index: 1;
        width: 52.313vw;
        height: 86%;
        margin-right: -4.938vw;
    }

@media screen and (max-width:768px) {
    #Header .image-container .image-decoration {
        width: 117.113vw;
        right: -3.023vw;
    }
}

#Header .image-container .image {
    position: absolute;
    margin-top: 1.25vw;
    width: 42.5vw;
    border-start-start-radius: 5.75vw;
    top: 0;
    right: 0;
    overflow: hidden;
}

@media screen and (min-width:769px) {
    #Header .image-container .image {
        height: 75%;
    }

        #Header .image-container .image img {
            object-fit: cover;
        }
}

@media screen and (max-width:768px) {
    #Header .image-container .image {
        width: 94vw;
        margin-top: 3.25vw;
    }
}

.header-undershadow {
    position: relative;
    width: 100%;
}

#Policies {
    margin: 2vw 12.813vw 12vw 16.563vw;
}

    #Policies .space {
        margin-top: .5vw;
    }

@media screen and (max-width:768px) {
    #Policies .space {
        margin-top: 6.511vw;
    }
}

#Policies .space-less {
    margin-top: .2vw;
}

@media screen and (max-width:768px) {
    #Policies .space-less {
        margin-top: 4.651vw;
    }
}

#Policies .policy {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 0 1vw;
    align-items: center;
}

    #Policies .policy .number-label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5vw;
        height: 2.5vw;
        border-radius: 50%;
        border: .063vw solid #004aad;
        font-family: Roboto-M;
        font-size: 1.5vw;
        color: #14428f;
        text-align: center;
    }

    #Policies .policy .header {
        font-family: Roboto-M;
        font-size: 1.5vw;
    }

    #Policies .policy .points-container {
        position: relative;
        margin-top: .5vw;
        grid-column: 2;
    }

        #Policies .policy .points-container .point2 {
            display: grid;
            gap: 0 .875vw;
            align-items: baseline;
            grid-template-columns: auto 1fr;
        }

            #Policies .policy .points-container .point2 .pointer {
                font-family: Roboto-M;
                font-size: 1.5vw;
            }

            #Policies .policy .points-container .point2 .pointer-text {
                font-family: Roboto-M;
                font-size: 1.2vw;
                word-wrap: break-word;
            }

            #Policies .policy .points-container .point2 .text {
                grid-column: 2;
                grid-row: 2;
                font-family: Roboto-R;
                font-size: 1vw;
                line-height: 1.5;
            }

                #Policies .policy .points-container .point2 .text a {
                    display: inline;
                    color: #3b7cfd;
                }

        #Policies .policy .points-container .point {
            display: flex;
            gap: 1vw;
            align-items: baseline;
        }

            #Policies .policy .points-container .point .pointer {
                font-family: Roboto-M;
                font-size: 1vw;
            }

            #Policies .policy .points-container .point .text {
                font-family: Roboto-R;
                font-size: 1vw;
                line-height: 1.5;
            }

                #Policies .policy .points-container .point .text a {
                    display: inline;
                    color: #3b7cfd;
                }

            #Policies .policy .points-container .point:not(:first-child) {
                margin-top: 1.625vw;
            }

    #Policies .policy ul {
        margin-left: 1.375vw;
    }

    #Policies .policy .list {
        grid-column: 2;
        margin-top: 1.375vw;
    }

        #Policies .policy .list ul {
            margin: 0;
            padding: 0;
            list-style: disc;
            padding-left: 1.25vw;
            column-count: 3;
            column-gap: 3vw;
        }

            #Policies .policy .list ul li {
                font-family: Roboto-R;
                font-size: 1vw;
                line-height: 1.6;
                margin-bottom: .75vw;
                break-inside: avoid;
            }

    #Policies .policy:not(:first-child) {
        margin-top: 1.275vw;
    }

@media screen and (max-width:768px) {
    #Policies {
        margin: 2vw 4.75vw 0 5.75vw;
    }

        #Policies .policy {
            display: grid;
            grid-template-columns: auto 1fr;
            column-gap: 6vw;
            row-gap: 2vw;
            align-items: center;
        }

            #Policies .policy .number-label {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 9.302vw;
                height: 9.302vw;
                border-radius: 50%;
                border: .233vw solid #004aad;
                font-family: Roboto-M;
                font-size: 5.581vw;
                color: #14428f;
                text-align: center;
            }

            #Policies .policy .header {
                font-family: Roboto-M;
                font-size: 5.481vw;
            }

            #Policies .policy .points-container {
                position: relative;
                margin-top: 5.116vw;
                grid-column: 1/span 2;
                margin-left: 3.2vw;
            }

                #Policies .policy .points-container .point2 {
                    display: grid;
                    gap: 0 4.977vw;
                    align-items: baseline;
                    grid-template-columns: auto 1fr;
                }

                    #Policies .policy .points-container .point2 .pointer {
                        font-family: Roboto-M;
                        font-size: 5.481vw;
                    }

                    #Policies .policy .points-container .point2 .pointer-text {
                        font-family: Roboto-M;
                        font-size: 5.481vw;
                    }

                    #Policies .policy .points-container .point2 .text {
                        font-family: Roboto-R;
                        font-size: 3.721vw;
                        line-height: 1.5;
                    }

                        #Policies .policy .points-container .point2 .text a {
                            display: inline;
                            color: #3b7cfd;
                        }

                #Policies .policy .points-container .point {
                    display: flex;
                    gap: 6.977vw;
                    align-items: baseline;
                }

                    #Policies .policy .points-container .point .pointer {
                        font-family: Roboto-M;
                        font-size: 3.721vw;
                    }

                    #Policies .policy .points-container .point .text {
                        font-family: Roboto-R;
                        font-size: 3.721vw;
                        line-height: 1.5;
                    }

                        #Policies .policy .points-container .point .text a {
                            display: inline;
                            color: #3b7cfd;
                        }

                    #Policies .policy .points-container .point:not(:first-child) {
                        margin-top: 6.047vw;
                    }

            #Policies .policy ul {
                margin-left: 5.116vw;
            }

            #Policies .policy .list {
                grid-column: 1/span 2;
                margin-left: 3.2vw;
                margin-top: 5.116vw;
            }

                #Policies .policy .list ul {
                    margin: 0;
                    padding: 0;
                    list-style: disc;
                    padding-left: 4.651vw;
                    column-count: 1;
                    column-gap: 11.163vw;
                }

                    #Policies .policy .list ul li {
                        font-family: Roboto-R;
                        font-size: 3.721vw;
                        line-height: 1.6;
                        margin-bottom: 2.791vw;
                        break-inside: avoid;
                    }

            #Policies .policy:not(:first-child) {
                margin-top: 7.419vw;
            }
}
