@import url('https://fonts.googleapis.com/css2?family=Crimson+Text&family=Lato&display=swap');

/* General Style Rules */
a {
    color:#0B5657;
    text-decoration: none;
    font-family: Lato, sans-serif;
}

a:hover {
    color:#9500a0;
    text-decoration: none;
}

h4 a {
    text-decoration: none;
}

p {
    font-family: Helvetica, sans-serif;
}

p a {
    color:#0B5657;
    text-decoration: underline;
}

h1,
h2 {
    color: white;
    text-align: center;
}

li {
    font-family: Lato, sans-serif;
}

/* Base Template */
.body-pad {
    padding-top: 94px;
}

.logo-background {
    padding: 1rem;
    padding-left: 0;
}

.pse-logo {
    color: #f5f5f5;
    background-color: #0B5657;
    border-radius: 50%;
    padding: 0.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.8rem;
}

.logo-text-1 {
    color: #0B5657;
    font-size: x-large;
    margin-right: 3px;
}

.logo-text-2 {
    color: #0B5657;
    font-size: x-large;
    margin-left: 1px
}

.navbar {
    padding-left: 1rem;
    padding-right: 0.5rem;
    background-image: url("https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png"),
        linear-gradient(to right, #ffffff, #ffffff, #0ca9a9, #0ca9a9, #0ca9a9, #0ca9a9);
    box-shadow: 10px 10px 15px rgb(0 0 0 / 15%);
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-brand {
    font-size: 2rem;
    margin-right: 0;
}

.navbar-light .navbar-toggler {
    background-color: rgba(255, 255, 255, 0.75);
    border-color:#0B5657;
    border-width: 2px;
}

.navbar-light .navbar-nav .nav-link {
    color: #0B5657;
    padding-right: 1rem;
    padding-left: 1rem;
}

.nav-link {
    margin-top: 0.3rem;
    margin-bottom: 0.3rem;
    margin-right: 10px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 500;
    color: #000;
    background-color: #fff;
    border: none;
    border-radius: 4px;
    box-shadow: 0px 8px 15px rgb(0 0 0 / 10%);
    transition: all 0.3s ease 0s;
    cursor: pointer;
    outline: none;
}

.nav-link a {
    color: #0B5657;
}

.nav-link:hover {
    background-color: #1b5757;
    box-shadow: 0px 10px 15px rgba(185, 246, 241, 0.74);
    color: #fff;
    transform: translateY(-4px);
}

.navbar-light .navbar-nav .nav-link:hover{
    color: white;
}

.user-status {
    background-color: #1b5757;
    color: #fff;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-radius: 4px;
    padding-right: 1rem;
    padding-left: 1rem;
    letter-spacing: 1px;
    margin-top: 0.3rem;
    margin-bottom: 0.3rem;
    margin-right: 10px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.noscript{
    font-size: larger;
    text-align: center;
    color: #0B5657;
    padding: 1rem;
}

/* Watermarked Passport Paper Effect */
.main-bg {
    background-image: url("https://www.toptal.com/designers/subtlepatterns/uploads/vertical-waves.png"),
        linear-gradient(to right, #ffffff, #ffffff, #23BBBB);
}

/* Footer */
.footer {
    font-family: Helvetica, sans-serif;
    color: #0B5657;
    background-image: url("https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png"),
        linear-gradient(to right, #ffffff, #ffffff, #0ca9a9, #0ca9a9, #0ca9a9, #0ca9a9);
    display: flex;
    justify-content: center;
}

footer a {
    color: #0B5657;
}

.footer-box {
    background-color: white;
    width: 260px;
    border-radius: 4px;
    padding: 0.5rem;
    border: 2px solid #0B5657;
}

.footer-container {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
    width: 80%;
    height: 84px;
    margin-left: 10%;
    padding-top: 0.5rem;
    text-align: center;
    color: white;
    background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png);
    background-color: #0ca9a9;
    border: solid 2px white;
    border-radius: 4px;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
}

/* Home Template */
#home-hero {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: center;
    background-image: url("https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png");
    background-color: #0ca9a9;
    border: solid 2px white;
    border-radius: 4px;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
}

.hero-image {
    border: solid 2px white;
    border-radius: 4px;
    width: 100%;
}

.hero-text {
    font-family: lato, sans-serif;
    text-transform: uppercase;
    letter-spacing: 5px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.hero-text h1 {
    font-size: x-large;
    background: #0B5657;
    border-radius: 4px;
    padding: 1rem;
}

#hero-strap-text {
    font-family: Helvetica, sans-serif;
    font-size: medium;
    text-transform: none;
    background: #0B5657;
    border-radius: 4px;
    padding: 1rem;
}

/* Styling for all forms and form page templates */
.passport-inst {
    color: #ffe294;
    width: 80%;
    margin-left: 10%;
    background-color: #0B5657;
    padding: 0.5rem;
    padding-top: 1rem;
    border-radius: 4px;
}

.form-group{
    text-align: left;
    margin-bottom: 2rem;
    width: 94%;
    margin-left: 3%;
    background-color: #0B5657;
    padding: 1rem;
    border-radius: 4px;
}

.form-group a {
    color: #ffe294;
}

.invalid-feedback {
    color: #ffe294;
    text-align: center;
    font-size: large;
    font-style: italic;
}

.form-container {
    width: 90%;
    background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png);
    background-color: #0ca9a9;
    border: solid 2px white;
    text-align: center;
    border-radius: 4px;
    margin-bottom: 2rem;
    padding-top: 2rem;
    padding-bottom: 6rem;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
}

.form-center {
    display: flex;
    justify-content: space-evenly;
    background-color: #0B5657;
    padding: 1rem;
    padding-bottom: 2rem;
    border-radius: 4px;
    margin-top: 1rem;
    width: 64%;
    margin-left: 18%;
}

.login {
    background-color: #0B5657;
    border-radius: 4px;
    padding: 1rem;
    padding-bottom: 2rem;
}

.form-text-row {
    width: 64%;
    background-color: white;
    padding: 1rem;
    border-radius: 4px;
    margin-left: 18%;
    margin-bottom: 0.5rem;
}

.form-row {
    text-align: center;
    width: 80%;
    margin-left: 10%;
}

.form-center-align {
    text-align: -webkit-center;
}

/* Overwrites Crispyforms Styles */
.form-group {
    color: white;
}

label {
    color: white;
}

.errorlist {
    color: #ffffff;
}

.auth-logo {
    width: 35%;
    border: 2px solid #0B5657;
    border-radius: 4px;
    margin-bottom: 1rem;
}

#signup_form {
    width: 11rem;
}

.signup-button {
    width: 60%;
    margin-left: 20%;
}

/* List Templates */
.list-heading-row {
    background: #ffffff;
    border: solid 2px #0B5657;
    border-radius: 4px;
    width: 98%;
    margin-left: 1%;
    padding: 0;
    --bs-gutter-x: 0;
}

.list-title-row {
    background-color: white;
    padding: 1rem;
    width: 50%;
    border-radius: 4px;
    border: solid 2px #0B5657;
    margin-top: 1rem;
    margin-left: 25%;
}

.list-heading {
    margin-bottom: 2.5rem;
    width: 92%;
    margin-left: 4%;
    padding: 1.5rem;
    text-align: center;
    background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png);
    background-color: #0ca9a9;
    border: solid 2px white;
    border-radius: 4px;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
}

