@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300&family=Playfair+Display&display=swap');


/* site wide element rules */

* {
    margin: 0;
    padding: 0;
    border: none;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    color: #3a3a3a;
}

h1,
h2 {
    text-transform: uppercase;
    color: #042e7d;
    font-weight: 800;
}

h1 {
    font-size: 3.5rem;
}

h2 {
    font-size: 2rem;
    border-bottom: #042e7d solid 0.1875rem;
    margin: 1.5625rem 15%;
    text-align: center;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.2rem;
}

small {
    font-size: 0.7rem;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

/* site wide class and id rules */

/* headings */

#heading-logo {
    width: 100%;
    margin-top: 1.5625rem;
    max-height: 21.875rem;
    object-fit: contain;
    border: none;
}

.heading {
    display: flex;
    flex-flow: column wrap;
    margin: 0 auto;
    padding-top: 6.25rem;
    text-align: center;
}

.heading h1 {
    text-align: center;
    clear: both;
}

.heading a {
    line-height: 2.3rem;
    margin: 1.5625rem auto 3.125rem;
}

.heading img {
    display: flex;
    margin: 0 auto;
    height: 25rem;
    border: 0.1875em solid #d0d2db;
}

.heading .descriptor-text {
    width: 47.5%;
    margin: 0 auto;
}

/* job categories */

.job-categories {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.job-container {
    display: block;
    text-align: center;
    width: 33%;
}

.category-image-container {
    overflow: hidden;
    width: 75%;
    margin: 0.78625rem auto;
}

.category-image-container img {
    height: 18.75rem;
    border: 0.1875rem solid #d0d2db;
    display: block;
    margin: 0 auto;
}

.job-container h3 {
    color: #042e7d;
}

.job-container a:hover {
    text-decoration-color: #042e7d;
    text-decoration: underline;
    text-underline-offset: 0.3125em;
    text-decoration-thickness: 0.125em;
}

.job-container p {
    margin: 0 5% 1.5625rem;
    line-height: 120%;
}

/* additional stylings */

.descriptor-text {
    font-size: 1.3rem;
    font-weight: 800;
}

.checklist li {
    font-size: 1.75rem;
    font-weight: 800;
    text-align: center;
    margin: 1.5625rem auto;
}

.checklist li i {
    font-size: 1.75em;
    vertical-align: sub;
    color: #042e7d;
}

.button {
    font-family: "Playfair display", sans-serif;
    font-weight: 600;
    text-align: center;
    color: white;
    /* original code source and accrediting in readme */
    text-shadow: -0.0625em -0.0625em #3a3a3a, 0.0625em -0.0625em #3a3a3a, -0.0625em 0.0625em #3a3a3a, 0.0625em 0.0625em #3a3a3a;
    text-transform: uppercase;
    display: block;
    border: 0.25rem solid rgb(204, 148, 115);
    border-radius: 10%;
    background-color: rgb(255, 102, 0);
    width: 9.375rem;
    height: 4.6875rem;
}

.button:hover {
    text-shadow: none;
    color: rgb(255, 102, 0);
    border: 0.25rem solid #d0d2db;
    border-radius: 10%;
    background-color: white;
}

/* nav header */

header {
    font-size: 1.2rem;
    position: fixed;
    background-color: #3a3a3a;
    width: 100%;
    height: 6.25rem;
    z-index: 1;
}

header ul {
    padding-top: 1.875rem;
    display: flex;
    justify-content: space-evenly;
    align-content: stretch;
    align-items: center;
    color: #d0d2db;
    text-transform: uppercase;
    z-index: 1;
}

header li {
    padding: 0 0.3125rem;
    z-index: 1;
}

header a:hover {
    border-bottom: solid 0.0625em;
    padding: .5em 1em;
    overflow: hidden;
    margin: -1em;
    z-index: 1;
}

.active {
    border-bottom: solid 0.0625em;
    padding: .5em 1em;
    overflow: hidden;
    margin: -1em;
    z-index: 1;
}

/* footer */

footer {
    margin-top: 3.125rem;
    background-color: #3a3a3a;
    width: 100%;
    height: 6.25rem;
    text-align: center;
}

footer ul {
    padding-top: 0.35%;
    display: flex;
    flex-flow: row nowrap;
    flex-shrink: 1;
    justify-content: space-evenly;
    align-items: center;
    color: #d0d2db;
    font-size: 1.2em;
    text-transform: uppercase;
    max-height: 6.25rem;
    list-style: none;
}

footer li {
    height: 90%;
    width: 20%;
}

footer a:hover {
    border-bottom: solid 0.0625em;
    padding: .25em 1em;
    overflow: hidden;
    margin: -1em;
}

#footer-linkedin a:hover {
    border-bottom: solid 0.0625em;
    padding: .25em 1em;
    overflow: hidden;
    margin: 1em;
}

