/* 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');
}

/* 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: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding: 6vh 8vw 6vh 8vw;
    box-sizing: border-box;

    width: 50%;
    height: 100%;

    background-image: url(images/window-image.png);
    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: 11vh;

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

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

    font-family: 'TCCCUnityCondensedMedium';
    font-size: 8vh;

    color: #fff;
}

span {
    text-transform: uppercase;

    font-family: 'TCCCUnityCondensedBold';
}

sup {
    line-height: 0;
    font-size: smaller;
    position: relative;
    top: 0.25em;
}

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;
    text-transform: uppercase;

    font-family: 'TCCCUnityCondensedBold';
    font-size: 5vh;

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

#button {
    width: 100%;

    margin: 4vh 0vw 4vh 0vw;
    padding: .3vh 2vw calc(.3vh*2) 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: 'TCCCUnityCondensedMedium';
    font-size: 1em;
    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;
}








#SuccessS2 {
    margin: 0 auto;

    width: 40%;
    height: 40%;

    background-color: transparent;
}

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

    font-family: 'TCCCUnityCondensedBold';
    font-size: 8vh;

    color: #fff;
}

#successP {
    text-align: center;
    line-height: 1em;

    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: contain;
        background-position: 50% 15%;

        width: 100%;
        height: 40vh;

        margin: 2vh 0 0 0;

        animation: slideInTop 1.25s ease-out forwards;
    }

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

        width: 100%;
        height: auto;

        padding: 2vh 10vw 4vh 10vw;

        animation: slideInTop 1.25s ease-out forwards;
    }

    p {
        font-size: 2.5em;
        line-height: 1em;
        margin-bottom: 3vh;
    }

    span {}

    .logobox {
        width: 100%;

        margin-bottom: 2.5vh;
    }

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

    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.5em;
    }

    #button {
        width: 100%;

        margin: 4vh 0 0 0;
        padding: .5vh 0 calc(.5vh*1.75) 0;
    }

    footer {
        justify-content: space-evenly;

        height: 9vh;

        font-size: 1.25em;
    }





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

        display: flex;
        justify-content: center;
    }

    #SuccessS1 {
        width: 90%;
        height: 60%;
    }

    #SuccessS2 {
        width: 90%;
        height: 30%;

        justify-content: flex-start;
    }

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

        margin: 0;
    }

    #successP {
        font-size: 2.5em;

        margin: 2vh 0 0 0;
    }
}

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

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

@media screen and (max-width:412px) {
    .CCL-Logo {
        height: 6vh;
    }

    p {
        font-size: 2.25em;
    }

    button {
        font-size: 2.25em;
    }

    #province {
        font-size: 1em;
    }

    input {
        font-size: 1em;
    }





    h1 {
        font-size: 4em;
    }

    #successP {
        font-size: 2.25em;
    }
}

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

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

/* MEDIA QUERIES - MOBILE - LANDSCAPE */
@media screen and (max-width:956px) and (orientation:landscape) {
    .FormSide1 {
        margin: 3vh 0 3vh 7vw;
        width: 35%;

        background-position: center left;
    }

    .FormSide2 {
        padding: 3vh 7vw;
        width: 65%;
    }

    .logobox {
        margin-bottom: 5vh;
    }

    .CCL-Logo {
        height: 8vh;
    }

    p {
        margin-bottom: 3vh;

        font-size: 2.5em;
    }

    input {
        font-size: 1.1em;
    }

    #province {
        font-size: 1.1em;
    }

    button {
        font-size: 2.2em;
    }

    #button {
        width: 100%;

        margin: 6vh 0 0 0;
    }

    footer {
        height: 15vh;
    }






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

    #SuccessS1 {
        width: 35%;
    }

    #SuccessS2 {
        width: 65%;
    }

    h1 {
        font-size: 5em;
    }

    #successP {
        font-size: 2em;
    }
}

@media screen and (max-width:844px) and (orientation:landscape) {
    p {
        margin-bottom: 3vh;

        font-size: 2.5em;
    }

    input {
        font-size: 1em;
    }

    #province {
        font-size: 1em;
    }

    button {
        font-size: 2em;
    }




    h1 {
        font-size: 4.75em;
    }

    #successP {
        font-size: 2em;
    }

}

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

    .FormSide2 {
        width: 70%;
    }

    p {
        margin-bottom: 3vh;

        font-size: 2.25em;
    }

    input {
        font-size: 0.9em;
    }

    #province {
        font-size: 0.9em;
    }

    button {
        font-size: 1.9em;
    }





    h1 {
        font-size: 4em;
    }

    #successP {
        font-size: 1.9em;
    }
}