/* Universal selector, content applies initially to all components */
* {
    margin: 0;
    padding: 0;
}

/* Importing Font Files */
@font-face {
    font-family: 'UnityHeadlineBold';
    src: url('fonts/TCCC-UnityHeadline-Bold.ttf');
}

@font-face {
    font-family: 'UnityTextRegular';
    src: url('fonts/TCCC-UnityText-Regular.ttf');
}

@font-face {
    font-family: 'TCCCUnityCondensedBold';
    src: url('fonts/TCCC-UnityCondensed-Bold.ttf')
}

@font-face {
    font-family: 'TCCCUnityCondensedMedium';
    src: url('fonts/TCCC-UnityCondensed-Medium.ttf');
}

@font-face {
    font-family: 'BetterWith';
    src: url('fonts/betterwithnormal.ttf');
}

/* Keyframes for CSS Animations */
@keyframes slideInFromLeft {
    0% {
        transform: translateX(-50vh);
    }

    60% {
        transform: translateX(+20px);
    }

    80% {
        transform: translateX(-10px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideInFromRight {
    0% {
        transform: translateX(+50vh);
    }

    60% {
        transform: translateX(-20px);
    }

    80% {
        transform: translateX(+10px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideInTop {
    0% {
        transform: translateY(-50vh);
    }

    60% {
        transform: translateY(+20px);
    }

    80% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0);
    }
}

body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;

    height: auto;

    background-color: #e41e2b;
}

.container {
    display: flex;
    flex-direction: row;
    /* centers the form vertically */
    align-items: center;

    width: 100vw;
    height: 100vh;

    background-color: transparent;
}

.FormSide1 {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 6vh 8vw 6vh 8vw;
    box-sizing: border-box;

    width: 50%;
    height: 100%;

    background-image: url(images/FIFA-Ball-BG.jpg);
    background-color: transparent;

    animation: slideInFromLeft 1.5s ease-out forwards;
}

.FormSide2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 3vh 6vw 3vh 6vw;
    box-sizing: border-box;

    width: 50%;
    height: 100%;

    background-color: transparent;

    animation: slideInFromRight 1.5s ease-out forwards;
}

form {
    width: 100%;

    text-align: center;
}

.logobox {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    width: 100%;
    height: auto;

    margin-bottom: 4vh;
}

.CCL-Logo {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    width: 100%;
    height: 16vh;

    background-image: url(images/CCL-FIFA-Logo-Lockup.png);
}

#FRLogo {
    background-image: url(images/CCL-FIFA-Logo-Lockup-FR.png);
}

p {
    text-align: center;
    margin-bottom: 2vh;

    font-family: 'BetterWith';
    font-size: 1.75em;

    color: #fff;
}

span {
    text-transform: none;
    display: block;
    font-family: 'BetterWith';

    font-size: 1.9em;
    line-height: 1em;
}

b {
    letter-spacing: 1px;
}

sup {
    line-height: 0;
    font-size: 0.5em;
    position: relative;
    top: -.05em;
}

fieldset {
    border: none;
    margin-top: 3vh;
    padding: 0;
    display: flex;
    flex-direction: row;
}

::placeholder {
    padding-left: 0.25vw;

    color: #fff;
}

input {
    margin: 1vh 0 1vh 0;
    padding: 1vh 0 1vh 0;

    font-family: 'UnityTextRegular';
    font-size: 1.9vh;

    background-color: transparent;
    color: #fff;

    border-right: none;
    border-left: none;
    border-top: none;
    border-bottom: 2px solid #fff;
}

#firstname {
    width: 50%;

    margin-right: 1vw;

    border-radius: 0;
}

#lastname {
    width: 50%;

    margin-left: 1vw;

    border-radius: 0;
}

#email {
    width: 100%;

    border-radius: 0;
}