.list-form {
    margin-bottom: 1rem;
}

.heading-img {
    padding: 1rem;
}

.page-link {
    color: #0B5657;
}

.page-link:hover {
    color: #9500a0;
}

.list-text {
    font-size: large;
    color: black;
    padding-top: 1rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.801);
}

.list-separator-rule {
    color: #0B5657;
    width: 50%;
    margin-left: 25%;
    margin-top: 1rem;
}

.pagination {
    margin-top: 1rem;
}

.pag-pages {
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
    color: #1b5757;
}

.pupil-id-text {
    display: none;
}

.link-row {
    text-align: center;
}

.record-text {
    text-align: center;
    color: #000;
}

/* Loading Modal */
#loading {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png);
    transform: translate(-50%, -50%);
    border-radius: 10px;
    border: 5px solid whitesmoke;
    background-color: #0ca9a9;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.loading-txt {
    color: #ffffff;
    background-color: #0B5657;
    padding: 1rem;
    border-radius: 4px;
    font-size: 4vw;
    width: 30%;
    position: fixed;
    top: 65%;
    left: 35%;
    text-align: center;
}

#load-gif {
    width: 30%;
    position: fixed;
    top: 30%;
    left: 35%;
    border-radius: 4px;
}

/* Custom cards */
.block-text {
    background: white;
    text-align: center;
    width: 95%;
    padding: 1rem;
    margin-top: 1rem;
    margin-left: 2.5%;
    border-radius: 4px;
}

