/* INDEX.EJS */
@import url('https://fonts.googleapis.com/css?family=Poppins:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Comfortaa:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Audiowide:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Rock+Salt:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Berkshire+Swash:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Coda:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Special+Elite:400,500,700');
@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&family=Special+Elite&display=swap');

body {
    height: 100%;
    width: 100%;
    font-family: 'Comfortaa', sans-serif;
    color: #222;
    background-color: #f5f5f5;
    padding-top: 35px;
}

.masthead {
  display: table;
  width: 100%;
  height: auto;
  padding: 0px 0px 300px 0px;
  text-align: center;
  color: black;
  background: url('/images/CSS/group-cyclist.png') no-repeat bottom center scroll;
  background-color: black;
  background-size: cover;
}


    .intro-body {
        display: table-cell;
        vertical-align: middle;
        .brand-heading {
            font-size: 50px;
        }
        .intro-text {
            font-size: 18px;
        }
    }
}

/*
.frame-matte-container {
  padding: 50px 0;
  background-color: #e5e5e5; /* Optional background behind the frame 
}

.matte-frame {
  background-color: #36454f; /* Matte color 
  padding: 20px; /* Matte thickness 
  border: 12px solid #999; /* Frame border 
  box-shadow: 0 12px 24px rgba(0, 0, 0, 5);
  max-width: 960px;
  width: 95%;
  border-radius: 10px; /* Rounded corners for frame 
  overflow: hidden; /* Ensures child content respects border radius 
}
*/

/* Optional: shrink the masthead image slightly inside the frame */
.matte-frame .masthead {
  border: 1px solid #ccc;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
  border-radius: 5px; /* Slightly smaller radius to nest inside */
}


.mastheadquote {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  border: 2px solid #a5a5a5;
  border-radius: 8px;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
  color: black;
  background: url('/images/CSS/gettysburg-address.png') no-repeat center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: white;
  min-height: 300px; /* adjust as needed */
  position: relative;
  overflow: hidden;
}


.masthead.no-frame {
  border-radius: 10px;
  border: 2px solid black;
  box-shadow: 12px 14px 30px rgba(0, 0, 0, 0.85); /* Darker and directional */
  margin: 30px auto;
  margin-top: 80px;
  max-width: 960px;
}



.brand-heading {
  font-size: 32px; /* adjust as needed */
  margin-bottom: 20px;
}

.intro-text {
  font-size: 18px;
  max-width: 600px;
  margin: 0 auto;
}



img {
    image-orientation: from-image;
}