#province {
    /* Overrides default appearances from browser */
    -webkit-appearance: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;

    width: 100%;
    margin: 1vh 0 1vh 0;
    padding: 1vh 0 1vh 0.25vw;

    font-family: 'UnityTextRegular';
    font-size: 1.9vh;

    background-color: transparent;
    color: #fff;

    border-right: none;
    border-left: none;
    border-top: none;
    border-bottom: 2px solid #fff;
}

button {
    cursor: pointer;

    font-family: 'BetterWith';
    font-size: 1.75em;

    border: none;
    border-color: transparent;
    border: 2px solid #fff;
    border-radius: none;
}

#button {
    width: 100%;

    margin: 4vh 0vw 4vh 0vw;
    padding: 1vh 2vw calc(1vh*1.25) 2vw;

    background-color: #fff;
    color: #e41e2b;

    transition: background-color 0.2s ease, border 0.2s ease;
}

#button:hover {
    background-color: #231f20;
    color: #fff;
    border: 2px solid #231f20;

    transition: background-color 0.2s ease, border 0.2s ease;
}

footer {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;

    width: 100%;
    height: 8vh;

    box-sizing: border-box;

    font-family: 'UnityTextRegular';
    font-size: 0.75em;
    background-color: #231f20;
}

footer a {
    text-decoration: none;
    cursor: pointer;
}

footer a:hover {
    text-decoration: underline;
}

footer a:link {
    padding: 0;
    text-underline-offset: .3vh;

    color: #fff;
}

footer a:visited {
    color: #fff;
}




#SuccessContainer {}

#SuccessS1 {}

#SuccessS2 {
    margin: 0 auto;

    width: 40%;
    height: 40%;

    background-color: transparent;
}

h1 {
    /* text-align: center; */
    text-transform: none;

    font-family: 'BetterWith';
    font-weight: normal;
    font-size: 3.325em;

    color: #fff;
}

#successP {
    text-align: center;
    text-transform: none;

    margin-top: 2vh;
    margin-bottom: 4vh;
}

/* MEDIA QUERIES - MOBILE - PORTRAIT*/
@media screen and (max-width:500px) {

    .container {
        flex-direction: column;

        width: 100vw;
        height: auto;
    }

    .FormSide1 {
        order: 1;
        z-index: 1;

        background-size: cover;
        background-position: center;

        width: 100%;
        height: 30vh;

        margin: 0 0 0 0;

        animation: slideInTop 1.25s ease-out forwards;
    }

    .FormSide2 {
        order: 2;
        z-index: 1000;

        width: 100%;
        height: auto;

        padding: 8vh 10vw 8vh 10vw;

        animation: slideInTop 1.25s ease-out forwards;
    }

    p {
        font-size: 1.5em;
        margin-bottom: 3vh;
        line-height: 1.25em;
    }

    span {
        font-size: 1.45em;
        line-height: 1.25em;
    }

    .logobox {
        width: 100%;

        margin-bottom: 3vh;
    }

    .CCL-Logo {
        width: 100%;
        height: 14vh;
    }

    fieldset {
        display: flex;
        flex-direction: column;

        margin: 0;
        padding: 0;

        border: none;
    }

    #firstname {
        width: 100%;

        margin-right: 0vw;
        margin-bottom: 1.2vh;
    }

    #lastname {
        width: 100%;

        margin-left: 0vw;
    }

    #email {
        margin-top: 1vh;
        margin-bottom: .2vh;
    }

    #province {
        font-size: 1.1em;

        padding-left: 0.25vw;
    }

    input {
        font-size: 1.1em;

        margin: 0;
    }

    button {
        font-size: 2.175em;
    }

    #button {
        width: 100%;

        margin: 4vh 0 0 0;
        padding: 1.25vh 0 calc(1.25vh*1.25) 0;
    }

    footer {
        justify-content: space-evenly;

        height: 9vh;

        font-size: 0.8em;
    }




    #SuccessContainer {
        height: 100vh;
        width: 100vw;
    }

    #SuccessS1 {
        width: 100%;
        height: 70%;
    }

    #SuccessS2 {
        width: 100%;
        height: 30%;
    }

    h1 {
        font-size: 2.175em;
        line-height: 1em;

        margin: 0;
    }

    #successP {
        margin: 2vh 0 0 0;
    }
}