.card-img-container {
   width: 100%;
   height: 260px;
   display: flex;
}

.card-img-top {
    width: 90%;
    border: solid 2px white;
    border-radius: 4px;
    margin-left: 5%;
    margin-top: 5%;
    margin-bottom: 1.5rem;
    object-fit: scale-down;
    background: #ffffff;
}

.card-body {
    width: 90%;
    min-height: 150px;
    background: white;
    margin-left: 5%;
    border-radius: 4px;
    flex: 0;
}

.card-buttons {
    display: inline-flex;
    justify-content: center;
}

.card-item {
    width: 95%;
    min-height: 550px;
    color: black;
    background-image: url("https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png");
    background-color: #0ca9a9;
    border: solid 2px white;
    border-radius: 4px;
    margin-top: 1rem;
    margin-left: 2.5%;
    margin-bottom: 1.5rem;
    padding-bottom: 20%;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
}

.card-container {
    margin-bottom: 2.5rem;
    width: 98%;
    margin-left: 1%;
    padding: 1.5rem;
    text-align: center;
}

/* Pupil Record Templates */
.record-bg-light {
    background-color:#ffffff;
    padding: 0.5rem;
    padding-top: 1rem;
}

.record-bg-dark {
    background-color: #0B5657;
    text-align: center;
    padding: 0.5rem;
    padding-top: 1rem;
}

.record-bg-light a {
    color: #0B5657;
}

.record-bg-dark a {
    color: #ffffff;
}

.record-bg-light a:hover {
    color: #178484;
    text-decoration: underline;
}

.record-bg-dark a:hover {
    color: antiquewhite;
    text-decoration: underline;
}

/* Passport Templates */
#floating-button {
    background-color: #0B5657;
    padding: 2rem;
    border-radius: 4px;
    position: sticky;
    top: 50%;
    z-index: 1;
    cursor: pointer;
}

#passport-blur {
    filter: blur(10px);
}

#passport-unblur {
    filter: blur(0px);
}

.passport-container {
    background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png);
    background-color: #0ca9a9;
    border: solid 2px white;
    border-radius: 4px;
    margin-bottom: 2rem;
    padding: 2rem;
    box-shadow: 10px 10px 15px rgb(0 0 0 / 50%);
}

.passport-separator-rule {
    color: white;
    width: 50%;
    margin-left: 25%;
    margin-top: 1rem;
}

.passport-item {
    max-height: 400px;
    max-width: 100%;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-radius: 4px;
}

.passport-card {
    width: 90%;
    padding: 1.5rem;
    background-color: white;
    border: solid 2px #0B5657;
    border-radius: 4px;
    margin-top: 1.5rem;
    padding-bottom: 20%;
    word-break: break-word;
    text-align: center;
}

.passport-title {
    font-size: larger;
    font-family: Lato, sans-serif;
    color: #ffffff;
    background: #0B5657;
    border-radius: 4px;
    padding: 0.5rem;
    width: 70%;
    margin-left: 15%;
    margin-bottom: 1.5rem;
}

.card-subtitle {
    font-size: large;
    font-family: Lato, sans-serif;
}

.vert-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.passport-title-row {
    background-color: white;
    padding: 1rem;
    border-radius: 4px;
    border: solid 2px #0B5657;
    margin-top: 1rem;
}

.passport-heading {
    width: 92%;
    background-color: white;
    padding: 1rem;
    border-radius: 4px;
    border: solid 2px #0B5657;
    margin-left: 4%;
}

.passport-text-row {
    width: 94%;
    background-color: white;
    padding: 1rem;
    border-radius: 4px;
    margin: 3%;
}
.passport-row {
    width: 94%;
    margin-left: 3%;
    margin-bottom: 1rem;
}

.passport-text-item {
    font-size: 2vw;
    color: #0B5657;
    margin-left: 2vw;
    margin-top: 1vw;
}

.passport-info-item-box {
    width: auto;
    margin-bottom: 0.5rem;
}

.passport-info-text {
    width: 75%;
    display: inline-block;
}

.passport-info-data {
    width: 75%;
    display: inline-block;
    color: #9500a0
}

.passport-cloudinary-item {
    width: 100%;
}

.passport-card-text-heading {
    text-align: center;
    color: #0B5657;
    border-radius: 4px;
    background: white;
    padding-top: 0.5rem;
}

