/*
Theme Name: Focus Pro
Template: rukus
Version: 1.0
text-domain: rukus
*/

/*

Gill Sans Nova Book
font-family: "gill-sans-nova", sans-serif;
font-weight: 400;
font-style: normal;

Gill Sans Nova Book Italic
font-family: "gill-sans-nova", sans-serif;
font-weight: 400;
font-style: italic;

Gill Sans Nova SemiBold
font-family: "gill-sans-nova", sans-serif;
font-weight: 600;
font-style: normal;

Gill Sans Nova SemiBold Italic
font-family: "gill-sans-nova", sans-serif;
font-weight: 600;
font-style: italic;

Gill Sans Nova Bold
font-family: "gill-sans-nova", sans-serif;
font-weight: 700;
font-style: normal;

Gill Sans Nova Bold Italic
font-family: "gill-sans-nova", sans-serif;
font-weight: 700;
font-style: italic;

Gill Sans Nova Condensed SemiBold
font-family: "gill-sans-nova-condensed", sans-serif;
font-weight: 600;
font-style: normal;

Gill Sans Nova Condensed SemiBold Italic
font-family: "gill-sans-nova-condensed", sans-serif;
font-weight: 600;
font-style: italic;

//

Minion Pro Medium
font-family: "minion-pro", serif;
font-weight: 500;
font-style: normal;

Minion Pro Medium Italic
font-family: "minion-pro", serif;
font-weight: 500;
font-style: italic;

Minion Pro Semibold
font-family: "minion-pro", serif;
font-weight: 600;
font-style: normal;

Minion Pro Semibold Italic
font-family: "minion-pro", serif;
font-weight: 600;
font-style: italic;

Minion Pro Bold
font-family: "minion-pro", serif;
font-weight: 700;
font-style: normal;

Minion Pro Bold Italic
font-family: "minion-pro", serif;
font-weight: 700;
font-style: italic;

*/

