:root {
    --navBar_def: rgb(85, 170, 212);
    --navBar_act: red;
    --navBar_hov: aquamarine;
    --content_box: lightgray;
}

/* =========================
   BURGER & NAVBAR (DESKTOP)
   ========================= */
.burger {
    display: none;
    visibility: hidden;
    font-size: 32px;
    color: white;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 10px 20px;
    cursor: pointer;
    z-index: 1000001;
    position: fixed;
    top: 10px;
    right: 10px;
    background-image: url(images/backgrounds/Bluebackground.jpg);
    background-attachment: fixed;
    background-position: top center;
    opacity: 0.9;
}

.navBar {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    z-index: 1000000;
}

.navItem {
    position: relative;
    text-align: center;
    padding: 10px 20px;
    flex: 1;
    min-width: 100px;
}

/* =========================
   MOBILE STYLES
   ========================= */
@media (max-width: 900px) {
    .title img,
    .header img {
        max-width: 100% !important;
    }

    .newsItem {
        flex: 1 1 100%;
    }

    .shopBody {
        flex-direction: column;
    }

    .burger {
        display: block;
        visibility: visible;
    }

    body{
        background-size: 100vw  !important;
        background-repeat: repeat-y;
    }

    .navBar {
        display: none !important; /* HIDDEN BY DEFAULT */
        flex-direction: column !important;
        position:fixed !important;

        right: 10px !important;
        top:80px !important;
        opacity: 0.9 !important;
        z-index: 99999;

    }

    .navBar.show {
        display: flex !important; /* SHOWN WHEN TOGGLED */
    }

    .navItem {
        flex: 1 1 100%;
        text-align: center;
        padding: 0px;
    }

    .navItem .drpOptions,
    .navDrp .drpOptions {
        position: static !important;
        top: auto !important;
        right: auto !important;
        display: flex !important;
        flex-direction: column;
        margin: 0;
    }

    .navItem .drpOptions a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 0px 10px !important;
        text-align: center;
        white-space: normal;
    }

    .navItem a img {
        max-height: 40px !important;
        width: auto;
    }

    .navBar,
    .navItem {
        overflow: visible !important;
    }

    .navDrp > a {
        display: none !important;
    }

    .navDrp {
        padding: 0 !important;
    }

    .navDrp .drpOptions a {
        display: block;
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
        text-align: center;
        height: max-content;
    }


    .title,
    .header {
        text-align: center !important;
        padding: 100px 0 !important;
    }



    .drpOptions a.active {
        background-color: transparent !important;

    }

    .standupBody {
        flex-direction: column;
    }

    .gigsBox {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 30px !important;
        margin: 0 auto !important;
        align-content: center !important;
        max-width: 100%;
    }

    .gig {
        width: 100% !important;
        margin: 0 auto;
    }

    .nom {display: none;}

    .award::after{
        content:attr(data-extra);
        white-space: pre;
    }

    .award {
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: anywhere !important;
   }

   .award .awardText,
.award { 
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
 
  max-width: 100%;
}

/* ensure ::after can wrap too */
.award::after {
  content: attr(data-extra);
  white-space: normal;
  display: inline;
}



}

/* =========================
   NAV & DROPDOWNS
   ========================= */
.navItem a img {
    max-width: 100%;
    height: auto;
}

.navDrp {
    padding: 9px 20px;
    z-index: 99999 !important;
}

.navItem:not(.active) {
    background-image: url(images/backgrounds/Bluebackground.jpg);
    background-attachment: fixed;
    background-position: top center;
    opacity: 0.9;
}

.navItem a img:hover {
    transform: scale(1.2);
}

.navItem a img {
    max-height: 50px;
    width: auto;
    position: relative;
    align-items: center;
}

.drpOptions a {
    justify-content: center;
    align-items: center;
    padding: 10px 14px;
    white-space: nowrap;
    box-sizing: border-box;
    text-align: center;
    z-index: 10000;
    background-attachment: fixed;
    background-position: top center;
}

.drpOptions a:not(.active) {
    background-image: url(images/backgrounds/Bluebackground.jpg);
}

.drpOptions {
    min-width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10001;
    display: none;
    flex-direction: column;
    align-items: center;
    background-attachment: fixed;
    background-position: top center;
}

.navDrp:hover .drpOptions {
    display: flex;
}

/* =========================
   BODY & GENERAL ELEMENTS
   ========================= */
body {
    margin: 0;
    font-family: 'Lexend', sans-serif;

    background-repeat: repeat-y;
    background-attachment: fixed !important;
    background-size:  cover;
  background-position-x: center;
  background-position-y: center;
}

body.angry {
    background-image: url(images/backgrounds/angry.jpeg);
}
body.water{
    background-image: url(images/backgrounds/water_colour.jpeg);
}