#footer-linkedin {
    font-size: 1.5em;
}

#footer-logo-bg {
    position: relative;
    display: flex;
    height: 5.625rem;
    margin: 0 auto;
}

#footer-logo-bg img {
    margin: 0 auto;
    border: #042e7d inset 0.1875rem;
    border-radius: 10%;
    background-color: #d0d2db;
}

/* home page */

/* home heading */

#home-logo {
    border: none;
    width: 100%;
    margin-top: 1.5625rem;
    max-height: 21.875rem;
    object-fit: contain;
    
    /* original code source and accrediting in readme */
    /* animates home heading logo */

    animation-name: logo-zoom;
    animation-duration: 5s;
    animation-fill-mode: forwards;
}

/* original code source and accrediting in readme */
/* creates the level of zoom for hero image */
@keyframes logo-zoom {
    from {
        transform: scale(1.25);
        opacity: 0.25;
    }

    to {
        transform: scale(1.0);
        opacity: 1;
    }
}

/* recognition  */

#recognized-outer {
    margin: 0 auto 3.125rem;
    width: 90%;
}

#abs-outer {
    display: flex;
    margin: 0 auto;
    width: 35%;
    text-align: center;
}

.recognized-logo {
    display: block;
    width: 100%;
}

/* c-bird essence */

#essence-outer {
    text-align: center;
    margin: 0 auto;
}

#essence-outer img {
    width: 70%;
}

#client-quote {
    width: 60%;
    text-align: center;
    margin: 1.5625rem auto;
}

/* c-bird in action */

#c-bird-in-action p {
    text-align: center;
}

#project-gallery {
    margin: 1.5625rem auto 0;
    width: 90%;
}

.gallery-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
}

.gallery-image {
    width: 40%;
    margin-bottom: 0.625rem;
    border: 0.1875rem solid #d0d2db;
}

.thin-gallery-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    margin: 0 2.65%;
}

.thin-gallery-image {
    width: 25%;
    margin: 0 auto;
    border: 0.1875rem solid #d0d2db;
}

/* utm hull gauging page */

/* why c-bird */

#why-c-bird a {
    margin: 1.5625rem auto 3.125rem;
    line-height: 2.1875rem;
}

/* early bird sign-up */

#early-bird {
    text-align: center;
    margin-bottom: 3.125rem;
}

#early-bird .descriptor-text {
    margin: 1.5625rem auto 1.5625rem;
    max-width: 80%;
}

#sign-up-outer {
    margin: 0 auto 1.5625rem;
    width: 15.625rem;
    border: 0.1875rem solid white;
    border-radius: 10%;
}

#sign-up-outer:hover {
    border: 0.1875rem solid #042e7d;
    border-radius: 10%;
}

#sign-up-button {
    height: 12.5rem;
    width: 12.5rem;
}

#sign-up-button img {
    height: 9.375rem;
}

#sign-up-button h3 {
    color: #042e7d;
    text-transform: uppercase;
}

#nda {
    margin: 0 auto;
    width: 52.5%;
    text-align: center;
    text-decoration: underline double 0.1875rem;
    text-underline-offset: 0.3125rem;
    font-size: 1.5rem;
    font-weight: 800;
}

/* close-up survey page */

/* survey heading */

#survey-heading .descriptor-text {
    margin: 0 auto 1.5625rem;
}

/* platforms and solutions */

#platforms-and-solutions {
    margin: 0 auto;
    width: 90%;
    text-align: center;
}

#platforms-and-solutions .descriptor-text {
    margin: 0 auto;
    width: 70%;
}

#solution-image-container {
    width: 60%;
    height: 20%;
    margin: 1.5625rem auto;
}

