/* --------------------------------------------------- */
/* --------------- HTML Elements --------------------- */
/* --------------------------------------------------- */

@font-face: { font-family: "Ubuntu" }

body {
    font-family: "Ubuntu", Verdana, sans-serif;
    font-size: 1.15rem;
    line-height: 1.6;
    font-weight: 400;
}

section {
    margin-top: 1em;
    margin-bottom: 1em;
  }

h1, h2, h3, h4, h5, h6 {
    padding: 0.25em;
    font-family: "Jack Armstrong W00 Bold";
    color: white !important;
    text-shadow: 1px 1px 2px black, 0 0 10px blue, 0 0 5px red;
    line-height: 1.6em;
}

p {
    margin-top: 0.5em;
    margin-bottom: 1em;
    padding: 0.25em;
}

blockquote {
    position: relative;
    margin-left: 3em;
    margin-top: 2em;
    margin-bottom: 2em;
    margin-right: 0.5em;
    padding-block: 1em;
    padding-left: 1.5em;
    padding-right: 1em;
    border-style: ridge;
    border-block: 5px;
    border-color: darkorchid;
    border-radius: 0em;
    font-weight: 300;
    font-style: italic;
    font-size: 1.15em;
    backdrop-filter: blur(30px) saturate(3) brightness(0.99); 
    box-shadow: 2px 2px 5px rgba(0,0,0,0.6);
}

footer {
    position: sticky;
    margin-top: 10em;
    padding-top: 0.4em;
    padding-bottom: 0.15em;
    border-top: 1px solid lightgrey;
    color: lightgrey;
    font-size: 0.55em;
    text-align: center;
}


/* --------------------------------------------------- */
/* --------------- Background ------------------------ */
/* --------------------------------------------------- */

[class^="bg__img_fixed"] {
    position: fixed;
    top: 0;
    left: 0;
    min-height: 100vh;
    width: 100vw;
    z-index: -1;
    object-fit: cover; 
    transition: all 1.5s;
}

.bg__img_fixed {
    filter: brightness(0.7); 
}

.bg__img_fixed_dim {
    filter: brightness(0.4); 
}

.bg__img_focus_rt {
    object-position: 65% 50%; 
}

.bg-scrolled { 
    filter: brightness(0.3);
}


/* --------------------------------------------------- */
/* --------------- Navbar ---------------------------- */
/* --------------------------------------------------- */

.navbar { 
    padding: 0;
    transition: all 1.5s; 
    animation: fade-in ease-out 800ms; 
}

.navbar__logo { 
    width: clamp(35px, 40px, 45px);
    padding-left: 0.25em;
    padding-right: calc(1em + 2vw);
}

.navbar__logo img {
    width: calc(2em + 1vw);
    height: auto;
}

.navbar-scrolled { 
    background-color: #0f1c28; 
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.navbar__title {
    font-family: "Jack Armstrong W00 Bold";
    color: white !important;
    text-shadow: 1px 1px 2px black, 0 0 10px blue, 0 0 5px red;
    padding-inline: 1.25em;
    padding-block: 0.25em;
    text-decoration: none;
    font-size: clamp(1.25em, 2.5vw, 1.9em);
}


/* --------------------------------------------------- */
/* ----------------- Logo ---------------------------- */
/* --------------------------------------------------- */

.front-logo {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    max-height: 60vh;
    max-width: 90vw;
}

.section__img_logo {
    bottom: 0;
    left: 0;
    max-height: 60vh;
    max-width: 90vw;
}


/* --------------------------------------------------- */
/* ----------------- Bootstrap builtins -------------- */
/* --------------------------------------------------- */

[class^="col-"] {
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
}

[class^="display-"] {
    animation: fade-in ease-out 800ms;
}

.lead {
    font-size: 1.2em;
}


/* --------------------------------------------------- */
/* --------------- Bootstrap -> Cards ---------------- */
/* --------------------------------------------------- */

.card {
    position: relative;
    margin-block: 1.25em;
    margin-inline: 0.5em;
    box-shadow: 2px 2px 10px 5px rgba(0,0,0,0.5);
    animation: fade-in ease-in-out 800ms;
}

.card-body {
    background-image: linear-gradient(to top right, rgba(0,0,0,0.1), rgba(1,1,1,0.4));
}

.card-title {
    text-align: right;
}

.card-text {
    margin-top: 0;
}

.card-img-top {
    background: rgba(0,0,0,0.8);
    box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.4);
    border: none;
}


/* --------------------------------------------------- */
/* --------------- Puma Custom Styles ---------------- */
/* --------------------------------------------------- */


/* Positioning */

.pad-top {
    margin-top: 15vh;
}


/* Animations*/

@keyframes fade-in {
    from { 
        scale: .9; 
        opacity: 0;
    }
    to { 
        scale: 1; 
        opacity: 1;
    }
}

.fade-in {
    animation: fade-in ease-in-out 800ms;
}


/* Chunks */

.jumbotron { 
    margin-top: 0em;
    margin-bottom: 1.5em;
    padding-block: 0em;
    width: 100%;
    font-family: "Jack Armstrong W00 Bold";
    color: white !important;
    font-size: calc(1.2em + 1.618vw);
    text-shadow: 1px 1px 2px black, 0 0 10px blue, 0 0 5px red;
    text-align: center;
    line-height: 2.3em;
}

.title-section {
    padding-top: 3.25em;
    padding-bottom: 1em;
    font-family: "Jack Armstrong W00 Bold";
    color: white !important;
    text-shadow: 1px 1px 2px black, 0 0 10px blue, 0 0 5px red;
    font-size: calc(1.2em + 1.618vw);
    text-align: center;
}

.content-section {
     margin-block: 5em;
     box-shadow: 2px 2px 5px rgba(0,0,0,0.6);
     border-radius: 0.75em;
}


/* Elements */

[class^="paw-group-"] li {
    padding-inline: 0.25em;
    padding-block: 0.5em;
}

.paw-group-light {
    list-style-image: url('images/paw3_blk_sm4.svg');
}

.paw-group-dark {
    list-style-image: url('images/paw3_wht_sm4.svg');
}

.btn-group {
    padding-inline: 2em;
    padding-top: 0.7em;
    padding-bottom: 0.6em;
    display: flex;
    flex-direction: column;
    align-items: center;
    list-style-type: none;
    border-style: ridge;
    border-block: 5px;
    border-color: darkorchid;
    border-radius: 0.7em;
    box-shadow: 0px 1px 5px 2px #111111;
}

.btn-group li {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-inline: 1em;
}

.btn-group .btn {
    padding-inline: 0.5em;
    padding-block: 0.25em;
    font-size: 1.35em;
    font-weight: bold;
    background: darkorchid;
    color: lightgrey;
    box-shadow: 0px 1px 5px 2px #111111;
    background-image: linear-gradient(to top right, rgba(0,0,0,0.1), rgba(1,1,1,0.4));
}

.btn-group .btn:hover {
    color: white;
}

.paw-group-slim li {
    padding-block: 0.2em;
}

.section__img_shadow {
    box-shadow: 2px 2px 5px rgba(0,0,0,0.6);
    border-radius: 0.25em;
}


/* Utilities */

.pepper-blue {
    color: #73C3E5;
}

.display-box {
    margin-block: 1em;
    padding: 1em;
    list-style-type: none;
    font-size: 1.25em;
    border-style: ridge;
    border-block: 5px;
    border-color: darkorchid;
    border-radius: 0.7em;
    box-shadow: 0px 1px 5px 2px #111111;
    backdrop-filter: blur(30px) saturate(3) brightness(0.99); 
}