body.laugh {
    background-image: url(images/backgrounds/Laughing.jpeg);
}

body.party {
    background-image: url(images/backgrounds/party.jpeg);
}

body.bed {
    background-image: url(images/backgrounds/bed.jpeg);
}

body.framed {
    background-image: url(images/backgrounds/LH_frame.jpeg);
}

body.chair {
    background-image: url(images/backgrounds/chair.jpg);
    background-position-y: top ;
}

body.set {
    background-image: url(images/backgrounds/set.jpeg);
}

/* =========================
   HEADERS & TITLES
   ========================= */
.title {
    text-align: left;
    padding: 5% 80px;
    margin: 0;
}

.title img,
.header img {
    max-width: 30%;
    filter: drop-shadow(0 0 10px white);
}

.header {
    text-align: left;
    padding: 6% 80px;
    margin: 0;
}

/* =========================
   CONTENT
   ========================= */
.contentBox {
    background-image: url(images/backgrounds/Bluebackground.jpg);
    margin: 50px 30px;
    padding: 20px;
    opacity: 0.9;
    z-index: 0;
    position: relative;
}

.filter {
    opacity: 0.5;
    background-color: white;
}



/* =========================
   NEWS BOX
   ========================= */
.newsBox {
    display: flex;
    width: 90%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px 20px;
    margin: 5% auto;
    align-content: center;
    
}

.newsItem {
    flex: 2 2 30%;
    padding: 10px;
    min-width: 200px;
    min-height: 250px;
    position: relative;
    background-image: url(images/backgrounds/Bluebackground.jpg);
    display: flex;
    flex-direction: row;
    align-items: center;
    word-wrap: normal;
    opacity: 1;
}

.artThumb, .newsBody > img  {
    width: 100%;
    height: 150px;
    display: block;
    object-fit: cover;
    align-self: center;
}



.newsLink {
    display: inline;
}

/* =========================
   TABLES
   ========================= */
tr:nth-child(even),
thead {
    background-color: #ffffff74;
}

table {
    border-collapse: collapse;
    width: 100%;
    max-width: 100%;
}

th,
td {
    text-align: left;
    padding: 5px;
    min-height: 200px;
    max-width: 100%;
}




/* =========================
   STANDUP & GIGS
   ========================= */
.column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
}

.standupBody {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 100%;
    padding: 0;
    margin: 1% 5%;
}

.standupBody .contentBox {
    flex: 2;
    margin: 0;
    flex-direction: column;
}

.gigsBox {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 250px;
    box-sizing: border-box;
}

.gig {
    word-wrap: break-word;
    padding: 20px;
}

/* =========================
   SHOP & MISC
   ========================= */
.promoDown img {
    width: 100%;
    height: 500px;
    display: flex;
    object-fit: cover;
    align-self: center;
    margin-top: 40px;
}

.footer {
    display: block;
    font-size: small;
    background-color: rgb(48, 48, 48);
    color: white;
    padding: 30px;
}

.field {
    float: right;
    width: 60%;
}

form {
    padding: 20px 20%;
}

.shopBody {
    display: flex;
    padding: 20px;
    gap: 40px;
    min-width: max-content;
    flex-wrap: wrap;
}

.shopItem {
    flex: 2 2 30%;
    display: block;
    min-width: 10%;
    max-width: 100%;
    background-image: url(images/backgrounds/Bluebackground.jpg);
    word-wrap: normal;
    opacity: 1;
    padding: 5px;
}

.shopPic {
    width: 100%;
    height: 200px;
    display: block;
    object-fit: cover;
    align-self: center;
}

.tour {
    width: 100%;
    height: auto;
}


.buttonContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;

}

.rotateButton {
  flex: 1;
  max-width: 45%;
  margin: 10px;
}


#right {
    float: right;
}

.SubTitle {
    max-width: 30%;
    filter: drop-shadow(0 0 10px white);
    text-align: center;
}

.tourBox {
    align-items: center;
    text-align: center;
    opacity: 1;
}

.contentBox img, iframe  {
    width: 70%;             /* Forces the image to fill the available width */
    max-width: 100%;         /* Prevents the image from ever overflowing the container */
    max-height: 300px;           /* Sets the exact height you wanted */
    object-fit: cover;       /* Neatly crops the image so it doesn't look stretched or squished */
    object-position: center; /* Ensures the crop is centered */
    display: block;          /* Removes default inline bottom spacing gaps */
    box-sizing: border-box;  /* Includes padding/borders inside the element's width calculation */
    margin-bottom: 15px;  
    margin: auto;   /* Optional: adds nice spacing below the image instead of using <br> tags */
}


