html{ overflow-y: scroll; }
body{
    font-family: Verdana, sans-serif; font-size: 15px; color: #333333; margin: 0;
    background-image: url(https://www.wyevalleyrr.co.uk/graphics/default/bg_0.png);
    background-repeat: repeat; background-attachment: fixed;
}
td { font-family: Verdana, sans-serif; font-size: 15px; color: #333333; }
th { font-family: Trebuchet MS, sans-serif; font-size: 1.1em; color: #bf1919; text-align: left; }
p  { text-align: justify; font-family: Verdana, sans-serif; font-size: 15px; color: #333333; }
h1,h2,h3,h4,h5,h6 { font-family: Trebuchet MS, sans-serif; padding: 0; margin: 0; }
ul { list-style-image: url("https://www.wyevalleyrr.co.uk/images/bullet.png"); list-style-position: outside; display: table; }
li { margin-left: 20px; }
a:link    { font-family: Verdana, sans-serif; color: #de3636; font-size: inherit; text-decoration: none; }
a:visited { font-family: Verdana, sans-serif; color: #de3636; font-size: inherit; text-decoration: none; }
a:hover   { font-family: Verdana, sans-serif; color: #bf1919; font-size: inherit; text-decoration: none; }
a:active  { font-family: Verdana, sans-serif; color: #de3636; font-size: inherit; text-decoration: none; font-weight: bold; }

.masterlayer { position: relative; left: 0; top: 0; width: 100%; margin-bottom: 40px; display: flex; flex-direction: column; justify-content: center; }
.wrapperlayer_24 { position: relative; top: 0; width: 100%; margin: 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; }

/* NAV */
.menurowlayer { float: left; margin: 0 auto; padding-top: 0; height: 38px; font-family: Verdana, sans-serif; font-weight: 500; display: flex; flex-direction: row; justify-content: space-between; box-sizing: border-box; z-index: 160000; background-color: transparent; width: 100%; max-width: 1280px; }
.menugrouplayer { position: relative; left: 0; top: 0; margin-bottom: 16px; min-height: 38px; line-height: 38px; display: block; text-align: center; font-family: Verdana, sans-serif; font-weight: 500; color: #de3636; background-color: #ffffff; border: 1px solid #cccccc; z-index: 1600; }
.menuitemlayer { float: top; width: 100%; height: 38px; line-height: 38px; display: block; text-align: center; font-family: Verdana, sans-serif; font-weight: 500; color: #de3636; background-color: #ffffff; border: 1px solid #cccccc; cursor: pointer; z-index: 1600; }
.menuitemlayer:hover { background-color: #f4f4f4; color: #bf1919; }
.menusublayer { position: absolute; top: 38px; left: 0; width: 100%; z-index: 16000; display: none; flex-direction: column; background-color: #ffffff; }
.menugrouplayer:hover .menusublayer { display: flex; }

/* LOGO / HEADER */
.headerlayer_old { float: top; margin-top: 20px; margin-bottom: 20px; width: 100%; max-width: 1280px; margin-left: auto; margin-right: auto; font-family: Trebuchet MS, sans-serif; color: #bf1919; font-size: 1.4em; font-weight: bold; z-index: 10; background-color: #FFFFFF; height: 48px; line-height: 48px; padding-left: 10px; box-sizing: border-box; }

/* CONTENT LAYERS */
.contentlayer { position: relative; left: 0; top: 20px; width: 100%; max-width: 1280px; margin: 0 auto; font-family: Verdana, sans-serif; color: #333333; font-size: 15px; background-color: #FFFFFF; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding-bottom: 40px; }
.colparentlayer { position: relative; left: 0; top: 20px; width: 100%; background-color: #FFFFFF; z-index: 100; padding: 10px; padding: 20px; margin-bottom: 40px; display: flex; flex-direction: column; justify-content: flex-start; box-sizing: border-box; }
.colparentlayer_nb { position: relative; left: 0; top: 0; width: 100%; background-color: transparent; padding: 0 10px; display: flex; flex-direction: column; justify-content: space-around; box-sizing: border-box; }
.collayer { float: top; width: 100%; margin-top: 0; margin-bottom: 10px; padding: 0 10px 20px; display: flex; flex-direction: column; justify-content: flex-start; vertical-align: text-top; box-sizing: border-box; }
.collayer.img-tight { padding: 0; margin: 0; font-size: 0.85em; color: #333333; }

/* STYLE CLASSES */
.style4  { font-family: Trebuchet MS, sans-serif; font-size: 1.4em; font-weight: bold; color: #bf1919; padding-top: 0; }
.style4p { font-family: Trebuchet MS, sans-serif; font-size: 1.4em; font-weight: normal; color: #333333; padding: 5px 5px 5px 10px; }
.style5a { font-family: Trebuchet MS, sans-serif; font-size: 2em; font-weight: bold; color: #bf1919; }
.style6a { font-family: Trebuchet MS, sans-serif; font-size: 1.6em; color: #bf1919; font-weight: bold; }
.style3  { font-family: Trebuchet MS, sans-serif; font-size: 1.2em; color: #FFFFFF; font-weight: bold; padding: 5px 5px 5px 10px; }
.tightheaderlayer { margin: 0 auto; padding: 10px; width: 100%; min-height: 32px; line-height: 32px; vertical-align: text-bottom; display: flex; flex-direction: row; justify-content: start; align-items: center; font-family: Trebuchet MS, sans-serif; color: #bf1919; font-size: 1.4em; font-weight: bold; box-sizing: border-box; }
.subheaderlayer { margin: 0 auto; padding: 10px; width: 100%; display: flex; flex-direction: row; justify-content: start; font-family: Trebuchet MS, sans-serif; color: #bf1919; font-size: 1.2em; font-weight: 700; box-sizing: border-box; }

/* GRID */
.gridlayer { position: relative; left: 0; top: 0; width: 100%; padding: 0; background-color: #FFFFFF; display: flex; flex-wrap: wrap; justify-content: space-between; row-gap: 20px; }
.gridmemberlayer { float: left; width: 387px; min-height: 387px; margin: 20px 0 20px; display: flex; flex-direction: column; justify-content: space-between; box-sizing: border-box; }
.gridimglayer { float: left; width: 100%; margin: 0 auto; text-align: center; cursor: pointer; box-sizing: border-box; }
.gridtxtlayer { float: top; margin-top: 10px; width: 100%; margin: 0 auto; text-align: left; padding: 10px; box-sizing: border-box; }
.gridhdrlayer { float: left; margin: 0 auto; padding: 20px 0; display: flex; flex-direction: row; justify-content: center; text-align: center; color: #bf1919; font-family: Trebuchet MS, sans-serif; font-weight: 500; font-size: 1.2em; box-sizing: border-box; }
.captlayer { float: top; width: 100%; min-height: 24px; line-height: 24px; text-align: center; font-size: 15px; color: #333333; }
.roundlayer { background-color: #FFFFFF; border-radius: 10px; border: 1px solid #cccccc; padding: 10px; }
.tightheaderlayer_inv { float: top; left: 0; top: 10px; margin-bottom: 20px; padding: 20px; width: 100%; min-height: 32px; line-height: 32px; vertical-align: text-top; display: flex; flex-direction: row; justify-content: space-between; font-family: Trebuchet MS, sans-serif; background-color: #bf1919; color: #FFFFFF; font-size: 1.4em; font-weight: bold; box-sizing: border-box; }

/* TESTIMONIALS */
.testimonial-block { border: 1px solid #e5e5e5; border-radius: 6px; padding: 20px; margin-bottom: 20px; background: #fafafa; }
.testimonial-block p { text-align: left; }
.testimonial-name { font-family: Trebuchet MS, sans-serif; font-weight: bold; color: #bf1919; font-size: 1.1em; margin-bottom: 10px; }

/* BLOG */
.blog-entry { border-bottom: 1px solid #e5e5e5; padding: 20px 0; display: flex; flex-direction: row; gap: 20px; align-items: flex-start; }
.blog-img { width: 220px; flex-shrink: 0; }
.blog-img img { width: 100%; border: 1px solid #e5e5e5; }
.blog-text { flex: 1; }
.blog-date { font-size: 0.85em; color: #999; margin-bottom: 6px; }
.blog-title { font-family: Trebuchet MS, sans-serif; color: #bf1919; font-size: 1.2em; font-weight: bold; margin-bottom: 10px; }

/* CONTACT */
.contact-box { background: #f9f9f6; border: 1px solid #e5e5e5; border-radius: 6px; padding: 24px; margin-bottom: 20px; }
.contact-box h4 { font-family: Trebuchet MS, sans-serif; color: #bf1919; font-size: 1.2em; margin-bottom: 12px; }
.contact-row { display: flex; flex-direction: row; margin-bottom: 8px; gap: 10px; }
.contact-label { font-weight: bold; width: 80px; flex-shrink: 0; }

/* FOOTER */
.footeroutlayer { position: relative; left: 0; top: 40px; padding-top: 20px; padding-bottom: 20px; min-height: 240px; overflow: hidden; width: 100%; display: flex; flex-direction: column; justify-content: space-between; background-color: #ffffff; }
.rowlayer_head { position: relative; left: 0; top: 0; margin: 0 auto; margin-top: 0; width: 1280px; max-width: 100%; padding: 10px; box-sizing: border-box; line-height: 2em; }
.copyrightlayer { float: top; margin-top: 0; width: 100%; padding: 12px 20px; font-size: 0.8em; display: flex; flex-direction: row; justify-content: space-around; box-sizing: border-box; background: #f5f5f0; border-top: 1px solid #ddd; flex-wrap: wrap; gap: 8px; }

/* COOKIE BAR */
#cookieouterframe { position: fixed; left: 0; bottom: 0; width: 100%; height: 24px; display: flex; flex-direction: row; z-index: 11101; }
.cookiebttn { width: 180px; height: 24px; line-height: 24px; margin: 6px auto 0; background-color: #cccccc; color: #333333; text-align: center; font-weight: bold; font-size: 0.8em; border: 1px solid #ffffff; border-radius: 0.4em; cursor: pointer; display: block; }
#cookieinnerframe { width: 70%; height: 120px; background-color: #FFFFFF; color: #333333; text-align: center; padding: 10px 20px; opacity: 0.8; font-size: 0.8em; }
#cookieoklayer { float: left; width: 30%; height: 120px; background-color: #e4e4e4; opacity: 0.8; }
.placeholder-box { background: #f9f9f6; border: 2px dashed #bf1919; border-radius: 6px; padding: 30px; margin-top: 20px; text-align: center; color: #555; }

/* LIGHTBOX */
#lb-overlay {
    display: none; position: fixed; z-index: 99999;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.88);
    justify-content: center; align-items: center;
    flex-direction: column;
}
#lb-overlay.lb-active { display: flex; }
#lb-img-wrap {
    position: relative; max-width: 92vw; max-height: 82vh;
    display: flex; align-items: center; justify-content: center;
}
#lb-img {
    max-width: 90vw; max-height: 80vh;
    object-fit: contain; border: 3px solid #ffffff;
    box-shadow: 0 0 40px rgba(0,0,0,0.8);
    display: block;
}
#lb-caption {
    color: #ffffff; font-family: Verdana, sans-serif;
    font-size: 0.9em; text-align: center;
    margin-top: 12px; max-width: 90vw;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
}
#lb-close {
    position: fixed; top: 18px; right: 24px;
    color: #ffffff; font-size: 2em; font-weight: bold;
    cursor: pointer; z-index: 100000; line-height: 1;
    text-shadow: 0 0 6px rgba(0,0,0,0.8);
    background: none; border: none; padding: 4px 10px;
}
#lb-close:hover { color: #de3636; }
#lb-prev, #lb-next {
    position: fixed; top: 50%; transform: translateY(-50%);
    color: #ffffff; font-size: 2.5em; font-weight: bold;
    cursor: pointer; z-index: 100000; line-height: 1;
    text-shadow: 0 0 6px rgba(0,0,0,0.8);
    background: rgba(0,0,0,0.3); border: none;
    padding: 10px 16px; border-radius: 4px;
    user-select: none;
}
#lb-prev { left: 10px; }
#lb-next { right: 10px; }
#lb-prev:hover, #lb-next:hover { background: rgba(191,25,25,0.7); }
#lb-counter {
    color: #cccccc; font-family: Verdana, sans-serif;
    font-size: 0.8em; margin-top: 6px;
}
.lb-thumb { cursor: zoom-in; }
.lb-thumb:hover { opacity: 0.85; transition: opacity 0.2s; }

/* ── MOBILE NAV ── */
#mobile-nav-toggle {
    display: none;
    width: 100%;
    background: #bf1919;
    color: #fff;
    border: none;
    padding: 12px 16px;
    font-family: Verdana, sans-serif;
    font-size: 1em;
    font-weight: bold;
    cursor: pointer;
    text-align: left;
    box-sizing: border-box;
}
#mobile-nav-toggle::after {
    content: " ☰";
    float: right;
    font-size: 1.2em;
    line-height: 1;
}
#mobile-nav-toggle.open::after { content: " ✕"; }

#mobile-nav-menu {
    display: none;
    flex-direction: column;
    background: #ffffff;
    border-bottom: 2px solid #bf1919;
    width: 100%;
    box-sizing: border-box;
}
#mobile-nav-menu a {
    display: block;
    padding: 12px 20px;
    color: #de3636;
    font-family: Verdana, sans-serif;
    font-size: 0.95em;
    font-weight: bold;
    border-bottom: 1px solid #f0f0f0;
    text-decoration: none;
}
#mobile-nav-menu a:hover { background: #f9f0f0; color: #bf1919; }
#mobile-nav-menu a.sub { padding-left: 36px; font-weight: normal; color: #555; font-size: 0.9em; }
#mobile-nav-menu a.sub:hover { color: #bf1919; }
#mobile-nav-menu.open { display: flex; }

/* Desktop: hide mobile controls */
@media (min-width: 901px) {
    #mobile-nav-toggle { display: none !important; }
    #mobile-nav-menu   { display: none !important; }
    .wrapperlayer_24   { display: flex; }
}

/* Mobile: hide desktop nav, show mobile controls */
@media (max-width: 900px) {
    .wrapperlayer_24   { display: none !important; }
    #mobile-nav-toggle { display: block !important; }
    .gridmemberlayer   { width: 100%; min-height: auto; }
    .contentlayer      { top: 0; }
    .colparentlayer    { padding: 10px; }
    [name="tpc1layer"],
    [name="tpc2layer"] { width: 100% !important; margin-left: 0 !important; }
    div[style*="flex-direction:row; justify-content:space-between; flex-wrap:nowrap"] {
        flex-direction: column !important;
    }
    img[style*="float:left"],
    img[style*="float:right"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px 0 !important;
    }
}
/* ── LOGO / HEADER TOP PADDING ── */
.logopadlayer {
    padding-top: 18px;
    width: 100%;
}
@media (max-width: 900px) {
    .logopadlayer { padding-top: 10px; }
}

/* ── CONTACT FORM ── */
.contact-grid {
    display: flex; flex-direction: row; gap: 40px; flex-wrap: wrap;
}
.contact-details { flex: 0 0 280px; }
.contact-details h4 {
    font-family: Trebuchet MS, sans-serif; color: #bf1919;
    font-size: 1.1em; margin-bottom: 14px;
}
.contact-detail-row {
    display: flex; gap: 10px; margin-bottom: 10px;
    font-family: Verdana, sans-serif; font-size: 0.9em;
}
.contact-detail-label { font-weight: bold; width: 72px; flex-shrink: 0; color: #555; }
.contact-form-wrap { flex: 1; min-width: 280px; }
.contact-form-wrap h4 {
    font-family: Trebuchet MS, sans-serif; color: #bf1919;
    font-size: 1.1em; margin-bottom: 14px;
}
.cf-row { margin-bottom: 14px; }
.cf-row label {
    display: block; font-family: Verdana, sans-serif;
    font-size: 0.85em; font-weight: bold; color: #333; margin-bottom: 4px;
}
.cf-row label span { color: #bf1919; }
.cf-row input[type="text"],
.cf-row input[type="email"],
.cf-row input[type="tel"],
.cf-row select,
.cf-row textarea {
    width: 100%; padding: 8px 10px; border: 1px solid #ccc;
    border-radius: 3px; font-family: Verdana, sans-serif;
    font-size: 0.9em; color: #333; box-sizing: border-box; background: #fafafa;
}
.cf-row textarea { height: 140px; resize: vertical; }
.cf-row input:focus, .cf-row textarea:focus, .cf-row select:focus {
    border-color: #bf1919; outline: none; background: #fff;
}
.cf-submit {
    background: #bf1919; color: #ffffff; border: none;
    padding: 10px 30px; font-family: Trebuchet MS, sans-serif;
    font-size: 1em; font-weight: bold; cursor: pointer;
    border-radius: 3px; margin-top: 6px;
}
.cf-submit:hover { background: #9a1414; }
.cf-note { font-size: 0.8em; color: #888; margin-top: 10px; }
#cf-success {
    display: none; background: #eafbea; border: 1px solid #4caf50;
    border-radius: 4px; padding: 16px; margin-top: 10px;
    font-family: Verdana, sans-serif; color: #2e7d32;
}
#cf-error {
    display: none; background: #fff3f3; border: 1px solid #f44336;
    border-radius: 4px; padding: 10px; margin-bottom: 10px;
    font-family: Verdana, sans-serif; font-size: 0.85em; color: #c62828;
}
@media (max-width: 700px) {
    .contact-grid { flex-direction: column; }
    .contact-details { flex: none; width: 100%; }
}