#platforms-and-solutions img {
    width: 100%;
    height: 100%;
}

#survey-solutions {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.solution-container {
    display: block;
    text-align: center;
    width: 45%;
}

.solution-container h3 {
    margin-bottom: 0.7625rem;
    color: #042e7d;
}

.solution-container p {
    margin: 0 20%;
}

/* consultancy page */

/* consultancy categories */

#consultancy-heading .descriptor-text {
    margin: 0 auto 1.5625rem;
}

#consultancy-categories {
    width: 100%;
    display: flex;
    flex-flow: row wrap-reverse;
    justify-content: center;
}

.consultancy-container {
    display: block;
    text-align: center;
    width: 50%;
    height: 35rem;
}

.consultancy-image-container {
    margin: 0.78625rem auto;
}

.consultancy-image-container img {
    display: block;
    height: 22.5rem;
    border: 0.1875rem solid #d0d2db;
    margin: 0 auto;
}

.consultancy-container h3 {
    color: #042e7d;
}

.consultancy-container p {
    margin: 0 15%;
}

/* quote button */

#quote-button {
    margin: 5rem auto 0;
    line-height: 4.5rem;
    letter-spacing: 0.0625em;
}

/* contact page */

/* contact form */

#contact-heading {
    margin: 0 auto;
}

#contact-form {
    width: 60%;
    margin: 1.5625rem auto;
    text-align: left;
}

#contact-form label {
    font-weight: 600;
}

#contact-form input {
    margin: 0.625rem 0 1rem;
}

#contact-form .button {
    margin: 0.5625rem 0;
}

#contact-form textarea {
    margin: 0.625rem 0 1.25rem;
    font-family: Arial, Helvetica, sans-serif;
}

.form-text-input {
    border: 0.1875rem groove #d0d2db;
    line-height: 1.5625rem;
    width: 100%;
}

#form-submit {
    font-size: 110%;
    letter-spacing: 0.0625em;
}

/* founders section */

#founders {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
}

.founders-container .descriptor-text {
    color: #042e7d;
    margin-bottom: 0.625rem;
}

.founders-container {
    display: block;
    text-align: center;
    width: 45%;
}

.founder-image-container {
    width: 18.75rem;
    border-radius: 50%;
    overflow: hidden;
    margin: 1.5625rem auto;
}

.founder-image-container img {
    height: 18.75rem;
}

.founder-description {
    height: 9rem;
}

.linkedin:hover {
    border-bottom: 0.0625em solid #042e7d;
    padding: 0 0.5em;
    overflow: hidden;
}

.linkedin {
    color: #042e7d;
    font-size: 2.5rem;
}

/* media queries */

/* media queries for large screens */

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

    .heading img {
        height: 20rem;
    }

    .heading .descriptor-text {
        width: 50%;
    } 

    .job-container {
        width: 50%;
    }

    .category-image-container img {
        height: 15.625rem;
    }

    .checklist li {
        font-size: 1.65rem;
    }

    #essence-outer img {
        width: 80%;
    }

    #project-gallery {
        width: 100%;
    }   

    #nda {
        width: 60%;
    }

    .solution-container p {
        margin: 0 10%;
    }

    .consultancy-container {
        height: 30rem;
    }

    .consultancy-image-container img {
        height: 16.5rem;
    }

    .consultancy-container p {
        margin: 0 4%;
    }

    #quote-button {
        margin-top: 4rem;
    }

    .founder-description {
        height: 12rem;
    }
}

/* media queries for medium screens */

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

    h2 {
        font-size: 1.6rem;
    }

    .heading img {
        height: 15rem;
    }

    .heading .descriptor-text {
        width: 70%;
    }

    .descriptor-text {
        font-size: 1.04rem
    }

    .checklist li {
        font-size: 1.2rem;
    }

    .job-container {
        width: 80%;
        height: 22.5rem;
    }

    .category-image-container {
        width: 85%;
    }
    
    .category-image-container img {
        height: 12.5rem;
    }
    
    header ul {
        font-size: 1.05rem;
    }

    footer ul {
        padding-top: 0.5%
    }

    #abs-outer {
        width: 45%;
    }

    #essence-outer img {
        width: 90%;
    }

    .gallery-image {
        width: 45%;
    }

    .thin-gallery-image {
        width: 30%;
    }

    #nda {
        font-size: 1.25rem;
        text-decoration: underline double 0.1275rem;
        text-underline-offset: 0.15625rem;
    }

    .solution-container p {
        margin: 0 5%;
    }

    .consultancy-container {
        width: 80%;
        height: 27.5rem;
    }

    #quote-button {
        margin-top: 4.6875rem;
    }

    #contact-form {
        width: 75%;
    }

    .founder-image-container {
        width: 15.625rem;
    }

    .founder-image-container img {
        height: 15.625rem;
    }

    .founder-description {
        height: 16rem;
    }
}