.passport-card-icon {
    color: #0B5657;
    font-size: x-large;
}

.passport-underscore {
    text-align: center;
    color: #9500a0;
}

.passport-details-underscore {
    color: #9500a0;
}

.passport-button-row {
    width: 100%;
    margin-top: 2rem;
    margin-left: 1%;
    text-align: center;
}

.passport-options {
    margin-top: 1rem;
    font-size: 12px;
    padding: 0.5rem 2rem;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 500;
    color: #198754;
    background-color: #fff;
    border: none;
    border-radius: 4px;
    box-shadow: 0px 8px 15px rgb(0 0 0 / 10%);
    transition: all 0.3s ease 0s;
    cursor: pointer;
    outline: none;
}

.passport-options:hover {
    background-color: #1b5757;
    box-shadow: 0px 10px 15px rgba(185, 246, 241, 0.74);
    color: #fff;
    transform: translateY(-4px);
}

.form-passport-options {
    margin-top: 1rem;
    font-size: 12px;
    padding: 0.5rem 2rem;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 500;
    color: #198754;
    background-color: #fff;
    border: solid 1px #fff; 
    border-radius: 4px;
    box-shadow: 0px 8px 15px rgb(0 0 0 / 10%);
    transition: all 0.3s ease 0s;
    cursor: pointer;
    outline: none;
}

.form-passport-options:hover {
    background-color: #1b5757;
    border: solid 1px white;
    color: #fff;
}

.block-text {
    background: white;
    text-align: center;
    width: 95%;
    padding: 1rem;
    margin-top: 1rem;
    margin-left: 2.5%;
    border-radius: 4px;
}

#valid-pupil-id {
    display: none;
}

#set-teacher-id {
    display: none;
}

/* Unauthorised user elements */
.warning-logo {
    width: 25%;
}

.warning-heading {
    width: 92%;
    text-align: center;
    background-color: white;
    padding: 1rem;
    border-radius: 4px;
    border: solid 2px #0B5657;
    margin-left: 4%;
}

.content-container {
    padding-top: 75px;
    padding-bottom: 75px;
}

/* **** MEDIA QUERIES **** */

@media screen and (max-width: 800px) {
    .form-row {
        width: 100%;
        margin-left: 0%;
    }
    
}

@media screen and (max-width: 700px) {
    
    .navbar {
        background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png), linear-gradient(to right, #ffffff, #ffffff, #0ca9a9, #0ca9a9, #0ca9a9);
    }

    .form-text-row {
        width: 90%;
        margin-left: 5%;
    }

    .form-center {
        width: 90%;
        margin-left: 5%;
    }

    .signup-button {
        width: 80%;
        margin-left: 10%;
    }
}

@media screen and (max-width: 600px) {
    
    .auth-logo {
        width: 60%;
    }

    .loading-txt {
        width: 45%;
        left: 25%;
    }

    #load-gif {
        width: 45%;
        left: 25%;
    }


}

@media screen and (max-width: 500px) {
    
    .navbar {
        background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png), linear-gradient(to right, #ffffff, #ffffff, #0ca9a9, #0ca9a9);
    }

    .hero-text h1 {
        font-size: large;
    }

    #hero-strap-text {
        font-size: large;
    }

    .list-form .button {
        margin-top: 1rem;
    }
}

@media screen and (max-width: 400px) {
    
    .form-container {
        width: 100%;
    }

    .list-heading {
        width: 100%;
        margin-left: 0%;
    }

    .passport-title {
        width: 80%;
        margin-left: 10%;
    }

    .list-text {
        font-size: small;
    }

    .list-form {
        width: 90%;
        margin-left: 5%;
    }

    .card-container {
        width: 100%;
        margin-left: 0%;
    }

    .card-item {
        width: 100%;
        margin-left: 0%;
    }

    footer a {
        font-size: x-large;
        margin: 0.5rem;
    }
}

@media screen and (max-width: 350px) {
    
    .navbar {
        background-image: url(https://res.cloudinary.com/djck2eqxo/image/upload/v1666627962/scribble-light_ubbfq8.png), linear-gradient(to right, #ffffff, #ffffff, #0ca9a9);
    }

    .hero-text h1 {
        font-size: small;
    }

    #hero-strap-text {
        font-size: x-small;
    }

    .passport-title {
        font-size: large;
    }

    .form-row {
        text-align: center;
        width: 100%;
        margin-left: 0%;
    }

}