/* 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: 'NocturnoDisplay';
    src: url('fonts/NocturnoDisplayPro-Bold.otf');
}

@font-face {
    font-family: 'BaseticaMedium';
    src: url('fonts/Basetica-Medium.otf');
}

/* 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: #171112;
}

.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 right;
    padding: 6vh 8vw 6vh 8vw;
    box-sizing: border-box;

    width: 50%;
    height: 100%;

    background-image: url(images/BG-Image.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: 11vh;

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

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

    font-family: 'NocturnoDisplay';
    font-size: 2em;

    color: #fff;
}

span {
    display: block;
    text-transform: uppercase;
    font-size: 2em;
}

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: 'BaseticaMedium';
    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: 'BaseticaMedium';
    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: 'NocturnoDisplay';
    font-size: 5vh;

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

#button {
    width: 100%;

    margin: 4vh 0vw 4vh 0vw;
    padding: calc(.3vh*3) 2vw .3vh 2vw;

    background-color: #fff;
    color: #171112;

    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: 'BaseticaMedium';
    font-size: 1em;
    background-color: #171112;
}

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

    font-family: 'NocturnoDisplay';
    font-size: 4em;

    color: #fff;
}

#successP {
    text-align: center;

    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: 50% 40%;

        width: 100%;
        height: 35vh;

        margin: 0 0 0 0;

        animation: slideInTop 1.25s ease-out forwards;
    }

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

        width: 100%;
        height: auto;

        padding: 8vh 12vw;

        animation: slideInTop 1.25s ease-out forwards;
    }

    p {
        font-size: 2em;
        margin-bottom: 3vh;
    }

    span {
        font-size: 2.5em;
    }

    .logobox {
        width: 100%;

        margin-bottom: 3vh;
    }

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

    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.25em;

        padding-left: 0.25vw;
    }

    input {
        font-size: 1.25em;

        margin: 0;
    }

    button {
        font-size: 2.4em;
    }

    #button {
        width: 100%;

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

    footer {
        justify-content: space-evenly;

        height: 9vh;

        font-size: 1.25em;
    }




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

    #SuccessS1 {
        width: 100%;
        height: 60%;

        background-position: center right;
    }

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

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

        margin: 0;
    }

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

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

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

    p {
        font-size: 2.25em;
        margin-bottom: 3vh;
    }

    span {
        font-size: 2em;
    }

    .logobox {
        margin-bottom: 3vh;
    }

    .Banff-Logo {
        width: 100%;
        height: 7vh;
    }

    .CCL-Logo {
        height: 7vh;
    }

    #province {
        font-size: 1.1em;
    }

    input {
        font-size: 1.1em;
    }

    button {
        font-size: 2.2em;
    }

    #button {
        width: 100%;

        margin: 4vh 0 0 0;
    }

    footer {
        font-size: 0.9em;
        height: 7vh;
    }






    h1 {
        font-size: 4.5em;
    }
}

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

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

@media screen and (max-width:390px) {
    #province {
        font-size: 1em;
    }

    input {
        font-size: 1em;
    }

    footer {
        font-size: 0.85em;
    }
}

@media screen and (max-width:375px) {
    .FormSide1 {
        height: 40vh;
        background-position: center right;
    }

    .FormSide2 {
        height: auto;
    }

    p {
        font-size: 2em;
    }

    span {
        font-size: 2em;
    }

    .logobox {
        margin-bottom: 4vh;
    }

    .CCL-Logo {
        height: 7vh;
    }

    #province {
        font-size: 0.9em;
    }

    input {
        font-size: 0.9em;
    }

    button {
        font-size: 2em;
    }

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

    footer {
        font-size: 1em;
        height: 9vh;
    }





    #SuccessS1 {
        height: 50%;
    }

    #SuccessS2 {
        height: 50%;
    }

    h1 {
        font-size: 4em;
    }

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

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

        width: 40%;
    }

    .FormSide2 {
        padding: 3vh 7vw 3vh 7vw;

        width: 60%;
    }

    .logobox {
        margin-bottom: 5vh;
    }

    .CCL-Logo {
        height: 10vh;
    }

    p {
        margin-bottom: 3vh;

        font-size: 1.5em;
    }

    span {
        font-size: 2em;
    }

    input {
        font-size: 1em;
    }

    #province {
        font-size: 1em;
    }

    button {
        font-size: 2em;
    }

    #button {
        width: 100%;

        margin: 6vh 0 0 0;
    }

    footer {
        height: 15vh;
    }






    #SuccessS1 {
        width: 55%;
    }

    #SuccessS2 {
        width: 45%;
    }

    h1 {
        font-size: 4em;
        line-height: 1em;
    }
}

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

        font-size: 1.35em;
    }

    button {
        font-size: 1.35em;
    }




    h1 {
        font-size: 2.7em;
    }

}

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

    .FormSide2 {
        padding: 0 7vw 0 7vw;

        width: 65%;
    }

    p {
        margin-bottom: 3vh;

        font-size: 1.25em;
    }

    button {
        font-size: 1.25em;
    }





    h1 {
        font-size: 2.5em;
    }
}