/* media queries for medium to small screens */

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

    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 1.3rem;
    }

    h3 {
        font-size: 1.3rem;
    }

    small {
        font-size: 0.6rem;
    }

    .heading {
        padding-top: 3.25rem;
    }

    .heading img {
        height: 10.5rem;
    }

    .heading .descriptor-text {
        width: 90%;
    } 

    .job-container {
        width: 100%;
        height: 23rem;
    }

    .descriptor-text {
        font-size: 1rem;
    }

    .checklist li {
        font-size: 0.75rem;
    }

    .button {
        width: 7.03125rem;
        height: 4.6875rem;
        font-size: 0.8rem;
        margin: auto 0;
    }
    
    header {
        height: 4.6875rem;
    }

    header ul {
        font-size: 0.75rem;
    }

    footer ul {
        font-size: 1rem;
        padding-top: 0.75%;
    }

    #footer-logo-bg img {
        margin: auto;
        height: 4.21875rem;
    }
    
    #essence-outer img {
        width: 100%;
    }

    #abs-outer {
        width: 60%;
    }

    .gallery-image {
        width: 47.5%;
    }

    #nda {
        width: 75%;
        font-size: 1rem;
        text-decoration: underline double 0.1275rem;
        text-underline-offset: 0.15625rem;
    }

    .solution-container {
        display: block;
        text-align: center;
        width: 90%;
        margin: 0.78625rem 0 0;
    }

    .solution-container p {
        margin: 0 10%;
    }

    .consultancy-container {
        width: 90%;
        height: 26rem;
    }

    .consultancy-image-container img {
        height: 12.5rem;
        margin: 0 auto;
    }

    .consultancy-container p {
        margin: 0 2.5%;
    }

    #quote-button {
        margin-top: 5rem;
    }

    #contact-heading h1 {
        margin-top: 1.5625rem;
    }

    .founders-container {
        display: block;
        text-align: center;
        width: 90%;
        margin-bottom: 1.5625rem;
    }

    .founder-description {
        height: 13rem;
    }
}

/* media queries for mobile devices */

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

    h1 {
        font-size: 2rem;
    }

    .heading {
        width: 90%;
        padding-top: 3.25rem;
    }

    .heading img {
        height: 9.5rem;
    }

    .job-container {
        width: 100%;
        height: 25rem;
    }

    .checklist li {
        font-size: 0.6rem;
    }

    header ul {
        font-size: 0.60rem;
        margin: 0;
    }
    
    footer ul {
        font-size: 1rem;
        padding-top: 1.5%;
    }

    #footer-logo-bg img {
        height: 3.375rem;
    }

    footer small {
        font-size: 0.475rem;
    }

    #platforms-and-solutions .descriptor-text {
        margin: 1.5625rem auto 0;
    }

    #solution-image-container {
        width: 100%;
        margin: 1.5625rem auto;
    }

    .solution-container p {
        margin: 0 5%;
    }

    .consultancy-container {
        width: 100%;
        height: 25rem;
    }

    .consultancy-image-container img {
        height: 10rem;
        margin: 0.78625rem auto;
    }

    #quote-button {
        margin-top: 6rem;
    }

    .form-text-input {
        text-align: center;
        margin: 0 auto;
    }

    #contact-form input {
        margin: 0.625rem auto 1rem;
    }

    .founder-description {
        height: 16rem;
    }

    .founders-container {
        width: 90%;
        margin-bottom: 1.5625rem;
    }

    .founder-image-container {
        width: 8rem;
    }

    .founder-image-container img {
        height: 8rem;
    }
}