/* GENERAL */
a {
    color: #000;;
    font-weight: bold;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.moose-right {
    transform: scalex(-1);
}

/* NAVBAR & FOOTER*/
.active-link {
  color: gold !important;
  font-weight: bold;
}

.navbar {
    padding: .8rem;
    z-index: 10;
    position:relative
}

.navbar-nav li {
    padding-right: 20px
}

.nav-link {
    font-size: 1.1em !important;
}

.logo {
    margin-right: 3px;
}

footer {
    background-color: #3f3f3f;
    color: #d5d5d5;
    padding-top: 2rem;
}

footer a {
    color: #d5d5d5;
}

footer p {
    margin-bottom: 0%;
}

footer h5 {
    margin-top: .5em;
}

footer div h5 {
    font-size: .8rem;
}

footer div p {
    font-size: .6rem;
}

.navbar, .navbar .nav-link {
    font-family: 'Comfortaa', sans-serif !important;
}

h2, h1, h3, h4, h5, h6 {
    font-family: 'Comfortaa', sans-serif;
}

.footer-full {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background-color: #3f3f3f;
}



/* INDEX.HTML */
.headshot-img {
  border-radius: 12px;
  border: 3px solid #ccc;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  padding: 4px;
  background-color: #fff;
}

.special-elite-lincoln {
    font-family: "Special Elite", system ui;
    font-weight: 100;
    font-style:normal;
    font-size: 30px;
}

.homemade-apple-lincoln {
    font-family: "Homemade Apple", cursive;
    font-weight:100;
    font-style: normal;
    font-size: 19px;
}

.quote-block {
    display: inline-block;
    position: relative;
    text-align: left;
}

.author-line {
    position: absolute;
    top: 100%;
    right: 0;
    white-space: nowrap;
    font-weight: 700;
}

.quotebox-ctr {
    display: flex;
    justify-content: center;
    align-items: center;
}
.kleb {
    color: black;
    text-shadow: 1px 0 black;
    letter-spacing: 1px;
    font-weight: bold;
}

.center-block {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.hr-quote-top {
    width: 50%;
    margin-top: 0%;
    margin-bottom: .5rem;
    height: 2px;
    border-color: darkgray;
}

.hr-quote-bottom {
    width: 50%;
    margin-top: .5rem;
    margin-bottom: 0%;
    height: 2px;
    border-color: darkgray;
}

.carousel-inner img {
    width: 97%;
    height: 100%;
    margin-left: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.carousel-caption {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.carousel-caption h1 {
    font-size: 500%;
    text-transform: uppercase;
    text-shadow: 1px 1px 15px #000;
}

.carousel-caption h3 {
    font-size: 200%;
    font-weight: 500;
    text-shadow: 1px 1px 10px #000;
    padding-bottom: 1rem;
}

.carousel-item h6 {
    font-size: 80%;
    line-height: 1.2;
    color: yellow;
}

.welcome {
    width: 75%;
    margin: 0 auto;
    padding-top: 2rem;
}

.welcome hr {
    border-top: 2px solid #b4b4b4;
    width: 95%;
    margin-top: .3rem;
    margin-bottom: 1rem;
}

.space {
    background-color: gray;
    margin-bottom: 2px;
    text-align: center;
}

.img-header {
    width: 100%;
    height: 95%;
    border-radius: 3px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.9);
}


/* PROJECT605.HTML */

/* Remove bottom margin and padding from the section */
section.d-flex {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Reduce top margin of the first row inside the main container */
main.container > .row:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/*Double Matting for Picture Frame for business cards */
.matting-frame {
  padding: 10px;
  background: #ccc; /* outer mat */
  border: 1px solid #999;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  cursor: pointer;
  transition: transform 0.2s;
}

.matting-frame:hover {
  transform: scale(1.03);
}

.matting-frame img {
  display: block;
  width: 100%;
  background: #fff; /* inner mat */
  padding: 8px;
  border: 1px solid #e0e0e0;
}

.business-card-img {
  max-width: 100%;
  height: auto;
  border: 2px solid #ccc;
  border-radius: 6px;
  padding: 4px;
  margin-bottom: 10px;
  box-shadow: 0 1px 5px rgba(0,0,0,0.1);
}


/*Control the size of the pop-out image on the business cards */
.modal-img {
    max-width: 100%;
    max-height: 90vh;
    height: auto;
    width: auto;
}

.manager-font {
    font-size: .7rem;
}

/*PROJECT CARD WITH THUMBNAILS LAYOUT*/
/* Project Cards Container */
.project-row {
  margin-top: 40px;
}

/* Card styling */
.project-card {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 15px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Title above card */
.project-title {
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 12px;
  text-align: center;
}

/* Main image styling */
.project-main-image {
  width: 100%;
  max-height: 250px;
  object-fit: contain;
  border-radius: 4px;
  margin-bottom: 10px;
  box-shadow: 0 1px 5px rgba(0,0,0,0.15);
}

/* Thumbnails container - horizontal scroll with arrows */
.thumbnail-slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 10px;
}

/* Thumbnails track: flex container */
.thumbnail-track {
  display: flex;
  transition: transform 0.3s ease;
  will-change: transform;
  overflow: auto;
  scroll-behavior: smooth;
}

/* Each thumbnail */
.project-thumbnail {
  width: 60px;
  height: 45px;
  object-fit: cover;
  margin-right: 8px;
  border-radius: 3px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.3s ease;
}

.project-thumbnail.selected {
  border-color: #007bff; /* Bootstrap primary color */
}

/* Slider arrows */
.slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background-color: rgba(0,0,0,0.4);
  color: white;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
  z-index: 10;
}

.slider-arrow.left {
  left: 0;
}

.slider-arrow.right {
  right: 0;
}

/* Description text */
.project-description {
  font-size: 0.9rem;
  color: #333;
  text-align: center;
  min-height: 3.6em; /* approx 3 lines */
  margin-top: 5px;
  padding: 0 5px;
}

/* SYLING FOR PROJECT605 IMAGES*/
.project-img {
  max-width: 30%;
  height: auto;
  display: block;
  margin: 1rem auto;
  border-radius: 6px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
}

.project-img-title {
  text-align: center;
  margin-bottom: 0.5rem;
}

#modalImage {
  max-height: 80vh;
  object-fit: contain;
}

.project-main-image {
  cursor: zoom-in;
}

.modal-nav-zone {
  cursor: pointer; /* replace w-resize / e-resize */
}


.modal-nav-zone {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  background-color: transparent;
  transition: none;
  cursor: pointer;
}

.modal-nav-zone:hover {
  background-color: transparent;
}

.modal-nav-zone i {
  opacity: .3;
  transition: opacity 2s ease;
}

.modal-nav-zone:hover i {
  opacity: 1;
}



.modal-nav-left {
  left: 0;
}

.modal-nav-right {
  right: 0;
}



.fa-html5 {
    color:#E34F26;
    font-size: 2rem;
}

.fa-npm {
    color: #cb3837;
    font-size: 2rem;
}

.fa-js-square {
    color: #f7df1e;
    font-size: 2rem;
}

.fa-css3-alt {
    color: #3B5998;
    font-size: 2rem;
}

.project-banner {
    text-align: center;
    font-size: 2.5rem;
    text-shadow: 2px 2px 4px #808080;
    margin-bottom: 0;
}

.project-desc {
    text-align: center;
}

.project-img {
    border: 5px solid #ddd;
    background-color: #f2f2f2;
    border-radius: 4px;
    padding: 5px;
    box-shadow: 5px 5px 5px grey;
    margin-bottom: 1rem;
}

/*
.project-img:hover {
    border-radius: 15px 40px;
}
*/

.cindyandme-title {
    font-family: Comfortaa;
    font-size: 1.2rem;
    font-weight: bold;
    color: black;
}

.newproject-title {
    font-family: Special Elite;
    font-size: 1.5rem;
    color: blue;
}

.technologies li {
    display: inline;
    color: red;
    list-style-type: none;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #108d6f;
    border-color: #108d6f;
    box-shadow: none;
    outline: none;
}

.btn-primary {
    color: #fff;
    background-color: #007b5e;
    border-color: #007b5e;
}

section {
    padding: 60px 0;
}

section .section-title {
    text-align: center;
    color: black;
    margin-bottom: 50px;
    text-transform: uppercase;
}

#team .card {
    border: none;
    background: #ffffff;
}

.image-flip:hover .backside,
.image-flip.hover .backside {
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -o-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    transform: rotateY(0deg);
    border-radius: .25rem;
}

.image-flip:hover .frontside,
.image-flip.hover .frontside {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

.frontside {
    position: relative;
    -webkit-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    z-index: 2;
    margin-bottom: 30px;
}

.backside {
    position: absolute;
    top: 0;
    left: 0;
    background: white;
    -webkit-transform: rotateY(-180deg);
    -moz-transform: rotateY(-180deg);
    -o-transform: rotateY(-180deg);
    -ms-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
    -webkit-box-shadow: 5px 7px 9px -4px rgb(158, 158, 158);
    -moz-box-shadow: 5px 7px 9px -4px rgb(158, 158, 158);
    box-shadow: 5px 7px 9px -4px rgb(158, 158, 158);
}

.frontside,
.backside {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: 1s;
    -webkit-transform-style: preserve-3d;
    -moz-transition: 1s;
    -moz-transform-style: preserve-3d;
    -o-transition: 1s;
    -o-transform-style: preserve-3d;
    -ms-transition: 1s;
    -ms-transform-style: preserve-3d;
    transition: 1s;
    transform-style: preserve-3d;
}

.frontside .card,
.backside .card {
    min-height: 312px;
}

.backside .card a {
    font-size: 18px;
    color: #007b5e !important;
}

/* RESUME.HTML */
.resume-padding {
    padding-left: 5rem;
}

.resume-hr-top {
    margin-top: 0%;
    margin-bottom: .5rem;
}

.resume-hr-bottom {
    margin-top: .5rem;
    margin-bottom: 0%;
    width: 100%;
}

resume div {
    padding: 0%;
}

.resume-left {
    display: inline-block;
}

.resume-right {
    padding-right: 5rem;
}

.resume-date-right {
    display: inline-block;
    float: right;
    padding-right: 5rem;
}

.resume-justify {
    padding-left: 2rem;
    padding-right: 5rem;
    text-align: justify;
}

.resume-justify-ul {
    padding-left: 4rem;
    padding-right: 5rem;
    text-align: justify;
}

.resume-link a {
    color: darkslategray;
}

.resume-link a:hover {
    color: blue;
    text-decoration: none;
    font-weight: bold;
}

/* SOCIAL MEDIA */
.fa-facebook-f {
    color: #3b5998;
}

.fa-linkedin-in {
    color: #0077b5;
}

.fa-instagram {
    color: #517fa4;
}

.fa-twitter {
    color: #00aced;
}

.fa-strava {
    color: #fc4c02;
}

.fa-github {
    color: black;
}

.fa-facebook-f,
.fa-linkedin-in,
.fa-instagram,
.fa-twitter,
.fa-strava,
.fa-github,
.fa-jicon:hover {
    font-size: 1.5rem;
    margin-bottom: .5rem;
}

.fa-facebook-f:hover,
.fa-linkedin-in:hover,
.fa-instagram:hover,
.fa-twitter:hover,
.fa-strava:hover,
.fa-github:hover,
.fa-jicon:hover,
.hackhive:hover {
    opacity: .5;
}

.sm-cardheader {
    font-size: .8rem;
}

.pointer:hover {
    cursor: pointer;
    opacity: .5;
    font-size: 1rem;
}

/*CINDYANDME.HTML*/

/* MOOSE SPILL OUT OF BOX */
.moose-container {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.moose-overlap {
  width: 100px;
  height: auto;
  position: absolute;
  top: -75px; /* Adjust this to cut moose mid-body */
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}

.dark-box {
    background-color: #e9ecef;
    color: black;
    text-align: center;
    padding: 6px;
    max-width: 700px;
    margin: 20px auto;
    border-radius: 6px;
}

.dark-box h2 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 4px;
}

.dark-box p {
    font-size: 14px;
    line-height: 1;
}

@media (max-width: 576px) {
  .dark-box {
    padding: 10px;
    margin: 10px auto;
  }

  .dark-box h2 {
    font-size: 22px;
  }

  .dark-box p {
    font-size: 16px;
    line-height: 1.4;
  }
}

.wider-textbox {
  max-width: 700px; /* Or whatever looks best */
  width: 100%;
}



.black-link {
  font-family: 'Comfortaa', sans-serif;
  color: black;
  font-weight: bold;
  text-decoration: none;
}

.black-link:hover {
  text-decoration: underline;
}

.adventure-hr-top {
    margin-top: 0%;
    margin-bottom: .5rem;
}

.adventure-hr-bottom {
    margin-top: .5rem;
    margin-bottom: 0%;
    width: 100%;
}

.adventure-title {
    font-family: Comfortaa;
    font-size: 1.2rem;
    font-weight: bold;
    color: black;
}

.modal-img {
  max-height: 80vh; /* no taller than 80% of viewport */
  max-width: 100%;
  object-fit: contain;
}

.btn-custom {
  color: #fff;
  background-color: #007b5e;
  border: 1px solid #007b5e;
}

.btn-custom:hover,
.btn-custom:focus {
  background-color: #108d6f;
  border-color: #108d6f;
  outline: none;
  box-shadow: none;
}

.bg-custom-beachblue {
    background-color: #779eb2;
}

.limited-width {
  max-width: 60%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.container-custom {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem;
  background-color: #779eb2; /* ✅ beachblue added */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); /* ✅ stronger shadow */
  border-radius: 12px;
}



/* Wider text box, still inside the beachblue background */
.wider-textbox {
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
}

section#johnandcindy {
  overflow: visible;
}

/* FONTS, BUTTONS & OTHER ELEMENTS */
.btn-primary {
    background-color: #6648b1;
    border: 1px solid #6648b1;
}

.btn-primary:hover {
    background-color: #563d7c;
    border: 1px solid #563d7c;
}

.jumbotron {
    padding: 1rem;
    border-radius: 0;
}

.padding {
    padding-bottom: 2rem;
}

.fun {
    width: 100%;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.gif {
    max-width: 100%;
}

.social a {
    font-size: 2.5em;
    padding: 3rem;
    text-decoration: none;
}

hr.light {
    border-top: 1px solid #d5d5d5;
    width: 75%;
    margin-top: .8rem;
    margin-bottom: 1rem;
}

hr.light-100 {
    border-top: 1px solid #d5d5d5;
    width: 100%;
    margin-top: .8rem;
    margin-bottom: 1rem;
}

.fa-code {
    color: #e54d26;
}

.fa-bold {
    color: #563d7c;
}

.fa-css3 {
    color: #2163af;
}

.fa-code,
.fa-bold,
.fa-css3 {
    font-size: 4em;
    margin: 1rem;
}

.fa-cloud-download-alt,
.fa-eye {
    color: black;
}

/*---MEDIA QUERIES --*/

@media (max-width: 576px) {
  .nfl-title {
    margin-top: 4rem; /* or adjust as needed */
  }
}


@media screen and (orientation: portrait) {
    img.img-header {
        max-width: 90%;
    }
}

@media screen and (orientation: landscape) {
    img.img-header {
        max-height: 90%;
    }
}

@media (max-width: 992px) {
    .social a {
        font-size: 4em;
        padding: 2rem;
    }
    div.blog-quote {
        margin-top: 1rem;
    }
}

@media (max-width: 768px) {
    .carousel-caption {
        top: 45%;
    }
    .carousel-caption h3 {
        font-size: 100%;
    }
    .carousel-caption h5 {
        font-size: 140%;
        font-weight: 400;
        padding-bottom: .2rem;
    }
    .carousel-caption .btn {
        font-size: 95%;
        padding: 8px 14px;
    }
    .display-4 {
        font-size: 200%;
    }
    .social a {
        font-size: 2.5em;
        padding: 1.2rem;
    }
}

@media (max-width: 576px) {
    .carousel-caption {
        top: 40%;
    }
    .carousel-caption h1 {
        font-size: 250%;
    }
    .carousel-caption h3 {
        font-size: 110%;
    }
    .carousel-caption .btn {
        font-size: 90%;
        padding: 4px 8px;
    }
    .carousel-indicators {
        display: none;
    }
    .display-4 {
        font-size: 160%;
    }
    .social a {
        font-size: 2em;
        padding: .7rem;
    }
}

/*---FIREFOX BUG FIX --*/

.carousel-item {
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

/*--- CORRECT BACKGROUND IMAGE --*/

figure {
    position: relative;
    width: 100%;
    height: 60%;
    margin: 0 !important;
}

.fixed-wrap {
    clip: rect(0, auto, auto, 0);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#fixed {
    background-image: url('/ngApp/images/mac.png');
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}

/*--- BOOTSTRAP PADDING FIX --*/

[class*="col-"] {
    padding: 1rem;
}

/* --- NFL POOL PAGE --- */
.nfl-overlay {
  background-color: rgba(255, 255, 255, 0.4); /* Lightened overlay */
  min-height: 100vh;
  padding-top: 100px;
  color: black;
}

.nfl-background {
  background: url('/images/viewNFLPool/nfl-staduim.jpg') no-repeat center center fixed;
  background-size: cover;
}

.nfl-btn {
  background-color: #013369; /* NFL Blue */
  border: 2px solid #D02131; /* NFL Red */
  color: white;
  font-weight: bold;
  margin: 0.5rem;
}

.nfl-btn:hover {
  background-color: #D02131;
  border-color: #013369;
  color: white;
}

/*--Rules Button Opposite Coloring--*/
.nfl-btn-rules {
  background-color: #D02131; /* NFL Blue */
  border: 2px solid #013369; /* NFL Red */
  color: white;
  font-weight: bold;
  margin: 0.5rem;
}

.nfl-btn-rules:hover {
  background-color: #013369;
  border-color: #D02131;
  color:white;
}

.nfl-section {
  margin-bottom: 4rem;
  text-align: center;
}

/* Optional, ensure upper-right positioning of Rules button is reliable */
.position-absolute {
  z-index: 1055;
}

/* ----------------------------------------------
   Matchups – Largest
   ---------------------------------------------- */
.nfl-embed-scaled-matchups {
  position: relative;
  width: 100%;
  max-width: 750px;
  height: 420px; /* base iframe height */
  margin: 0 auto 2rem auto;
  background-color: #042d59;
  border-radius: 12px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.nfl-embed-scaled-matchups iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 1280px;
  height: 550px;
  border: none;
  transform-origin: top left;
}

@media (max-width: 1024px) {
  .nfl-embed-scaled-matchups {
    height: 467px; /* 550 * 0.85 */
  }
  .nfl-embed-scaled-matchups iframe {
    transform: scale(0.85);
  }
}

@media (max-width: 768px) {
  .nfl-embed-scaled-matchups {
    height: 385px; /* 550 * 0.7 */
  }
  .nfl-embed-scaled-matchups iframe {
    transform: scale(0.7);
  }
}

@media (max-width: 576px) {
  .nfl-embed-scaled-matchups {
    height: 225px; /* 550 * 0.55 */
  }
  .nfl-embed-scaled-matchups iframe {
    transform: scale(0.55);
  }
}


/* ----------------------------------------------
   Results – Medium
   ---------------------------------------------- */
.nfl-embed-scaled-results {
  position: relative;
  width: 100%;
  max-width: 475px;
  height: 450px;
  margin: 0 auto 2rem auto;
  background-color: #042d59;
  border-radius: 12px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.nfl-embed-scaled-results iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 1100px;
  height: 450px;
  border: none;
  transform-origin: top left;
}

/* Meduim screens */
@media (max-width: 1024px) {
  .nfl-embed-scaled-results {
    height: 383px; /* 450 * 0.85 */
  }
  .nfl-embed-scaled-results iframe {
    transform: scale(0.85);
  }
}

/* Tablets and small devices */
@media (max-width: 768px) {
  .nfl-embed-scaled-results {
    height: 315px; /* 450 * 0.7 */
  }
  .nfl-embed-scaled-results iframe {
    transform: scale(0.7);
  }
}

/* Small phones */
@media (max-width: 576px) {
  .nfl-embed-scaled-results {
    height: 248px; /* 450 * 0.55 */
    max-width: 250px;
  }
  .nfl-embed-scaled-results iframe {
    transform: scale(0.55);
  }
}


/* ----------------------------------------------
   Standings – Smallest
   ---------------------------------------------- */
/* Standings – Default (Large screens) */
.nfl-embed-scaled-standings {
  position: relative;
  width: 100%;
  max-width: 290px;             /* slightly smaller than before */
  height: 240px;                /* 400px iframe × 0.8 */
  margin: 0 auto 2rem auto;
  background-color: #042d59;
  border-radius: 12px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.nfl-embed-scaled-standings iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 960px;                /* native width of sheet */
  height: 400px;               /* native height of sheet */
  border: none;
  transform: scale(0.8);       /* slight shrink */
  transform-origin: top left;
  background-color: #042d59;   /* match container to remove white spill */
}

/* Medium screens */
@media (max-width: 1024px) {
  .nfl-embed-scaled-standings {
    height: 300px;             /* 400px × 0.75 */
    max-width: 320px;
  }
  .nfl-embed-scaled-standings iframe {
    transform: scale(0.75);
  }
}

/* Tablets and small devices */
@media (max-width: 768px) {
  .nfl-embed-scaled-standings {
    height: 260px;             /* 400px × 0.65 */
    max-width: 285px;
  }
  .nfl-embed-scaled-standings iframe {
    transform: scale(0.65);
  }
}

/* Small phones */
@media (max-width: 576px) {
  .nfl-embed-scaled-standings {
    height: 180px;             /* 400px × 0.55 */
    max-width: 200px;
  }
  .nfl-embed-scaled-standings iframe {
    transform: scale(0.55);
  }
}



.nfl-title h1 {
  /*color: #013369;*/
  color: #D02131;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  text-shadow: 
    -2px -2px 0 white,
     2px -2px 0 white,
    -2px  2px 0 white,
     2px  2px 0 white;
  /*margin-bottom: .5rem;*/
  font-size: 5rem;
}

.nfl-section h2,
.nfl-section h3,
.nfl-section h1 {
  color:#D02131;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  text-shadow: 
    -2px -2px 0 white,
     2px -2px 0 white,
    -2px  2px 0 white,
     2px  2px 0 white;
  margin-bottom: 1.5rem;
}

.nfl-table {
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
}

.nfl-table th {
  background-color: #013369;
}

/*--NFLPool Background--*/
.nfl-background {
  min-height: 100vh;
  background: url('/images/viewNFLPool/nfl-lights.jpg') no-repeat center center fixed;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0;
}

.nfl-background .nfl-overlay {
  flex-grow: 1;
}

.nfl-background .footer-full {
  margin: 0;
  padding: 0.5rem 0;
  background-color: #2c2f33;
  color: white;
  text-align: center;
}


/* NFL LOGIN PAGE */
#nfl-login {
  height: 100vh;
  margin: 0;
  background: url("/images/viewNFLPool/nfl-lights.jpg") no-repeat center center fixed;
  background-size: cover;
  font-family: sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}

.nfl-login-overlay {
  background-color: rgba(0, 0, 0, 0.65);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nfl-login-box {
  text-align: center;
  border: 1px solid #ccc;
  padding: 2rem;
  background-color: rgba(30, 30, 30, 0.95);
  border-radius: 8px;
  width: 300px;
  box-shadow: 0 0 10px rgba(0,0,0,0.8);
}

.nfl-login-input {
  padding: 0.5rem;
  width: 100%;
  margin-bottom: 1rem;
  border: none;
  border-radius: 4px;
}

.nfl-login-button {
  padding: 0.5rem 1rem;
  background-color: #005ea2;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.nfl-login-button:hover {
  background-color: #004080;
}

.nfl-login-error {
  color: red;
  display: none;
  margin-top: 0.5rem;
}


/* Shared NFL section base */
.nfl-section {
  margin-bottom: 1.5rem;
  text-align: center;
}

.nfl-section .nfl-header-title {
  background-color: #013369;
  color: white;
  max-width: 500px;
  margin: 0 auto 0.5rem auto;
  padding: 0.75rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  font-weight: bold;
  display: inline-flex;
}

.nfl-section .nfl-header-title h4 {
  margin: 0;
  font-size: 1.25rem;
  text-transform: uppercase;
}

/* Shared table styling */
.nfl-section table {
  margin-top: .5rem;
  margin-right: auto;
  margin-left: auto;
  font-size: 0.85rem;
  width: 50%;
  text-align: center;
  line-height: .9;
}

.nfl-section table th {
  background-color: #D02131;
  color: white;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}

.nfl-section table td {
  background-color: black;
  color: white;
  text-align: center;
  vertical-align: middle;
}

/* Table responsiveness and spacing */
.nfl-table-container {
  margin-top: 1rem;
}

/* Section-specific targets for overrides if desired */
.nfl-matchups .nfl-header-title h4 {
  color: #ffffff;
}

.nfl-results .nfl-header-title h4 {
  color: #ffffff;
}

.nfl-standings .nfl-header-title h4 {
  color: #ffffff;
}

.nfl-section {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.nfl-header-title {
  margin-bottom: 0.75rem; /* Reduce spacing below the title */
}

.nfl-section table {
  margin-top: 0.5rem;  /* Tighten space between title and table */
  margin-bottom: 0.5rem; /* Tighten space after table */
}


/* ARROWS NEXT TO SUBMIT PICKS BUTTON */
.arrow-icon {
  font-size: 2rem;
  color: #0000FF;
  margin: 0 1rem;
  animation: flashArrow 1s infinite alternate;
  text-shadow:
    0 0 10px #fffb00,
    0 0 20px #fffb00,
    0 0 4px #fffb00;
}
