@import url('https://fonts.googleapis.com/css?family=Montserrat&display=swap');

* {
	font-family: "Montserrat", sans-serif;
	padding: 0;
	margin: 0;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 18vh;
}

.container {
    padding: 10px;
}

footer {
    position: absolute;
}

.title { 
    padding-top: 0px;
    padding-bottom: 30px;
    text-align: center;
}

.title img {
    width: calc(200px + 15vw); /*200px + 20vw*/
}

/*Start of Connect here box*/
.oauth-box {
    width: calc(100px + 10vw);
    font-size: calc(10px + 0.5vw); /*1vw*/
    text-align: center;
    padding: 20px; /*2vw*/
    border-radius: 40px;
    background-color: #FC5200;
    color: white;
}

.oauth-container {
    padding: 20px 50px 50px 50px;
    display: flex;
    justify-content: center;

}

.oauth-box h3 {
    color: white;
}


/*End of Connect here box*/


/*Start of search bar*/

.form-container { 
    /*padding-top: 20px;*/
    text-align: center;
    margin-bottom: 40px;
}

#route-title {
    font-size: calc(20px + 1vw); /*2em*/ 
}

#route-src {
    width: calc(180px + 15vw); /*40vw*/
    height: 30px;
    padding: 10px; /*10px*/
    font-size: 12.5px; /*20px*/
    border-radius: 30px; /*15px*/


    box-shadow: 5px 5px rgb(206, 206, 206); 
}

#submit-button {
    width: 60px; /*80px*/
    height: 60px;
    color: #FC5200;
    border-radius: 30px;
    padding: 10px;
    background: url(../img/search-13-xxl.png);
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: 15px 12px;
    background-color: #FC5200;
    box-shadow: 5px 5px rgb(206, 206, 206); 
}

/*Error messages*/

.message-container {
    text-align: center;
}

.error-message {
    color: red;
    border-radius: 1px;
    padding: 2px; /*10px*/
    font-size: calc(0.75em + 0.25vw);
}

.auth-message {
    background-color: #34A827;
    border-radius: 8px;
    padding: 10px 10px 10px 10px; /*CHANGE THIS*/
    border-style: solid;
    color: white;    
    font-size: calc(0.75em + 0.25vw);
}


/*instructions container*/

.instructions-container {
    padding: 40px;
    position: relative;
    font-size: calc(0.75em + 0.25vw);
}

.instructions-container h1 {
    font-size: calc(1em + 1vw); /*4vw*/
}

.instructions-container h2 {
    font-size: calc(1.1em + 0.25vw);
}

#instructions-header {
    color: grey;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: calc(1.5em + 1vw); 
}



/*Strava routes examples*/

.route-list-container {
    width: 50%;
    background-color: rgb(248, 248, 248);
    align-items: center;
    justify-content: center;
    padding: 1em; /*40px*/
    margin: auto;
    overflow: hidden;
}

.route-list-title {
    font-size: calc(0.75em + 0.25vw); /*1em*/
    justify-content: space-between;
    cursor: pointer;
    display: flex;
    padding: 1em;
    font-weight: bold;
}

.route-list-title:after {
    content: "\276F";
    width: 1em;
    height: 1em;
    text-align: center;
    transition: all 0.35s;
}


.route-content {
    max-height: 0;
    padding: 0 2em; 
    overflow: hidden;
    transition: all 0.35s;

    font-size: calc(0.6em + 0.35vw);
}


.route-input {
    position: absolute;
    opacity: 0;
    z-index: -1;
}

.route-input:checked + .route-list-title:after {
    transform: rotate(90deg);
}

.route-input:checked ~ .route-content {
    max-height: 100vh;
} 

@media (max-width:800px) {
    .route-list-container {
        width: 80%;
    }

    .route-content {
        padding: 0;
    }

    .oauth-container {
        padding: 20px 50px 20px 50px;
    }
}