/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    vertical-align:baseline;
}
ol, ul { list-style:none; }
img { max-width:100%; height:auto; display:block; }

/* GLOBAL */
body {
    font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
    background:url(/images/bg.jpg) center top repeat #3a3a3a;
    color:#7a7a7a;
}
a { text-decoration:none; }
a:hover { text-decoration:underline; }

/* MAIN WRAPPER */
.main {
    width:100%;
    max-width:1010px;
    margin:17px auto 0;
    background:#fff;
    padding:0 0 20px;
}

/* CONTAINERS */
.container,
.container_12 {
    width:100%;
    max-width:940px;
    margin:0 auto;
}

/* HEADER */
header {
    padding:20px 0 0;
    display:flex;
    flex-direction:column;
    gap:10px;
}

/* top row: logo left, youtube + services right */
.header-top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

/* logo block */
h1 {
    margin:0;
    display:flex;
    align-items:flex-end;
}
.logo {
    font-size:46px;
    font-weight:bold;
    color:#141414;
    line-height:1;
}
.logo span { color:#fe0045; }
h1 strong {
    font-size:18px;
    color:#494949;
    padding-left:5px;
}

/* right side: youtube + services */
.header-right {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}


/* services menu row */
.services-menu {
    display:flex;
    gap:14px;
    margin-bottom:6px; /* small gap before nav */
}
.services-menu li a {
    color:#949393;
    font-size:12px;
}
.services-menu li a:hover {
    color:#e70132;
}

/* NAV BAR */
.sf-menu {
    display:flex;
    width:100%;
    background:#161616;
    text-transform:uppercase;
    font-size:18px;
    line-height:57px;
    margin:0;
    padding:0;
}
.sf-menu li {
    flex:1;
    text-align:center;
}
.sf-menu a {
    display:block;
    color:#fff;
    background:#161616;
    border-right:1px solid #414141;
}
.sf-menu li:last-child a {
    border-right:none;
}

/* green theme */
.sf-menu a.current {
    background:#3E6B2F;
}
.sf-menu a:hover {
    background:#5A8F45;
}

/* SLIDE IMAGE – menu should touch image */
#slide {
    margin:0;
}
#slide img {
    display:block;
    width:100%;
    height:auto;
}

/* CONTENT AREA */
#content {
    padding:28px 0 47px 0;
}
h3 {
    font-size:30px;
    color:#2a2f31;
    margin-bottom:15px;
}

/* two-column layout */
#content .wrapper {
    display:flex;
    align-items:flex-start;
    gap:20px;
    flex-wrap:wrap;
}

/* left column (articles) */
article.grid_8 {
    flex:1 1 0;
}
article.grid_8 .grid_8 {
    margin:0;
}
article.grid_8 .wrapper {
    display:block;
}

/* right column (ad) */
article.grid_4 {
    flex:0 0 300px;
}

/* article links */
#content p {
    margin-bottom:18px;
    font-size:14px;
}
#content a {
    color:#000;
}
#content a:hover {
    color:#555;
}

/* centered random image */
center {
    width:100%;
    display:block;
    text-align:center;
}
center img {
    margin:20px auto 0;
}

/* FOOTER */
footer {
    background:#e5e5e5; /* light grey like your screenshot */
    padding:20px 0;
    color:#333;
    border-top:1px solid #ccc;
}

footer .container {
    max-width:940px;
    margin:0 auto;
    text-align:center;
}

footer .navigation {
    margin-top:8px;
    display:inline-flex;
    gap:15px;
}

footer .navigation a {
    color:#333;
    font-size:14px;
}

footer .navigation a:hover {
    text-decoration:underline;
}

/* COOKIE BANNER */
.cookie-banner {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:#222;
    color:#fff;
    padding:10px 15px;
    font-size:13px;
    text-align:center;
    z-index:9999;
}
.cookie-banner a {
    color:#5A8F45;
}


/* ===========================
   HAMBURGER (MOBILE)
   =========================== */

.hamburger {
    display:none;
    width:32px;
    cursor:pointer;
    flex-direction:column;
    gap:6px;
}

.hamburger span {
    display:block;
    height:4px;
    background:#000;
    border-radius:2px;
}



/* RESPONSIVE */
@media (max-width:768px) {

    /* prevent header overflow */
    .header-top {
        flex-direction:row;
        justify-content:space-between;
        align-items:flex-start;
        width:100%;
        margin-bottom:12px; /* gap under logo */
    }

    /* ensure header-right never exceeds screen width */
    .header-right {
        display:flex;
        flex-direction:column;
        align-items:flex-end;
        max-width:50%;      /* <-- THIS is the fix */
        overflow:hidden;    /* prevents hamburger from drifting out */
    }

    /* shrink logo */
    .logo {
        font-size:34px;
    }

    /* show hamburger */
    .hamburger {
        display:flex;
        margin-bottom:6px;
    }

    /* hide support/signup/feedback */
    .services-menu {
        display:none;
    }

    /* hide menu by default */
    #mainMenu {
        display:none;
        flex-direction:column;
    }

    /* show menu when toggled */
    #mainMenu.mobile-open {
        display:flex;
    }

    /* stacked menu items */
    .sf-menu {
        flex-direction:column;
    }
    .sf-menu a {
        border-right:none;
        border-bottom:1px solid #414141;
        text-align:left;
        padding-left:15px;
    }

    /* stack columns */
    #content .wrapper {
        flex-direction:column;
    }
    article.grid_4 {
        flex:1 1 100%;
        display:flex;
        justify-content:center; /* centers the advert */
    }
}