@font-face {
    font-family:'Paris';
    src:url('/wp-content/themes/focuspro/font.woff2') format('woff2');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

:root
{
    --colour-white:#ffffff;
    --colour-black:#000000;
    --colour-yellow:#ffbc00;
    --colour-darkgrey:#141414;

    --font:normal 400 1rem/1.35 "gill-sans-nova", sans-serif;
    --font-con:normal 400 1rem/1.35 "gill-sans-nova-condensed", sans-serif;
    --font-alt:normal 500 1rem/1.15 "minion-pro", serif;
    --font-title:normal 400 1rem/0.9 "Paris", serif;
}

html
{
    background:var(--colour-black);
	font-size:125%;
	
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	-webkit-text-size-adjust:100%;

	scroll-behavior:smooth;
}

@media screen and (max-width:800px) {
    /* html
    {
        font-size:100%;
    } */
}

.wf-loading h1, .wf-loading h2, .wf-loading h3, .wf-loading h4, .wf-loading h5, .wf-loading h6, .wf-loading p, .wf-loading button, .wf-loading .button
{
	visibility:hidden;
}

body, body *
{
    box-sizing:border-box;
	margin:0;
	padding:0;
	border:0;
	vertical-align:top;
	list-style:none;
	text-decoration:none;
}

body
{
    display:flex;
	flex-direction:column;
	min-height:100vh;
	min-height:100dvh;
	font:var(--font);
	font-synthesis:none;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

body, a
{
    color:var(--colour-white);
}

*, *:before, *:after
{
	box-sizing:inherit;
}

button, input, textarea, select
{
	appearance:none;
	-webkit-appearance:none;
	border:0;
	background:transparent;
	font-size:inherit;
	font-weight:inherit;
}

img, svg, video
{
	width:100%;
	height:auto;
}

h1, h2, h3, h4, h5, h6
{
	font-size:inherit;
	font-weight:inherit;
	text-wrap:balance;
    font-weight:600;
}

.reader
{
	position:absolute;
	overflow:hidden;
	clip:rect(1px, 1px, 1px, 1px);
	clip-path:inset(0px 0px 99.9% 99.9%);
	height:1px;
	width:1px;
}

.contain,
.container
{
    width:100%;
    max-width:940px;
    margin:0 auto;
    padding:0 1.5rem;
}

.contain-thin
{
    max-width:640px;
}

@media screen and (max-width:800px) {
    .contain, .container
    {
        padding:0 0.8rem;
    }
}

.title
{
    font-size:2rem;
    text-align:center;
    line-height:1;
    padding:2rem 0 1rem;
}

/* Header */

.global-header
{
    z-index:900;
    position:sticky;
    inset:0 0 auto 0;
}

    .global-header-bar
    {
        z-index:200;
        position:relative;
        display:flex;
        align-items:center;
        height:4rem;
        background:var(--colour-black);
    }

        .global-header-logo
        {
            margin:0 auto;
        }

            .global-header-logo-mini
            {
                display:block;
            }

            .global-header-logo-full
            {
                display:none;
            }

                .global-header-logo svg
                {
                    width:auto;
                    height:2rem;
                }

                    .global-header-logo svg *
                    {
                        fill:var(--colour-white);
                    }

        .global-header-menu-toggle
        {
            position:absolute;
            inset:0 1rem 0 auto;
        }

            .global-header-menu-toggle-icon
            {
                display:flex;
                flex-direction:column;
                justify-content:space-between;
                align-items:center;
                width:2.5rem;
                height:2rem;
            }

                .global-header-menu-toggle-icon-bar
                {
                    display:block;
                    width:2.5rem;
                    height:0.25rem;
                    border-radius:0;
                    background:var(--colour-white);

                    transition:all 333ms ease;
                }

                .global-header-menu-toggle-icon-bar:nth-child(4)
                {
                    visibility:hidden;
                    position:absolute;
                    inset:calc( 50% - 0.125rem) auto auto 0;
                }

                .active .global-header-menu-toggle-icon-bar:nth-child(4)
                {
                    visibility:visible;
                }

                .active .global-header-menu-toggle-icon-bar:nth-child(1),
                .active .global-header-menu-toggle-icon-bar:nth-child(3)
                {
                    transform:scale(0,1);
                }

                .active .global-header-menu-toggle-icon-bar:nth-child(2)
                {
                    rotate:45deg;
                    border-radius:0.15rem;
                }
                
                .active .global-header-menu-toggle-icon-bar:nth-child(4)
                {
                    rotate:-45deg;
                    border-radius:0.15rem;
                }

        .global-header-menu-toggle:hover .global-header-menu-toggle-icon-bar,
        .global-header-menu-toggle:focus .global-header-menu-toggle-icon-bar,
        .global-header-menu-toggle:active .global-header-menu-toggle-icon-bar
        {
            background:var(--colour-yellow);
        }

    .global-header-menu
    {
        z-index:100;
        position:absolute;
        inset:0 0 auto 0;
        height:100vh;
        height:100dvh;
        padding:4rem 2rem 3rem;
        overflow-y:auto;
        background:var(--colour-black);

        will-change:transform;
        transform:translate3d(0,-100%,0);
        transition:all 333ms ease;
    }

    .active .global-header-menu
    {
        transform:translate3d(0,0,0);
    }

    .global-header-menu>*
    {
        opacity:0;
        transition-delay:0;
        transition:all 666ms ease;
    }

    .active .global-header-menu>*
    {
        opacity:1;
        transition-delay:111ms;
    }

@media screen and (min-width:769px) {

    .global-header-logo
    {
        margin:0 0 0 1rem;
    }

        .global-header-logo-mini
        {
            display:none;
        }

        .global-header-logo-full
        {
            display:block;
        }

}

/* Footer */

.global-footer
{
    z-index:800;
}

    .global-footer-content
    {
        
    }

        .global-footer-content-links
        {
            display:flex;
            flex-direction:column;
            gap:1rem;
            padding:0 0 3rem;
        }

            .global-footer-content-links-item
            {
                display:flex;
                flex-direction:column;
                align-items:center;
                justify-content:center;
            }

                .global-footer-content-links-item-title
                {
                    font:var(--font-alt);
                    font-size:1rem;
                    text-align:center;
                    text-transform:uppercase;
                }

                .global-footer-content-links-item-link
                {
                    padding:0.15rem 0;
                    font:var(--font-con);
                    font-size:0.8rem;
                    text-align:center;
                    text-transform:uppercase;
                    text-decoration:underline;
                }

        .global-footer-content-extra
        {
            display:grid;
            grid-template-columns:1fr 1fr;
            padding:0 0 1rem;
        }

            .global-footer-content-extra-legal
            {
                display:flex;
                flex-direction:column;
            }

                .global-footer-content-extra-copyright
                {
                    padding:0 0 0.33rem;
                    font-size:0.5rem;
                    text-transform:uppercase;
                }

            .global-footer-content-extra-imprint
            {
                display:flex;
                flex-direction:column;
                justify-content:flex-end;
                align-items:flex-end;
                gap:0.33rem;
            }

                .global-footer-content-extra a
                {
                    font-size:0.5rem;
                    text-transform:uppercase;
                    text-decoration:underline;

                    transition:all 333ms ease;
                }

                .global-footer-content-extra a:hover,
                .global-footer-content-extra a:focus,
                .global-footer-content-extra a:active
                {
                    color:var(--colour-yellow) !important;
                }

@media screen and (min-width:769px) {

    .global-footer-content-links
    {
        flex-direction:row;
        justify-content:space-between;
        gap:2rem;
    }

}

/* Main */

main
{
    flex:1;
}

/* Blocks */

.block-content
{
    position:relative;
}

    .block-content-container
    {
        z-index:200;
        position:relative;
    }

    .block-content-image .block-content-container
    {
        padding-top:20vh;
        padding-bottom:20vh;
    }

        .block-content-title
        {
            padding-bottom:0.25rem;
        }

        .block-content-subtitle
        {
            font:var(--font-alt);
            text-align:center;
            font-weight:600;
            font-size:1.15rem;
        }

        .block-content-text
        {
            padding:1rem 0 0;
            font:var(--font-alt);
            text-align:center;
            font-weight:600;
        }

        .block-content-text-secondary
        {
            padding:1rem 0 0;
            text-align:center;
            font-weight:600;
        }

            .block-content-text p,
            .block-content-text-secondary p
            {
                padding:1rem;
            }

            .block-content-text p:first-child,
            .block-content-text-secondary p:first-child
            {
                padding:0;
            }

    .block-content-background
    {
        z-index:100;
        position:absolute;
        inset:0;
            width:100%;
            height:100%;
        overflow:hidden;
        object-fit:cover;
    }

        .block-content-background img
        {
            width:100%;
            height:100%;
            object-fit:cover;
        }

        .block-content-image-fade .block-content-background
        {
            opacity:0.5;
        }

/* Block Media */

.block-media
{
    position:relative;
}

    .block-media::after
    {
        content:"";
        position:absolute;
        inset:auto 0 0 0;
        height:6rem;
        background-image:linear-gradient(0, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 30%);
    }

/* Block Menu */

.block-menu
{
}

    .block-menu-title
    {
        padding:2rem 0 0;
        font-size:1.5rem;
        color:var(--colour-yellow);
        text-align:center;
        text-transform:uppercase;
    }

    .block-menu-tabs
    {
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:0.5rem;
        padding:2rem 0 0;
    }

        .block-menu-tabs-item-button.active
        {
            background:var(--colour-yellow);
            color:var(--colour-white);
        }

    .block-menu-content
    {
        display:none;
        padding:1rem 0 2rem;
    }

    .block-menu-content.active
    {
        display:block;
    }

        .blocks-menu-content-group
        {

        }

        .blocks-menu-content-group + .blocks-menu-content-group
        {
            padding-top:2rem;
        }

            .block-menu-content-title
            {
                padding:0 0 1rem;
                font-size:1.5rem;
                text-transform:uppercase;
            }

            .block-menu-content-dishes
            {
                display:flex;
                flex-direction:column;
                gap:1.5rem;
            }

                .block-menu-content-dishes-item
                {
                    display:flex;
                    flex-direction:column;
                    gap:0.25rem;
                }

                    .block-menu-content-dishes-item-header
                    {
                        display:flex;
                        align-items:end;
                        background-image:linear-gradient(90deg, var(--colour-teak) 0, var(--colour-teak) 2px, transparent 2px, transparent 100%);
                        background-size:5px 2px;
                        background-repeat:repeat-x;
                        background-position:0 calc( 100% - 0.10rem );
                    }

                    .block-menu-content-dishes-item-header-blank
                    {
                        background:none;
                    }

                        .block-menu-content-dishes-item-name
                        {
                            max-width:75%;
                            padding:0 0.1rem 0 0;
                            line-height:1;
                            font:var(--font-alt);
                            text-transform:uppercase;
                        }

                            .block-menu-content-dishes-item-name span
                            {
                                padding:0 0.25em 0 0;
                                -webkit-box-decoration-break:clone;
                                box-decoration-break:clone;
                                background: var(--colour-cream);
                            }

                        .block-menu-content-dishes-item-price
                        {
                            margin:0 0 0 auto;
                            padding:0 0 0 0.1rem;
                            font:var(--font-alt);
                        }

                            .block-menu-content-dishes-item-price span
                            {
                                padding:0 0 0 0.25em;
                                -webkit-box-decoration-break:clone;
                                box-decoration-break:clone;
                                background:var(--colour-cream);
                            }

                        .block-menu-content-dishes-item-price-note
                        {
                            margin:0 1.33rem 0 auto;
                            font-size:0.66rem;
                            text-align:right;
                        }

                    .block-menu-content-dishes-item-description
                    {
                        padding:0.25rem 0 0;
                        font-size:0.66rem;
                    }

                    .block-menu-content-dishes-item-allergies
                    {
                        font-size:0.5rem;
                        font-style:italic;
                    }
                
                .block-menu-content-dishes-item-split
                {
                    display:flex;
                    background-image:linear-gradient(0, var(--colour-teak) 0, var(--colour-teak) 1px, transparent 0, transparent 100%);
                    background-size:100% 60%;
                    background-repeat:repeat-x;
                }

                    .block-menu-content-dishes-item-split-label
                    {
                        max-width:60%;
                        margin:0 auto;
                        padding:0 0.25rem;
                        background:var(--colour-cream);
                        font-size:0.75rem;
                    }

@media screen and (min-width:769px) {

    .block-menu-content
    {
        grid-template-columns:repeat(2, 1fr);
        gap:2rem 4rem;
        padding:2rem 0 0rem;
    }

    .block-menu-content.active
    {
        /* display:grid; */
    }

    .block-menu-content::after
    {
        content:"";
        display:table;
        clear:both;
    }

        .block-menu-content .blocks-menu-content-group
        {
            float:left;
            width:50%;
            padding:0 2rem 4rem 0;
        }

        .block-menu-content .blocks-menu-content-group.even
        {
            float:right;
            padding:0 0 4rem 2rem;
        }

            .block-menu-content-dishes-item-description,
            .block-menu-content-dishes-item-allergies
            {
                max-width:80%;
            }

            .block-menu-content-dishes-item-price-note
            {
                margin:0 1.33rem 0 auto;
                padding:0 0 0 3rem;
            }

}

.block-buttons
{
    padding-bottom:2rem;
}

    .block-buttons-title
    {
        font-size:1.5rem;
        color:var(--colour-orange);
        text-align:center;
        text-transform:uppercase;
    }

    .block-buttons .component-buttons
    {
        display:grid;
        grid-template-columns:repeat(1, 1fr);
        padding-left:1rem;
        padding-right:1rem;
    }

        .block-buttons-button
        {
            width:100%;
            max-width:10rem;
            justify-self:center;
        }

@media screen and (min-width:400px) {

    .block-buttons .component-buttons
    {
        grid-template-columns:repeat(2, 1fr);
    } 

}

@media screen and (min-width:769px) {

    .block-buttons .component-buttons
    {
        grid-template-columns:repeat(3, 1fr);
    }

}

.block-biglink
{

}

    .block-biglink-link
    {
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:0.5rem;
        margin:2rem 0;
    }

        .block-biglink-link-label
        {
            font:var(--font-alt);
            font-size:1.5rem;
            color:var(--colour-orange);
            text-align:center;
            text-transform:uppercase;
        }

        .block-biglink-link-arrow
        {
            width:50%;
            max-width:10rem;
            color:var(--colour-teak);

            transition:all 333ms ease;
        }

/* Events */

.block-events
{

}

    .block-events-filter
    {
        display:flex;
        align-items:center;
        gap:1rem;
        padding:0 0 1rem;
    }

        .block-events-filter-search
        {
            flex:1;
        }

            .block-events-filter-search-form
            {
                position:relative;
                display:flex;
                width:100%;
            }

                .block-events-filter-search-form-input
                {
                    width:100%;
                    padding:0.25rem 0.5rem 0.25rem 2rem;
                    background:var(--colour-darkgrey);
                    color:var(--colour-white);
                    font-weight:600;
                    font-size:0.8rem;
                    line-height:1.25rem;
                    outline:none;
                    border:1px solid transparent;
                    transition:all 222ms ease-out;
                }

                .block-events-filter-search-form-input:focus
                {
                    border:1px solid var(--colour-yellow);
                }

                .block-events-filter-search-form-icon
                {
                    position:absolute;
                    width:1rem;
                    inset:0.4rem auto auto 0.5rem;
                    fill:var(--colour-white);
                    transition:all 222ms ease-out;
                }

                .block-events-filter-search-form-input:focus + .block-events-filter-search-form-icon
                {
                    fill:var(--colour-yellow);
                }

        .block-events-filter-options
        {
            margin:0 0 0 auto;
            display:flex;
            align-items:center;
            gap:0.25rem;
        }

            .block-events-filter-options-button
            {
                display:flex;
                padding:0.25rem;
            }

                .block-events-filter-options-button svg
                {
                    width:auto;
                    height:0.75rem;
                    vertical-align:top;
                    fill:var(--colour-white);
                }

                .block-events-filter-options-button.active svg,
                .block-events-filter-options-button:hover svg,
                .block-events-filter-options-button:focus svg,
                .block-events-filter-options-button:active svg
                {
                    fill:var(--colour-yellow);
                }

    .block-events-list
    {
        display:flex;
        flex-direction:column;
        gap:0.25rem;
    }

        .block-events-list-item
        {
            padding:0.5rem;
        }

        .block-events-list-item:nth-child(2n+2)
        {
            background:var(--colour-darkgrey);
        }

            .block-events-list-item-link
            {
                display:flex;
                align-items:center;
                gap:1rem;
            }

                .block-events-list-item-link-poster,
                .block-events-list-item-link-poster-placeholder
                {
                    flex:0 0 4rem;
                    width:4rem;
                    height:4rem;
                    overflow:hidden;
                    border-radius:50%;
                    object-fit:cover;
                    background-color:var(--colour-darkgrey);
                }

                .block-events-list-item-link-poster-placeholder
                {
                    display:flex;
                    align-items:center;
                    justify-content:center;
                }

                    .block-events-list-item-link-poster-placeholder svg
                    {
                        max-width:1.5rem;
                        fill:var(--colour-white);
                        opacity:0.2;
                    }

                .block-events-list-item:nth-child(2n+2) .block-events-list-item-link-poster-placeholder
                {
                    background-color:var(--colour-black);
                }

                .block-events-list-item-link-content
                {
                    display:flex;
                    flex-direction:column;
                    gap:0.15rem;
                }

                    .block-events-list-item-link-content-name
                    {
                        font-size:1.5rem;
                        font-weight:700;
                    }

                    .block-events-list-item-link-details
                    {
                        display:flex;
                        gap:0.1rem 1rem;
                    }

                        .block-events-list-item-link-content-date,
                        .block-events-list-item-link-content-location
                        {
                            font:var(--font-alt);
                            font-size:0.8rem;
                            font-weight:600;
                        }

                .block-events-list-item-link-status
                {
                    margin:0 0.5rem 0 auto;
                    text-align:center;
                }

                    .block-events-list-item-link-status-badge
                    {
                        display:inline-block;
                        padding:0 0.5rem;
                        border:1px solid var(--colour-white);
                        font:var(--font-con);
                        text-transform:uppercase;
                        white-space:nowrap;
                    }

    .block-events-style-grid .block-events-list
    {
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:2rem;
        padding-top:0.5rem;
    }

        .block-events-style-grid .block-events-list-item
        {
            padding:0;
            background:none;
        }

            .block-events-style-grid .block-events-list-item-link
            {
                position:relative;
                flex-direction:column;
                gap:0;
                align-items:center;
            }

            .block-events-style-grid .block-events-list-item-link-poster,
            .block-events-style-grid .block-events-list-item-link-poster-placeholder
            {
                flex:0 0 100%;
                width:100%;
                height:100%;
                aspect-ratio:16/9;
                border-radius:0;
                background-color:var(--colour-darkgrey) !important;
            }

            .block-events-style-grid .block-events-list-item-link::after
            {
                content:"";
                position:absolute;
                inset:0 0 auto 0;
                aspect-ratio:16/9;
                background-image:linear-gradient(0, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 30%);
            }

                .block-events-style-grid .block-events-list-item-link-poster-placeholder svg
                {
                    max-width:2.5rem;
                }

            .block-events-style-grid .block-events-list-item-link-details
            {
                justify-content:center;
                flex-direction:column;
            }
            
                .block-events-style-grid .block-events-list-item-link-content-name,
                .block-events-style-grid .block-events-list-item-link-content-date,
                .block-events-style-grid .block-events-list-item-link-content-location
                {
                    text-align:center;
                }

        .block-events-style-grid .block-events-list-item-link-status
        {
            margin:1rem 0 0;
        }

    @media screen and (max-width:800px) {

        .block-events-list-item-link-content-name
        {
            font-size:1.25rem;
        }

        .block-events-list-item-link-status-badge
        {
            font-size:0.75rem;
        }

    }

    @media screen and (max-width:600px) {
        
        .block-events-style-grid .block-events-list
        {
            grid-template-columns:repeat(1, 1fr);
        }

        .block-events-list-item-link
        {
            flex-wrap:wrap;
            gap:0.5rem 1rem;
        }

            .block-events-list-item-link-poster,
            .block-events-list-item-link-poster-placeholder
            {
                width:2.5rem;
                height:2.5rem;
                flex:0 0 2.5rem;
                align-self:start;
            }

            .block-events-list-item-link-content-name
            {
                font-size:1rem;
            }

            .block-events-list-item-link-details
            {
                flex-direction:column;
            }

            .block-events-list-item-link-status
            {
                width:100%;
                padding:0 0 0 3.5rem;
                text-align:left;
            }

    }

/* Tickets */

.block-tickets
{

}

    .block-tickets-list
    {
        display:flex;
        flex-direction:column;
        gap:1rem;
    }

        .block-tickets-list-item
        {
        }

            .block-tickets-list-item-link
            {
                display:grid;
                grid-template-columns:auto min-content;
                padding:0.5rem 1rem;
                background:var(--colour-yellow);
                color:var(--colour-black);

                background-image: radial-gradient(var(--colour-black) 6px, transparent 0), radial-gradient(var(--colour-black) 6px, transparent 0);
                background-size: 18px 10px, 18px 10px;
                background-repeat:repeat-y;
                background-position:-8px 0, right -8px center;
            }

                .block-tickets-list-item-link-name
                {
                    grid-column:1/2;
                    grid-row:1/2;
                    font-size:1.5rem;
                    line-height:1;
                    font-weight:700;
                }

                .block-tickets-list-item-link-price
                {
                    grid-column:1/2;
                    grid-row:2/3;
                    font-weight:600;
                    line-height:1;
                }

                .block-tickets-list-item-link-buy
                {
                    grid-column:2/3;
                    grid-row:1/span 2;
                    display:flex;
                    align-items:center;
                    gap:0.25rem;
                    font:var(--font-con);
                    text-transform:uppercase;
                    font-size:1.15rem;
                }

                    .block-tickets-list-item-link-buy svg
                    {
                        width:0.5rem;
                    }

@media screen and (max-width:800px) {

    .block-tickets-list-item-link-name
    {
        font-size:1.15rem;
    }

    .block-tickets-list-item-link-price
    {
        font-size:0.8rem;
    }

}

@media screen and (max-width:600px) {

    .block-tickets-list-item-link-name
    {
        font-size:1rem;
    }

    .block-tickets-list-item-link-price
    {
        font-size:0.75rem;
    }

    .block-tickets-list-item-link-buy
    {
        font-size:0.8rem;
    }

}

/* Components */

.global-header-menu-navigation
{
    max-width:42rem;
    margin:0 auto;
    padding:0 0 2rem;
    border-bottom:1px solid var(--colour-cream);
}

    .component-menu-list
    {
        display:flex;
        flex-direction:column;
        gap:0.25rem;
        padding:2rem 0;
    }

        .component-menu-list-item
        {

        }

            .component-menu-list-item-link
            {
                display:flex;
                align-items:center;

                font-weight:700;
                font-size:1.5rem;
                text-transform:uppercase;
            }

            .component-menu-list-item-link svg
            {
                width:auto;
                height:0.8rem;
                margin:0 0 0 auto;
                fill:var(--colour-white);
                transition:all 333ms ease;
            }

            .component-menu-list-item-link:hover,
            .component-menu-list-item-link:hover svg *,
            .component-menu-list-item-link:focus,
            .component-menu-list-item-link:focus svg *,
            .component-menu-list-item-link:active,
            .component-menu-list-item-link:active svg *
            {
                transition:all 333ms ease;
                fill:var(--colour-yellow);
                color:var(--colour-yellow);
            }

            .component-menu-list-item-link:hover svg
            {
                transform:translate3d(0.5rem,0,0);
            }

    .component-menu-buttons
    {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:1rem;
    }

        .component-menu-buttons-item
        {
        }

@media screen and (min-width:840px) {

    .component-menu
    {
        padding:0 10rem;
    }

    .component-menu-list-item-link
    {
        font-size:2.25rem;
    }

}

.global-header-information
{
    max-width:45rem;
    margin:0 auto;
}

.component-information
{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

    .component-information-column
    {
        display:flex;
        flex-direction:column;
        align-items:center;
        border-top:1px solid var(--colour-teak);
        padding:2rem 1rem;
    }

    .component-information-column:first-child
    {
        border:none;
    }

        .component-information-column-brand
        {
            display:flex;
            flex-direction:column;
            align-items:center;
            gap:0.5rem;
            max-width:250px;
            padding:0 0 2rem;
        }

            .component-information-column-brand svg
            {
                width:500px;
                max-width:80%;
                fill:var(--colour-white);
            }

            .component-information-column-brand p
            {
                line-height:1;
                font-size:0.8rem;
                text-transform:uppercase;
                text-align:center;
            }

            .component-information-column-contact-address,
            .component-information-column-contact-link
            {
                font:var(--font-alt);
                font-weight:600;
                font-size:0.8rem;
                text-align:center;
                line-height:1.25;

                transition:all 333ms ease;
            }

            .component-information-column-contact-link:hover,
            .component-information-column-contact-link:focus,
            .component-information-column-contact-link:active
            {
                color:var(--colour-orange) !important;
            }

        .component-information-column-title
        {
            font:var(--font-alt);
            font-size:1.66rem;
            color:var(--colour-orange);
            text-transform:uppercase;
        }

        .component-information-column-times
        {
            display:flex;
            flex-direction:column;
            gap:0.25rem;
            width:100%;
            padding:0.25rem 0 0;
        }

            .component-information-column-times-item
            {
                display:flex;
                align-items:center;

                background-image:linear-gradient(90deg, var(--colour-teak) 0, var(--colour-teak) 2px, transparent 2px, transparent 100%);
                background-size:5px 2px;
                background-repeat:repeat-x;
                background-position:0 calc( 100% - 0.25rem );
            }

                .component-information-column-times-item-title
                {
                    white-space:nowrap;
                    padding:0 0.25rem 0 0;
                    background:var(--colour-cream);
                    font-size:0.75rem;
                    text-transform:uppercase;
                    margin:0 auto 0 0;
                }

                .component-information-column-times-item-value
                {
                    white-space:nowrap;
                    padding:0 0 0 0.25rem;
                    background:var(--colour-cream);
                    font-size:0.75rem;
                    text-transform:uppercase;
                }

        .component-information-column-notes
        {
            padding:1.5rem 0 0;
            font-size:0.66rem;
            text-align:center;
            text-transform:uppercase;
        }

@media screen and (min-width:769px) {

    .component-information
    {
        flex-direction:row;
        padding:3rem 0;
    }

        .component-information-column
        {
            width:50%;
            padding:1rem 3rem;
            border-top:none;
            border-left:1px solid var(--colour-teak);
        }

}

.component-newsletter
{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    max-width:22rem;
    margin:0 auto;
    padding:2rem 2rem 1rem;
    background:var(--colour-cream);
}

    .component-newsletter-icon
    {
        max-width:100px;
        padding:0 0 1rem;
    }

        .component-newsletter-icon svg
        {
            fill:var(--colour-white);
        }

    .component-newsletter-title
    {
        z-index:200;
        position:relative;
        font:var(--font);
        font-weight:600;
        font-size:2rem;
        text-align:center;
        padding:0 0 1rem;
    }

    .component-newsletter-text
    {
        z-index:200;
        position:relative;
        font-size:0.8rem;
        text-align:center;
        font:var(--font-alt);
        font-weight:600;
    }

    .component-newsletter-link
    {
        z-index:200;
        position:relative;
        margin:1rem 0 0;
    }

    .component-newsletter-background
    {
        z-index:100;
        position:absolute;
        object-fit:cover;
        inset:0 auto auto 0;
        width:100%;
        height:100%;
        opacity:0.17;
    }

.component-buttons
{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1rem;
    padding:1.5rem 0 0;
}

@media screen and (min-width:769px) {

    .component-buttons
    {
        flex-direction:row;
    }

}

/* Accordion */

.block-accordion-list-item
{
    padding:0.25rem 1rem;
}

.block-accordion-list-item:nth-child(2n+2) {
    background:var(--colour-darkgrey);
}

.block-accordion-list-item:first-of-type
{
    margin-top:var(--gap);
}

    .block-accordion-list-item-title
    {
        display:flex;
        align-items:flex-start;
    }

        .block-accordion-list-item-title-label
        {
            flex:1;
            font:var(--font-con);
            font-weight:600;
            font-size:1.15rem;
        }

        .block-accordion-list-item-title-icon
        {
            width:0.66rem;
            fill:var(--colour-white);
            transition:all 333ms ease-in-out;
            margin-top:0.5rem;
        }

        .block-accordion-list-item[open] .block-accordion-list-item-title-icon
        {
            transform:rotate(180deg);
        }

    .block-accordion-list-item-content
    {
        font-size:0.8rem;
        padding-top:0.5rem;
        padding-bottom:0.5rem;
        font-weight:600;
    }

/* Elements */

.button
{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0.1rem 1rem;
    cursor:pointer;

    background:var(--colour-white);
    line-height:0.9rem;
    color:var(--colour-black);
    font-size:1.5rem !important;
    text-align:center;
    text-transform:uppercase;
    font:var(--font-con);
}

    .button .button-label
    {
        z-index:300;
        position:relative;
    }

.button-small
{
    height:2.5rem;
    padding:0 1.5rem;
    font-size:0.66rem;
}

.button-orange
{
    background:var(--colour-yellow);
    color:var(--colour-black);
}