@media screen and (max-width:430px) {
    .FormSide1 {
        background-position: 50% 30%;
    }

    .FormSide2 {
        padding: 6vh 8vw 6vh 8vw;
    }


    .logobox {
        margin-bottom: 3vh;
    }

    .CCL-Logo {
        height: 14vh;
    }

    #province {
        font-size: 1em;
    }

    input {
        font-size: 1em;
    }

    #button {
        width: 100%;

        margin: 3vh 0 0 0;
    }

    footer {
        height: 7vh;
    }
}

@media screen and (max-width:414px) {}

@media screen and (max-width:412px) {}

@media screen and (max-width:390px) {

    p {
        font-size: 1.3em;
    }

    span {
        font-size: 1.5em;
    }

    button {
        font-size: 1.885em;
    }





    h1 {
        font-size: 1.885em;
    }
}

@media screen and (max-width:375px) {
    .FormSide1 {
        height: 35vh;
    }

    .FormSide2 {
        height: auto;
    }

    .logobox {
        margin-bottom: 4vh;
    }

    .CCL-Logo {
        height: 14vh;
    }

    #province {
        font-size: 0.9em;
    }

    input {
        font-size: 0.9em;
    }

    #button {
        padding: .75vh 0 calc(.75vh*1.5) 0;
    }

    footer {
        font-size: 0.7em;
        height: 8vh;
    }




    #SuccessS1 {
        height: 60%;
    }

    #SuccessS2 {
        height: 40%;
    }

    h1 {
        font-size: 3.5em;
    }

    #successP {
        margin: 1vh 0 0 0;
    }
}

/* MEDIA QUERIES - MOBILE - LANDSCAPE */
@media screen and (max-width:956px) and (orientation:landscape) {
    .FormSide1 {
        padding: none;

        width: 30%;
    }

    .FormSide2 {
        padding: 2vh 4vw;

        width: 70%;
    }

    .logobox {
        margin-bottom: 5vh;
        display: none;
    }

    .CCL-Logo {
        height: 12vh;

        display: none;
    }

    p {
        margin-bottom: 3vh;

        font-size: 1.35em;
    }

    span {
        font-size: 1.9em;
        line-height: 1em;
    }

    input {
        font-size: 0.9em;
    }

    #province {
        font-size: 0.9em;
    }

    button {
        font-size: 2em;
    }

    #button {
        width: 100%;

        margin: 6vh 0 0 0;
    }

    footer {
        height: 15vh;
    }




    #SuccessS1 {
        width: 50%;
        background-position: center center;
    }

    #SuccessS2 {
        width: 50%;

    }

    h1 {
        font-size: 3.75em;
    }
}

@media screen and (max-width:844px) and (orientation:landscape) {
    .FormSide1 {
        padding: none;

        width: 30%;
    }

    .FormSide2 {
        padding: 2vh 4vw;

        width: 70%;
    }

    p {
        margin-bottom: 2vh;

        font-size: 1.25em;
    }

    input {
        font-size: 0.9em;
    }

    #province {
        font-size: 0.9em;
    }

    button {
        font-size: 1.75em;
    }




    h1 {
        font-size: 3.5em;
    }
}

@media screen and (max-width:670px) and (orientation:landscape) {
    .FormSide1 {
        width: 30%;
    }

    .FormSide2 {
        padding: 2vh 5vw;

        width: 70%;
    }

    p {
        margin-bottom: 3vh;

        font-size: 1.25em;
    }

    input {
        font-size: 0.8em;
    }

    #province {
        font-size: 0.8em;
    }

    button {
        font-size: 1.5em;
    }

    footer {
        font-size: 0.6em;
    }




    h1 {
        font-size: 3.25em;
    }
}