/*
Theme name: The Invicta Group Website Rebuild
Description: Custom Theme
*/

/*
	Source SCSS styles are located in resources/scss/
	The compiled bundle is saved to `dist/index.${fingerprint}.css`
	(dist/manifest.json provides the exact path mapping).

	The DEVELOPMENT.md file contains instructions how to get the build
	process up & running.

	If you need to make a quick fix, feel free to add CSS
	below this comment -- it's loaded after the compiled bundle.
*/

p {  }

#wpadminbar ul li::marker {
	content: '' !important;
}

body {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
}

body.admin-bar #wpadminbar {
	position: fixed;
}

body.is-locked {
    overflow: hidden;
}

@media all and (max-width: 1399px) {
    body.has-open-header {
        overflow: hidden;
    }
}

/* ////////////
// CSS Variables
/////////////// */

:root {
    --color-primary: #C1DFF7;
    --color-secondary: #00162C;
    --color-tertiary: #2DDFFC;
    --color-quaternary: #0273E6;
    --color-quinary: #054FB9;
    --color-senary: #062E8E;
    --color-light: #FFFFFF;
    --color-dark: #00162C;
    --color-light-grey: #AFB3B6;
    --color-off-white: #F6F7F7;

    --color-invicta: #062E8E;
    --color-the-invicta-group: #062E8E;
    --color-racking: #5781C3;
    --color-shelving: #16BB9E;
    --color-mezzanine: #481285;
    --color-interiors: #90AB43;
    --color-durasteel: #065ACF;
    --color-ceilings: #D1A43A;

    --color-site: #062E8E;

    --color-body-text: #00162C;
    --color-body-text-tint: #51586e;
    --color-heading-text: #252525;
    --color-heading-text-tint: #4D4D4D;

    --gradient-primary: linear-gradient(90deg,var(--color-senary) 0%, var(--color-quaternary) 100%);

    --spacing-micro: calc((4px * 0.5) + ((4vw * 0.5) / 3.2));
    --spacing-xxs: calc((7.5px * 0.5) + ((7.5vw * 0.5) / 3.2));
    --spacing-xs: calc((12px * 0.55) + ((12vw * 0.45) / 3.2));
    --spacing-sm: calc((22px * 0.75) + ((22vw * 0.25) / 3.2));
    --spacing-smd: calc((30px * 0.75) + ((30vw * 0.25) / 3.2));
    --spacing-md: calc((40px * 0.8) + ((40vw * 0.2) / 3.2));
    --spacing-lg: calc((60px * 0.75) + ((60vw * 0.25) / 3.2));
    --spacing-xl: calc((100px * 0.8) + ((100vw * 0.2) / 3.2));
    --spacing-xxl: calc((250px * 0.8) + ((250vw * 0.2) / 3.2));
    --spacing-mega: calc((400px * 0.8) + ((400vw * 0.2) / 3.2));
    --spacing-indent: 5vw;

    --card-padding: var(--spacing-sm) var(--spacing-smd);

    --font-family-heading: Inter, sans-serif;
    --font-family-body: Inter, sans-serif;
    --font-weight-heading: 500;
    --font-weight-body: 400;

    --font-size-micro: calc(0.85rem + .02vw);
    --font-size-xxs: calc(0.85rem + .025vw);
    --font-size-xs: calc(0.9rem + .05vw);
    --font-size-sm: calc(1rem + .1vw);
    --font-size-md: calc(1.05rem + .1vw);
    --font-size-lg: calc(1.15rem + .15vw);
    --font-size-xl: calc(1.3rem + .2vw);
    --font-size-xxl: calc(1.4rem + .3vw);
    --font-size-mega: clamp(1.8rem, 2.5vw, 2.5rem);
    --font-size-giga: clamp(2.2rem, 3.5vw, 3.5rem);
    --font-size-tera: clamp(4.5rem, 6vw, 6rem);

    --image-height-sm: 250px;
    --image-height-md: 300px;
    --image-height-lg: 340px;
    --image-height-xl: 375px;

    --icon-size: calc(26px + 1vw);

    --width-standard: 37.5rem;
    --width-wide: 56.25rem;
    --width-xs-text: 100%;
    --width-sm-text: 100%;
    --width-md-text: calc(32rem + (750 - 16*32)*(1vw/19.2));
    --width-lg-text: calc(47rem + (950 - 16*47)*(1vw/19.2));

    --border-radius-sm: calc(8px + .05vw);
    --border-radius-md: calc(24px + .1vw);

    --border-standard: 1px solid var(--color-light-grey);

    --tab-sm-height: calc(44px + .5vw);
    --tab-lg-height: calc(132px + 1vw);

    --shadow-sm: 5px 5px 15px 0px rgba(0,0,0,0.2);
    --shadow-md: 10px 10px 30px 0px rgba(0,0,0,0.4);

    --admin-bar-height: 0px;

    /* /////// Icons ////// */

    --icon-link: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M46.4844 17.2227C46.4107 19.8438 45.3341 22.3367 43.4766 24.1875L36.6894 30.9746C35.7368 31.9324 34.6035 32.6915 33.3553 33.2082C32.1071 33.7248 30.7688 33.9886 29.418 33.9844H29.4082C28.0348 33.9834 26.6755 33.7071 25.4106 33.172C24.1458 32.6368 23.001 31.8536 22.0438 30.8687C21.0867 29.8837 20.3367 28.7169 19.838 27.4372C19.3394 26.1575 19.1023 24.7909 19.1406 23.418C19.1488 23.1126 19.2758 22.8225 19.4947 22.6095C19.7136 22.3964 20.007 22.2772 20.3125 22.2773H20.3457C20.6562 22.286 20.9505 22.4176 21.164 22.6432C21.3776 22.8688 21.4928 23.17 21.4844 23.4805C21.4541 24.5406 21.6367 25.596 22.0213 26.5843C22.4059 27.5727 22.9848 28.4739 23.7237 29.2346C24.4626 29.9954 25.3465 30.6003 26.3233 31.0135C27.3 31.4268 28.3496 31.64 29.4102 31.6406C30.4526 31.6431 31.4853 31.439 32.4484 31.04C33.4115 30.6411 34.2861 30.0553 35.0215 29.3164L41.8086 22.5313C43.2421 21.0327 44.0319 19.0325 44.0092 16.9589C43.9864 14.8852 43.1529 12.9029 41.6869 11.4361C40.2209 9.96935 38.239 9.13473 36.1653 9.1109C34.0917 9.08707 32.0911 9.87592 30.5918 11.3086L28.4434 13.457C28.2235 13.6769 27.9252 13.8005 27.6143 13.8005C27.3033 13.8005 27.005 13.6769 26.7852 13.457C26.5653 13.2371 26.4417 12.9389 26.4417 12.6279C26.4417 12.317 26.5653 12.0187 26.7852 11.7988L28.9336 9.65039C29.888 8.69564 31.0211 7.93827 32.2683 7.42154C33.5154 6.90481 34.8522 6.63885 36.2021 6.63885C37.5521 6.63885 38.8889 6.90481 40.136 7.42154C41.3832 7.93827 42.5163 8.69564 43.4707 9.65039C44.4608 10.6418 45.2387 11.8245 45.7568 13.1264C46.275 14.4282 46.5225 15.822 46.4844 17.2227ZM21.5586 36.5391L19.4102 38.6875C18.6742 39.4286 17.7982 40.0161 16.8333 40.4157C15.8683 40.8154 14.8335 41.0193 13.7891 41.0156C12.22 41.0145 10.6866 40.5483 9.38246 39.6758C8.07834 38.8034 7.06212 37.564 6.46221 36.1142C5.86231 34.6644 5.70565 33.0693 6.01204 31.5305C6.31843 29.9917 7.07412 28.5782 8.18359 27.4688L14.9648 20.6836C16.0877 19.5579 17.5228 18.7954 19.0841 18.495C20.6454 18.1946 22.261 18.3701 23.7214 18.9988C25.1818 19.6276 26.4196 20.6805 27.2745 22.0211C28.1293 23.3618 28.5617 24.9283 28.5156 26.5176C28.5072 26.8281 28.6224 27.1292 28.8359 27.3548C29.0495 27.5804 29.3438 27.712 29.6543 27.7207H29.6875C29.993 27.7208 30.2864 27.6017 30.5053 27.3886C30.7242 27.1755 30.8512 26.8854 30.8594 26.5801C30.9177 24.5222 30.3568 22.4942 29.2492 20.7588C28.1417 19.0234 26.5385 17.6605 24.6475 16.8467C22.7564 16.0329 20.6646 15.8057 18.6429 16.1945C16.6213 16.5833 14.7629 17.5702 13.3086 19.0273L6.51953 25.8125C5.08269 27.2497 4.10412 29.0806 3.70746 31.0738C3.31081 33.067 3.51388 35.133 4.291 37.0108C5.06813 38.8886 6.38444 40.494 8.07361 41.6239C9.76277 42.7539 11.749 43.3578 13.7812 43.3594C15.132 43.3633 16.47 43.0992 17.7179 42.5822C18.9658 42.0652 20.0986 41.3057 21.0508 40.3477L23.1992 38.1992C23.3094 38.0907 23.397 37.9614 23.457 37.8188C23.517 37.6762 23.5482 37.5231 23.5487 37.3684C23.5492 37.2137 23.5191 37.0605 23.4602 36.9175C23.4012 36.7745 23.3144 36.6446 23.205 36.5352C23.0955 36.4259 22.9655 36.3393 22.8225 36.2805C22.6794 36.2217 22.5261 36.1918 22.3714 36.1925C22.2167 36.1932 22.0637 36.2246 21.9212 36.2847C21.7786 36.3449 21.6494 36.4326 21.541 36.543L21.5586 36.5391Z' fill='currentColor'/%3E%3C/svg%3E%0A");
    --icon-external-link: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M35.1453 40.8004H10.6453C8.74531 40.8004 7.19531 39.2504 7.19531 37.3504V12.8504C7.19531 11.9304 7.55531 11.0604 8.20531 10.4104C8.85531 9.76039 9.72531 9.40039 10.6453 9.40039H20.3453C20.8953 9.40039 21.3453 9.85039 21.3453 10.4004C21.3453 10.9504 20.8953 11.4004 20.3453 11.4004H10.6453C10.2553 11.4004 9.89531 11.5504 9.61531 11.8304C9.34531 12.1004 9.19531 12.4704 9.19531 12.8504V37.3504C9.19531 38.1504 9.84531 38.8004 10.6453 38.8004H35.1453C35.5353 38.8004 35.8953 38.6504 36.1753 38.3804C36.4453 38.1104 36.5953 37.7404 36.5953 37.3504V27.2004C36.5953 26.6504 37.0453 26.2004 37.5953 26.2004C38.1453 26.2004 38.5953 26.6504 38.5953 27.2004V37.3504C38.5953 38.2704 38.2353 39.1404 37.5853 39.7904C36.9353 40.4404 36.0653 40.8004 35.1453 40.8004Z' fill='currentColor'/%3E%3Cpath d='M41.7949 5.2002H29.6849C29.1349 5.2002 28.6849 5.6502 28.6849 6.2002C28.6849 6.7502 29.1349 7.2002 29.6849 7.2002H39.3849L24.5249 22.0602C24.1349 22.4502 24.1349 23.0802 24.5249 23.4702C24.7249 23.6702 24.9749 23.7602 25.2349 23.7602C25.4949 23.7602 25.7449 23.6602 25.9449 23.4702L40.8049 8.6102V18.3102C40.8049 18.8602 41.2549 19.3102 41.8049 19.3102C42.3549 19.3102 42.8049 18.8602 42.8049 18.3102V6.2002C42.8049 5.6502 42.3549 5.2002 41.8049 5.2002H41.7949Z' fill='currentColor'/%3E%3C/svg%3E%0A");
    --icon-paper-plane: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M42.8565 5.91077C42.8694 5.54322 42.7112 5.18592 42.4214 4.94838C42.0835 4.67139 41.6211 4.60175 41.2166 4.76696L3.12133 20.3265C2.70495 20.4965 2.41996 20.8868 2.38467 21.3352C2.34937 21.7835 2.5698 22.2135 2.95444 22.4467L14.3567 29.3571C14.3102 29.4856 14.2858 29.6224 14.2858 29.7619V41.6667C14.2858 42.1482 14.5758 42.5823 15.0207 42.7665C15.4655 42.9508 15.9776 42.8489 16.318 42.5085L23.4609 35.3656C23.5638 35.2627 23.644 35.1455 23.7013 35.0205L34.383 41.4943C34.7162 41.6962 35.127 41.7223 35.4831 41.5643C35.8391 41.4062 36.0953 41.0839 36.169 40.7014L42.7834 6.36567C42.8373 6.2197 42.8618 6.06495 42.8565 5.91077ZM21.6699 33.7894L16.6667 30.7571V38.7926L21.6699 33.7894ZM18.1949 28.8992L39.8018 9.25667L34.1545 38.5717L18.1949 28.8992ZM16.0712 27.6121L36.0511 9.44864L6.21119 21.6364L16.0712 27.6121Z' fill='currentColor'/%3E%3C/svg%3E%0A");
    --icon-map: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M44.4707 10.0137C44.3303 9.90407 44.1667 9.82792 43.9924 9.79103C43.8181 9.75414 43.6377 9.75748 43.4648 9.80079L31.3867 12.8203L19.2773 6.76563C19.0269 6.64074 18.7401 6.60956 18.4688 6.67774L5.96875 9.80274C5.71501 9.86547 5.48952 10.0112 5.32814 10.2168C5.16677 10.4225 5.07876 10.6761 5.07813 10.9375V39.0625C5.07811 39.2407 5.11873 39.4165 5.19689 39.5766C5.27505 39.7367 5.38869 39.8769 5.52917 39.9865C5.66965 40.0961 5.83327 40.1722 6.00759 40.2091C6.18191 40.246 6.36234 40.2426 6.53516 40.1992L18.6133 37.1797L30.7227 43.2344C30.9731 43.3593 31.2599 43.3904 31.5312 43.3223L44.0312 40.1973C44.285 40.1345 44.5105 39.9888 44.6719 39.7832C44.8332 39.5775 44.9212 39.3239 44.9219 39.0625V10.9375C44.9218 10.7594 44.8812 10.5836 44.803 10.4235C44.7248 10.2634 44.6112 10.1232 44.4707 10.0137ZM19.9219 9.70899L30.0781 14.7871V40.291L19.9219 35.2129V9.70899ZM7.42188 11.8574L17.5781 9.31836V35.0234L7.42188 37.5625V11.8574ZM42.5781 38.1484L32.4219 40.6875V14.9766L42.5781 12.4375V38.1484Z' fill='currentColor'/%3E%3C/svg%3E%0A");
    --icon-phone: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M43.2793 31.3086L34.0528 27.1738C33.6347 26.9947 33.1786 26.9227 32.7257 26.9643C32.2728 27.0059 31.8374 27.1598 31.459 27.4121C31.4207 27.4369 31.3841 27.4643 31.3496 27.4941L26.5274 31.5957C26.4773 31.623 26.4216 31.6382 26.3647 31.6403C26.3077 31.6423 26.2511 31.6311 26.1992 31.6074C23.0996 30.1113 19.8887 26.9199 18.3867 23.8633C18.3617 23.8122 18.3487 23.7561 18.3487 23.6992C18.3487 23.6424 18.3617 23.5862 18.3867 23.5352L22.502 18.6523C22.5315 18.6163 22.5589 18.5784 22.584 18.5391C22.8328 18.1592 22.9831 17.7233 23.0213 17.2708C23.0595 16.8184 22.9844 16.3635 22.8028 15.9473L18.6973 6.73633C18.4641 6.1926 18.0609 5.73915 17.5482 5.44404C17.0354 5.14893 16.4408 5.02807 15.8535 5.09961C13.3012 5.43515 10.9584 6.68856 9.26296 8.62559C7.56747 10.5626 6.6353 13.0508 6.64065 15.625C6.64065 30.918 19.0821 43.3594 34.375 43.3594C36.9492 43.3643 39.4371 42.432 41.374 40.7366C43.311 39.0412 44.5645 36.6986 44.9004 34.1465C44.9718 33.562 44.8526 32.97 44.5605 32.4587C44.2684 31.9474 43.8191 31.544 43.2793 31.3086ZM34.375 41.0156C20.375 41.0156 8.9844 29.625 8.9844 15.625C8.97787 13.621 9.7012 11.6831 11.0193 10.1735C12.3373 8.66383 14.1599 7.68572 16.1465 7.42188H16.1914C16.2701 7.42335 16.3466 7.44857 16.4107 7.49422C16.4748 7.53988 16.5237 7.60385 16.5508 7.67774L20.6719 16.8789C20.6954 16.9301 20.7076 16.9857 20.7076 17.042C20.7076 17.0983 20.6954 17.1539 20.6719 17.2051L16.5489 22.0996C16.5182 22.1347 16.4902 22.1719 16.4649 22.2109C16.2069 22.6048 16.0549 23.0586 16.0238 23.5284C15.9927 23.9982 16.0834 24.4681 16.2871 24.8926C18.0196 28.4395 21.5938 31.9863 25.1797 33.7188C25.6067 33.9214 26.0788 34.0099 26.5502 33.9757C27.0215 33.9414 27.476 33.7856 27.8692 33.5234C27.9063 33.4981 27.9434 33.4707 27.9785 33.4414L32.7988 29.3398C32.8465 29.3143 32.899 29.2993 32.953 29.2959C33.0069 29.2925 33.0609 29.3009 33.1113 29.3203L42.3399 33.4551C42.4152 33.4872 42.4786 33.5422 42.521 33.6123C42.5634 33.6824 42.5827 33.764 42.5762 33.8457C42.3137 35.8332 41.3365 37.6572 39.8272 38.9767C38.3179 40.2962 36.3798 41.021 34.375 41.0156Z' fill='currentColor'/%3E%3C/svg%3E%0A");

     /* --- Carets/Chevrons --- */
     --icon-caret-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='m212.24 100.24l-80 80a6 6 0 0 1-8.48 0l-80-80a6 6 0 0 1 8.48-8.48L128 167.51l75.76-75.75a6 6 0 0 1 8.48 8.48'/%3E%3C/svg%3E");
     --icon-caret-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M212.24 164.24a6 6 0 0 1-8.48 0L128 88.49l-75.76 75.75a6 6 0 0 1-8.48-8.48l80-80a6 6 0 0 1 8.48 0l80 80a6 6 0 0 1 0 8.48'/%3E%3C/svg%3E");
     --icon-caret-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M164.24 203.76a6 6 0 1 1-8.48 8.48l-80-80a6 6 0 0 1 0-8.48l80-80a6 6 0 0 1 8.48 8.48L88.49 128Z'/%3E%3C/svg%3E");
     --icon-caret-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='m180.24 132.24l-80 80a6 6 0 0 1-8.48-8.48L167.51 128L91.76 52.24a6 6 0 0 1 8.48-8.48l80 80a6 6 0 0 1 0 8.48'/%3E%3C/svg%3E");

    /* --- Arrows --- */
    --icon-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M222 128a6 6 0 0 1-6 6H54.49l61.75 61.76a6 6 0 1 1-8.48 8.48l-72-72a6 6 0 0 1 0-8.48l72-72a6 6 0 0 1 8.48 8.48L54.49 122H216a6 6 0 0 1 6 6'/%3E%3C/svg%3E");
    --icon-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='m220.24 132.24l-72 72a6 6 0 0 1-8.48-8.48L201.51 134H40a6 6 0 0 1 0-12h161.51l-61.75-61.76a6 6 0 0 1 8.48-8.48l72 72a6 6 0 0 1 0 8.48'/%3E%3C/svg%3E");
    --icon-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M204.24 116.24a6 6 0 0 1-8.48 0L134 54.49V216a6 6 0 0 1-12 0V54.49l-61.76 61.75a6 6 0 0 1-8.48-8.48l72-72a6 6 0 0 1 8.48 0l72 72a6 6 0 0 1 0 8.48'/%3E%3C/svg%3E");
    --icon-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='m204.24 148.24l-72 72a6 6 0 0 1-8.48 0l-72-72a6 6 0 0 1 8.48-8.48L122 201.51V40a6 6 0 0 1 12 0v161.51l61.76-61.75a6 6 0 0 1 8.48 8.48'/%3E%3C/svg%3E");
}

body.invicta {
    --color-site: var(--color-invicta);
}
body.the-invicta-group {
    --color-site: var(--color-the-invicta-group);
}
body.racking {
    --color-site: var(--color-racking);
}
body.shelving {
    --color-site: var(--color-shelving);
}
body.mezzanine {
    --color-site: var(--color-mezzanine);
}
body.interiors {
    --color-site: var(--color-interiors);
}
body.durasteel {
    --color-site: var(--color-durasteel);
}
body.ceilings {
    --color-site: var(--color-ceilings);
}

/* ////// Font Sizes Variables ////// */

h1 {
    --font-size-tera: calc(4rem + 2.75vw);
    --font-size-giga: calc(3rem + 2vw);
    --font-size-mega: calc(2.75rem + 1.5vw);
    --font-size-xxl: calc(2.5rem + 1.25vw);
    --font-size-xl: calc(2.25rem + 1vw);
    --font-size-lg: calc(2.5rem + 2.2vw);
    --font-size-md: calc(2rem + 1.5vw);
    --font-size-sm: calc(1.5rem + 1vw);
    --font-size-xs: calc(1.3rem + .8vw);
    --font-size-xxs: calc(1.2rem + .6vw);
    --font-size-micro: calc(1.2rem + .5vw);
}
h2 {
    --font-size-tera: calc(3.5rem + 2.25vw);
    --font-size-giga: calc(2.75rem + 1.75vw);
    --font-size-mega: calc(2.4rem + 1.5vw);
    --font-size-xxl: calc(2.1rem + 1.25vw);
    --font-size-xl: calc(1.8rem + 1vw);
    --font-size-lg: calc(2.2rem + 1.8vw);
    --font-size-md: calc(1.75rem + 1.2vw);
    --font-size-sm: calc(1.4rem + 1vw);
    --font-size-xs: calc(1.25rem + .75vw);
    --font-size-xxs: calc(1.2rem + .5vw);
    --font-size-micro: calc(1.15rem + .4vw);
}
h3 {
    --font-size-tera: calc(2.75rem + 1.75vw);
    --font-size-giga: calc(2.25rem + 1.25vw);
    --font-size-mega: calc(2rem + 1vw);
    --font-size-xxl: clamp(2.25rem, 6vw, 5rem);
    --font-size-xl: clamp(2rem, 5.5vw, 4.5rem);
    --font-size-lg: calc(1.6rem + 1vw);
    --font-size-md: calc(1.35rem + .7vw);
    --font-size-sm: calc(1.3rem + .4vw);
    --font-size-xs: calc(1.25rem + .3vw);
    --font-size-xxs: calc(1.2rem + .25vw);
    --font-size-micro: calc(1.15rem + .15vw);
}

h4 {
    --font-size-md: calc(1.2rem + .3vw);
    --font-size-sm: calc(1.15rem + .2vw);
    --font-size-xs: calc(1.1rem + .1vw);
}
h5 {
    --font-size-md: calc(1.15rem + .2vw);
}
h6 {
    --font-size-md: calc(1.1rem + .15vw);
}

@media screen and (min-width: 400px) {
    h1 {
        --font-size-tera: clamp(6rem, 12vw, 10rem);
        --font-size-giga: clamp(5rem, 11vw, 9rem);
        --font-size-mega: clamp(4.5rem, 10vw, 8rem);
        --font-size-xxl: clamp(4.25rem, 8.5vw, 7rem);
        --font-size-xl: clamp(3.75rem, 7.5vw, 6rem);
    }
    h2 {
        --font-size-tera: clamp(5rem, 10vw, 8.5rem);
        --font-size-giga: clamp(4.5rem, 9vw, 7.5rem);
        --font-size-mega: clamp(4rem, 8.25vw, 6.5rem);
        --font-size-xxl: clamp(3.75rem, 7.75vw, 5.5rem);
        --font-size-xl: clamp(3rem, 6.5vw, 5rem);
    }
    h3 {
        --font-size-tera: clamp(4.5rem, 9vw, 7.25rem);
        --font-size-giga: clamp(4rem, 8vw, 6rem);
        --font-size-mega: clamp(3.5rem, 7vw, 5rem);
        --font-size-xxl: clamp(3rem, 6.75vw, 4.5rem);
        --font-size-xl: clamp(2.5rem, 6vw, 4.25rem);
    }
}

/* ////// Widths & Heights ////// */
@media screen and (min-width:600px) {
    body {
        --xs-text-width: calc(23rem + (400 - 16*23)*(1vw/19.2));
        --sm-text-width: calc(28rem + (550 - 16*28)*(1vw/19.2));

        --image-height-xs: 250px;
        --image-height-sm: 300px;
        --image-height-md: 350px;
        --image-height-lg: 400px;
        --image-height-xl: 450px;
    }
}

@media screen and (orientation:portrait) {
    body {
        --image-height-xs: calc( var(--view-height, 100vh) * .35 );
        --image-height-sm: calc( var(--view-height, 100vh) * .4 );
        --image-height-md: calc( var(--view-height, 100vh) * .5 );
        --image-height-lg: calc( var(--view-height, 100vh) * .55 );
        --image-height-xl: calc( var(--view-height, 100vh) * .6 );
    }
}
@media screen and (min-width:768px) and (orientation:portrait) {
	body {
        --image-height-xs: calc( var(--view-height, 100vh) * .2 );
        --image-height-sm: calc( var(--view-height, 100vh) * .3 );
        --image-height-md: calc( var(--view-height, 100vh) * .4 );
        --image-height-lg: calc( var(--view-height, 100vh) * .45 );
        --image-height-xl: calc( var(--view-height, 100vh) * .5 );
	}
}

@media screen and (min-width:900px) and (orientation: landscape) {
    body {
        --image-height-xs: calc( var(--view-height, 100vh) * .4 );
        --image-height-sm: calc( var(--view-height, 100vh) * .5 );
        --image-height-md: calc( var(--view-height, 100vh) * .6 );
        --image-height-lg: calc( var(--view-height, 100vh) * .7 );
        --image-height-xl: calc( var(--view-height, 100vh) * .9 );;
    }
}

@media screen and (min-width:1400px) {
    body {
        --width-standard: calc(32rem + (750 - 16*32)*(1vw/19.2));
        --width-wide: 70vw;
    }
}

body {
    margin: 0;
}
body.admin-bar {
    --admin-bar-height: 32px;
}
body * {
    box-sizing: border-box;
}

@media all and (max-width: 782px) {
    body.admin-bar {
        --admin-bar-height: 46px;
    }
}

/* ///////////////////
// Typography Styles
/////////////////////// */

.screen-reader-text {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* ////// Colors & Fonts ////// */
body {
    min-width: 320px;
    font-family: var(--font-family-body);
    color: var(--color-body-text);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-body);
    line-height: 1.4;
    letter-spacing: -0.01em;
}
h1,h2,h3,h4,h5,h6 {
    font-family: var(--font-family-heading);
    letter-spacing: -0.02em;
    color: var(--color-heading-text);
    margin: 0;
    line-height: 1;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-heading);
    padding-bottom: 2px;
}
h1,h2,h3,h4,h5,h6,p,span,address {
    margin: 0;
}
h3,h4,h5,h6 {
    line-height: 1.1;
}

/* --- Heading With Pre Header --- */
body .heading-with-pre-heading :is(h1,h2,h3,h4,h5,h6),
body .text-editor .heading-with-pre-heading :is(h1,h2,h3,h4,h5,h6) {
    padding: 0;
    margin: 0;
}
.heading-with-pre-heading span {
    opacity: .7;
}

/* --- Font Sizes --- */
.font-size-micro {
    font-size: var(--font-size-micro);
}
.font-size-xxs {
    font-size: var(--font-size-xxs);
}
.font-size-xs {
    font-size: var(--font-size-xs);
}
.font-size-sm {
    font-size: var(--font-size-sm);
}
.font-size-md {
    font-size: var(--font-size-md);
}
.font-size-lg {
    font-size: var(--font-size-lg);
}
.font-size-xl {
    font-size: var(--font-size-xl);
}
.font-size-xxl {
    font-size: var(--font-size-xxl);
}
.font-size-mega {
    font-size: var(--font-size-mega);
    line-height: 1.2;
}
.font-size-giga {
    font-size: var(--font-size-giga);
    line-height: 1.1;
}
.font-size-tera {
    font-size: var(--font-size-tera);
    line-height: 1.1;
}

/* --- Font Colours --- */
.text-col-dark,
.text-col-dark :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-dark);
}
.text-col-light,
.text-col-light :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-light);
}
.text-col-primary,
.text-col-primary :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-primary);
}
.text-col-secondary,
.text-col-secondary :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-secondary);
}
.text-col-tertiary,
.text-col-tertiary :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-tertiary);
}
.text-col-quaternary,
.text-col-quaternary :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-quaternary);
}
.text-col-quinary,
.text-col-quinary :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-quinary);
}
.text-col-senary,
.text-col-senary :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-senary);
}
.text-col-body-text-tint,
.text-col-body-text-tint :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-body-text-tint);
}
.text-col-heading-text-tint,
.text-col-heading-text-tint :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-heading-text-tint);
}
.text-col-primary-gradient,
.text-col-primary-gradient :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: 0.1em;
}

/* --- Font Weights --- */
.font-weight-medium {
    font-weight: 500;
}
.font-weight-bold {
    font-weight: 700;
}
.font-weight-black {
    font-weight: 900;
}

/* --- Text Align --- */
.text-align-center {
    text-align: center;
}

/* --- Address --- */
address {
    font-style: normal;
}

/* --- Tables --- */
table {
    text-align: left;
    border-collapse: collapse;
}
th, td {
    border: var(--border-standard);
    padding: var(--spacing-xxs) var(--spacing-xs);
}
th,
thead tr:first-child td {
    background-color: var(--color-quinary);
    color: var(--color-light);
}
tbody tr:nth-child(even) {
    background-color: var(--color-off-white);
}

/* /////// Links /////// */
a {
    text-decoration: none;
    color: currentColor;
}
:is(p,li,span) a {
    padding: 0px 2px;
    border-width: 1.5px;
    border-style: solid;
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
    border-bottom-color: currentColor;
}
:is(p,li,span) a:hover,
:is(p,li,span) a:focus {
    border-bottom-style: dotted;
}
@keyframes link-hover {
    0% {border-color: currentColor; }
    50% {border-color: transparent; }
    50.1% {border-bottom-style: dotted;}
    100% {border-color: currentColor; border-bottom-style: dotted; }
}

:where(h1, h2, h3, h4, h5, h6) a,
a.underline-hidden,
footer a {
	width: fit-content;
    line-height: 1.3;
    padding: 0 0 1px 0;
    border: 1.5px dotted transparent;
    transition: .3s border-color ease;
}
:where(h1, h2, h3, h4, h5, h6) a:hover,
:where(h1, h2, h3, h4, h5, h6) a:focus,
footer a:hover,
a.underline-hidden:hover {
    border-bottom-color: currentColor;
}

/* --- Data Href Link <divs> --- */
[data-href]:hover {
    cursor: pointer;
}

/* --- Image Links --- */
figure:has(a) {
    overflow: hidden;
}
a:has(img) {
    background-image: unset;
    border: unset;
}
figure a img {
    transition: transform .5s ease;
}

figure a img:hover {
    transform: scale(1.05);
}

figure a {
    display: flex;
}

/* ////// Select ////// */
::selection {
	background-color: #111;
	color: snow;
}

/* ////// Forms ////// */
form {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2ch;
}
.gfield,
.form-field {
    display: flex;
    flex-direction: column;
    gap: .7ch;
}

div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=color], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=date], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=datetime-local], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=datetime], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=email], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=month], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=number], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=password], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=search], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=tel], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=text], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=time], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=url], div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=week], div.gform_wrapper.gravity-theme.gform-theme--no-framework select, div.gform_wrapper.gravity-theme.gform-theme--no-framework textarea,
div.gform_wrapper.gravity-theme.gform-theme--no-framework textarea.large,
input, textarea {
    color: var(--color-dark);
    font-size: calc(1.1rem + .1vw);
    padding: 1ch;
    border-radius: var(--border-radius-sm);
    border: var(--border-standard);
    width: 100%;
}

/* ////// Lists ////// */
/* --- ul, ol --- */
p + ul,
p + ol {
  margin-top: 0;
  padding-top: 0;
}
ul,
ol {
  margin: 0;
  padding: 0 0 0 var(--font-size-md);
  margin-top: var(--spacing-xxs);
  margin-bottom: var(--spacing-sm);
  list-style-position: outside;
}
ul:last-child,
ol:last-child {
  margin-bottom: 0;
}
li ul:last-child,
li ol:last-child {
    margin-bottom: var(--spacing-sm);
}
ul:first-child,
ol:first-child {
  padding-top: 0;
}

ul.no-list-style {
    padding: 0;
    margin: 0;
    display: grid;
    gap: 1ch;
}

/* --- li --- */
ul li,
ol li {
  margin-bottom: 1ch;
  position: relative;
  break-inside: avoid;
  padding-left: 1ch;
}
ul li:last-child,
ol li:last-child {
  padding-bottom: 0;
}
ul li::marker {
  color: inherit;
  content: '\2014';
}

ul.no-list-style li {
    padding: 0;
    margin: 0;
}
ul.no-list-style ::marker {
    content: none;
}

/* ////// Text Editor Styles ////// */
.text-editor h1:not(:first-child) {
    padding-top: calc(0.8 * var(--spacing-smd, 32px));
    margin-bottom: calc(0.7 * var(--spacing-smd, 32px));
}
.text-editor h2:not(:first-child) {
  padding-top: calc(0.6 * var(--spacing-smd, 32px));
}
 .text-editor h3:not(:first-child) {
  padding-top: calc(0.3 * var(--spacing-smd, 32px));
}
.text-editor h4:not(:first-child) {
  padding-top: calc(0.35 * var(--spacing-smd, 32px));
}
.text-editor h5:not(:first-child) {
    padding-top: calc(0.25 * var(--spacing-smd, 32px));
}
.text-editor h6:not(:first-child) {
    padding-top: calc(0.2 * var(--spacing-smd, 32px));
}

.text-editor h1:not(:only-child) {
    margin-bottom: calc(0.75 * var(--spacing-smd, 32px));
}
.text-editor h2:not(:only-child) {
  margin-bottom: calc(0.7 * var(--spacing-smd, 32px));
}
.text-editor h3:not(:only-child) {
  margin-bottom: calc(0.45 * var(--spacing-smd, 32px));
}
.text-editor h4:not(:only-child) {
  margin-bottom: calc(0.35 * var(--spacing-smd, 32px));
}
.text-editor h5:not(:only-child) {
  margin-bottom: calc(0.25 * var(--spacing-smd, 32px));
}
.text-editor h6:not(:only-child) {
  margin-bottom: calc(0.2 * var(--spacing-smd, 32px));
}
.text-editor p:not(:only-child) {
  margin-bottom: calc(0.4 * var(--spacing-smd, 32px));
  margin-top: 0;
}
.text-editor p:last-child {
  margin-bottom: 0;
}
.text-editor p + p {
    margin-top: var(--spacing-xs, 14px);
    margin-bottom: var(--spacing-xs, 14px);
}
.text-editor > :is(figure, img, div, blockquote) {
    margin-bottom: var(--spacing-sm, 25px);
}

.text-editor > :is(.tab-sm, tab-lg),
.text-editor > :is(figure:last-child, img:last-child, div:last-child, blockquote:last-child) {
    margin-bottom: 0;
}

.text-editor iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.text-editor img {
    width: auto;
    height: auto;
}

/* ////// Icons In Text ////// */
.has-icon {
    display: inline-flex;
    gap: .75ch;
    align-items: center;
    width: max-content;
}
.has-icon.icon-before::before,
.has-icon.icon-after::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    height: 1.2em;
    min-width: 1.2em;
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}

.icon-external-link {
    --svg: var(--icon-external-link);
}
.icon-link {
    --svg: var(--icon-link);
}
.icon-arrow-right {
    --svg: var(--icon-arrow-right);
}
.icon-caret-right {
    --svg: var(--icon-caret-right);
}
.icon-paper-plane {
    --svg: var(--icon-paper-plane);
}
.icon-map {
    --svg: var(--icon-map);
}
.icon-phone {
    --svg: var(--icon-phone);
}

/* ////// Icon and Text <div> ////// */
.icon-and-text {
    display: flex;
    align-items: center;
    gap: 1ch;
}
.icon-and-text :is(img,svg,iconify-icon) {
    height: 1.2em;
    width: auto;
    font-size: 1.2em;
}
.icon-and-text p {
    word-break: break-all;
}


/* //////////////////
// Buttons
///////////////////*/

.button-holder {
    display: flex;
    gap: var(--spacing-xs);
    justify-content: center;
    flex-wrap: wrap;
}

div.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_footer input,
body .button {
	display: inline-block;
    background-image: none;
    background: var(--color-primary);
    text-decoration: none;
    padding: max(15px, calc(0.7 * var(--spacing-xxs))) max(20px, calc(0.7 * var(--spacing-smd)));
    border-radius: var(--border-radius-sm);
    display: inline-flex;
    gap: .5ch;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1;
    transition: border-color .3s ease, color .3s ease, background .3s ease;
    outline: 2px solid transparent;
    outline-offset: -2px;
    font-family: var(--font-family-body);
    font-size: inherit;
    margin: 0;
    border: none;
}
.button.button-width-full {
    width: 100%;
}
.button span {
    color: inherit;
}
body .button {
    color: var(--color-dark);
}

.button.button__alt {
    background: var(--color-quinary);
}
.button.button__alt {
    color: var(--color-light);
}

.button.button__bright {
    background: var(--color-tertiary);
}

.button.button__dark {
    background: var(--color-dark);
}
.button.button__dark {
    color: var(--color-light);
}

.button.button__site {
    background: var(--color-site);
    color: var(--color-light);
}

.button.button__gradient {
    background: var(--gradient-primary);
    color: var(--color-light);
}

.button.button__outline-light {
    background: transparent;
    outline-color: var(--color-light);
    color: var(--color-light);
}

.button.button__outline-alt {
    background: transparent;
    outline-color: var(--color-quinary);
    color: var(--color-quinary);
}
.button.button__outline-dark {
    background: transparent;
    outline-color: var(--color-dark);
    color: var(--color-dark);
}

.button svg {
    height: 1em;
}

/* ////// Hover ////// */
.button:hover,
.button:focus  {
    background: var(--color-dark);
    outline-color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
}
.button:hover,
.button:focus {
    color: var(--color-light);
}

.button.button__alt:hover,
.button.button__alt:focus {
    background: var(--color-dark);
    color: var(--color-light);
}

.button.button__dark:hover,
.button.button__dark:focus {
    background: var(--color-light);
    outline-color: var(--color-dark);
    color: var(--color-dark);
}

.button.button__outline-light:hover,
.button.button__outline-light:focus {
    background: var(--color-light);
    outline-color: rgba(0, 0, 0, 0.3);
    color: var(--color-dark);
}

.button.button__outline-dark:hover,
.button.button__outline-dark:focus {
    background: var(--color-dark);
    outline-color: rgba(255, 255, 255, 0.3);
    color: var(--color-light);
}

.button.button__gradient:hover,
.button.button__gradient:focus {
    background: linear-gradient(90deg,var(--color-dark) 0%, var(--color-dark) 100%);
    outline-color: rgba(255, 255, 255, 0.3);
    color: var(--color-light);
}

/* ////// Select ////// */
select {
    padding-top: max(15px, calc(0.7 * var(--spacing-xxs)));
    padding-left: 35px;
    padding-right: 50px;
    padding-bottom: max(15px, calc(0.7 * var(--spacing-xxs)));
    font-size: var(--font-size-md);
    border-radius: var(--border-radius-sm);
    display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDEwMCAxMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgaWQ9IkxheWVyXzEiPg0KPC9nPg0KPGcgaWQ9IkxheWVyXzIiPg0KCTxwYXRoIGQ9Ik01MC4yLDgwLjNMMC4xLDMxLjRsNC45LTVMNTAsNzAuNEw5NCwyNS4zbDUsNC45TDUwLjIsODAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 15px;
    border: none;
    outline: var(--border-standard);
    outline-offset: -1px;
}

option {
    padding: calc(.6 * 7px);
	padding: calc(.6 * var(--spacing-xxs));
}
option[value=""] {
    opacity: .5;
}

select::-ms-expand {
    display: none;
}
select:hover {
    border-color: #888;
}

[data-sf-field-input-type="multiselect"] select {
    background-image: none;
}

/* ////// Icon Box ////// */
.icon-box {
    height: var(--icon-size);
    width: var(--icon-size);
    padding: 10px;
    border-radius: var(--border-radius-sm);
    background: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}
.icon-box iconify-icon {
    height: calc( var(--icon-size) - 10px );
    width: calc( var(--icon-size) - 10px );
    font-size: calc( var(--icon-size) - 10px );
}

/* //////////////////
// Components
//////////////////// */

/* /////// Quick Quote ////// */
.quick-quote .inner {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs) var(--spacing-smd);
    align-items: flex-start;
}
.quick-quote__person {
    width: 60px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
}
.quick-quote__person.is-hidden {
    display: none;
}
.quick-quote__contact {
    display: flex;
    gap: var(--spacing-xs);
    align-items: center;
}
.quick-quote__contact > p {
    display: none;
}
.quick-quote__buttons {
    display: flex;
    gap: var(--spacing-xxs);
    align-items: center;
    flex-wrap: nowrap;
}

@media screen and (max-width:599px) {
    .quick-quote__buttons {
        flex-wrap: wrap;
    }
}

@media screen and (min-width:1024px) {
    .quick-quote .inner {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .quick-quote__person {
        margin-left: auto;
    }
    .quick-quote__person.is-hidden {
        display: block;
        opacity: 0;
    }
    .quick-quote__contact > p {
        display: block;
    }

}

/* ////// Quick Quote sticky ////// */

.quick-quote-sticky {
    position: fixed;
    z-index: 100;
    top: 0;
    right: var(--spacing-xxs);
    max-width: calc(100% - 2 * var(--spacing-xxs));
    padding: var(--spacing-xxs);
    background: var(--color-dark);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    transition: opacity, transform;
    transition-duration: 0.4s;
}

.quick-quote-sticky:not(.is-visible) {
    opacity: 0;
    pointer-events: none;
}

.top-navigation:not(.is-hidden) ~ .quick-quote-sticky {
    transform: translateY(var(--header-height));
}

.quick-quote-sticky__title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-micro);
    margin-bottom: var(--spacing-micro);
}

.quick-quote-sticky__person {
    width: 60px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
    margin-left: auto;
}
.quick-quote-sticky__person.is-hidden {
    opacity: 0;
}

.quick-quote-sticky__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-micro);
}

/* ////// Dropdown Flags ////// */
.dropdown-flags {
    position: relative;
}
.dropdown-flags a img {
    height: 20px;
    width: auto;
}
.dropdown-flags a.button {
    padding: 15px 40px 15px 20px;
    width: max-content;
}
.dropdown-flags a.button span,
.dropdown-flags a.button img {
    position: relative;
    z-index: 1;
}
.dropdown-flags__toggle {
    position: absolute;
    inset: 0;
}
.dropdown-flags__arrow {
    position: absolute;
    right: 20px;
    top: 17px;
    padding: 0 7px 7px 0;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    pointer-events: none;
    transition: transform .3s ease;
}
.dropdown-flags.is-open .dropdown-flags__arrow {
    top: 22px;
    transform: rotate(-135deg);
}
a.button__outline-light:hover ~ .dropdown-flags__arrow {
    color: var(--color-dark);
}
.dropdown-flags__list {
    position: absolute;
    z-index: 1;
    top: calc(100% + 10px);
    left: 0;
    white-space: nowrap;
    background: var(--color-light);
    border: 2px solid var(--color-dark);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    display: none;
}
.dropdown-flags.is-open > .dropdown-flags__list {
    display: block;
}
.dropdown-flags__list ul,
.dropdown-flags__list li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.dropdown-flags__list li:first-child a {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 3px;
    border-bottom: 1px solid var(--color-dark);
}
.dropdown-flags__list li:first-child a:before{
    content: 'Current Location:';
    width: 100%;
    font-weight: 300;
    color: var(--color-dark);
}
.dropdown-flags__list li::marker {
    content: '';
}
.dropdown-flags__list span {
    color: var(--color-dark);
}
.dropdown-flags__list a {
    display: block;
    padding: 8px 16px;
    border: 0;
}
.dropdown-flags__list ul a:hover {
    background: var(--color-off-white);
}

/* ////// Quick Quote Tab ////// */
.quick-quote-tab {
    padding: var(--spacing-sm);
    /* width: max-content; */
}
.quick-quote-tab .inner {
    display: grid;
    gap: var(--spacing-xxs);
}
.quick-quote-tab__info {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-micro);
    flex-wrap: wrap;
}
.quick-quote-tab__buttons {
    display: flex;
    align-items: center;
    gap: var(--spacing-xxs);
    flex-wrap: wrap;
}

/* ////// View case Studies ////// */

.case-studies-filter + .case-studies-view {
    padding-top: 0;
}

.case-studies-view .button-holder {
    gap: var(--spacing-micro);
}

/* --- Primary Col BG --- */
/* Inactive */
.case-studies-view.bg-col-primary .filter-button {
    outline-color: var(--color-dark);
    color: var(--color-dark);
}
.case-studies-view.bg-col-primary .filter-button:hover {
    color: var(--color-light);
}
/* Active */
.case-studies-view.bg-col-primary .filter-button__active {
    background-color: var(--color-dark);
    color: var(--color-light);
    cursor: auto;
    pointer-events: none;
}

/* --- Dark Col BG --- */
/* Inactive */
.case-studies-view.bg-col-dark .filter-button {
    outline-color: var(--color-light);
    color: var(--color-light);
    background-color: transparent;
}
.case-studies-view.bg-col-dark .filter-button:hover {
    background-color: var(--color-light);
    color: var(--color-dark);
}
/* Active */
.case-studies-view.bg-col-dark .filter-button__active {
    background-color: var(--color-light);
    color: var(--color-dark);
    cursor: auto;
    pointer-events: none;
}

/* ////// Filter case Studies ////// */
@media screen and (max-width:767px) {
    body div.case-studies-filter {
        flex-direction: column;
        align-items: stretch;
    }
    .case-study-filter__options {
        flex-direction: column;
    }
}

/* ////// Project Details ////// */
body .project-details {
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-md);
}
body .project-details__inner {
    gap: var(--spacing-xs);
}
span.project-details__divider {
    height: 1px;
    width: 100%;
    background: var(--color-light-grey);
}

@media screen and (min-width:1200px) {
    body div.project-details__inner {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-around;
    }
    span.project-details__divider {
        height: auto;
        width: 1px;
    }
}

/* ////// Entry Table ////// */
.entry-table__inner {
    padding-bottom: var(--spacing-sm);
    overflow-x: auto;
    padding-left: 20px;
    padding-right: 20px;
    mask-image: linear-gradient(to right, black 0%, black calc(100% - 20px), transparent 100%);
}
.entry-table__image {
    max-width: 800px;
    margin-inline: auto;
}
.entry-table__image img {
    width: 100%;
    height: auto;
}

/* ////// Breadcrumbs ////// */
.breadcrumbs {
    font-size: var(--font-size-micro);
}
.breadcrumbs ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
}
.breadcrumbs li:not(:last-child) {
    padding-right: var(--spacing-xs);
    border-right: var(--border-standard);
}
.breadcrumbs li a {
    border: none;
    opacity: .5;
    transition: opacity .3s ease;
}
.breadcrumbs li:last-child a,
.breadcrumbs li.breadcrumb__current a {
    opacity: 1;
    pointer-events: none;
}
.breadcrumbs li a:hover,
.breadcrumbs li a:focus {
    opacity: 1;
}


/* ////// Division Pill ////// */
.division-pill {
    padding: 7px 20px;
    border-radius: 20px;
    background: var(--color-site);
    color: var(--color-light);
    text-align: center;
    line-height: 1.1;
    font-size: var(--font-size-xxs);
}

.division-pill{
    background-color: var(--color-site);
}
.division-pill.division-shelving,
.division-pill.division-interiors,
.division-pill.division-ceilings {
    color: var(--color-dark);
}

/* ////// Horizontal Rule ////// */
hr {
    margin: 0;
    width: 100%;
    border: 1px solid currentColor;
    opacity: .2;
}

/* //////////////////
// Image Styles
//////////////////// */
figure {
    margin: 0;
}
img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body img.image-pos-center {
    object-position: center;
}

img.logo-md {
    max-width: 200px;
    max-height: 30px;
    object-fit: contain;
    object-position: left;
}
img.logo-sm {
    max-width: 170px;
    max-height: 25px;
    object-fit: contain;
    object-position: left;
}

/* ////////////////
// Video Styles
///////////////// */

/* ////// Video Overlay ////// */
.video-holder {
    position: relative;
    aspect-ratio: 16/9;
    display: grid;
    color: var(--color-light);
    cursor: pointer;
}
.video-holder video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.video-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background-color: var(--color-dark);
    display: grid;
    pointer-events: none;
    transition: opacity .3s ease;
}
.video-holder.has-played .video-overlay {
    opacity: 0;
}
.video-overlay img {
    opacity: .5;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.video-overlay svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* /////////////////
// Navigation Header
///////////////// */
header.top-navigation {
    padding: var(--spacing-xxs) var(--spacing-indent);
    background: var(--color-light);
    position: sticky;
    top: 0;
    z-index: 105;
    transition: transform 0.4s ease;
}
header.top-navigation.is-hidden {
    transform: translateY(-100%);
}
.top-navigation__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
}
.top-navigation-logo {
    min-width: 100px;
    max-width: min(10vw, 200px);
}
.top-navigation-logo img {
    object-fit: contain;
    height: 50px;
}
.top-navigation-logo a {
    display: flex;
}

button.top-navigation__icon-button {
    background: unset;
    border: unset;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
button.top-navigation__icon-button svg {
    height: 24px;
    width: 24px;
}

.top-navigation__links__actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}
ul.top-navigation__links {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    gap: var(--spacing-xxs);
    align-items: center;
}
ul.top-navigation__links li::marker {
    content: none;
}
ul.top-navigation__links li {
    margin: 0;
    padding: 0;
}
ul.top-navigation__links a {
    border-bottom: unset;
    display: inline-flex;
    align-items: center;
    height: 100%;
    padding: var(--spacing-micro);
    line-height: 1;
    gap: .5ch;
}
li.has-children > a::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    height: 1.2em;
    min-width: 1.2em;
    background-color: currentColor;
    --svg: var(--icon-caret-down);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
    transition: transform .3s ease;
}
li.has-children:hover > a::after {
    transform: rotate(-180deg);
}
ul.top-navigation__links a.button {
    height: auto;
    padding: 15px 20px;
}
button.top-navigation__actions__search {
    background: unset;
    border: unset;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
button.top-navigation__actions__search svg {
    height: 32px;
    width: 32px;
}

ul.top-navigation__links a:hover,
ul.top-navigation__links a:focus {
    animation: none;
}

.quick-search {
    position: absolute;
    z-index: 90;
    top: var(--header-height);
    left: 0;
    width: 100%;
    padding-inline: var(--spacing-indent);
    background: #F2F3F3;
    transform: translateY(-100%);
    pointer-events: none;
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
}

.has-open-search ~ .quick-search {
    transform: unset;
    opacity: 1;
    pointer-events: auto;
}

@media screen and (min-width:1400px) {
    .top-navigation__mobile-menu-icons {
        display: none;
    }
}

@media screen and (max-width:1399px) {
    ul.top-navigation__links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        border-top: 1px solid currentColor;
        overflow: auto;
        flex-direction: column;
        align-items: stretch;
        padding: var(--spacing-xs) var(--spacing-indent);
        opacity: 0;
        height: 0;
        pointer-events: none;
        transition: opacity 0.3s ease, height 0.3s ease;
    }

    body.has-open-header ul.top-navigation__links {
        height: calc(100dvh - 100% - var(--wp-admin--admin-bar--height, 0px));
        opacity: 1;
        pointer-events: auto;
    }

    ul.top-navigation__links a {
        width: 100%;
        height: auto;
    }
}

/* ////// Spec Up Button ////// */
.navigation-spec-up {
    padding: var(--spacing-xs) var(--spacing-sm);
}
.navigation-spec-up__logo {
    justify-content: space-between;
    align-items: center;
}
.navigation-spec-up__logo img {
    max-height: 50px;
    object-fit: contain;
    object-position: left;
    width: 70%;
    max-width: 200px;
}
.navigation-spec-up__logo svg {
    height: var(--icon-size);
    width: var(--icon-size);
}

/* //////////////////////
// Sections Global Styles
///////////////////////// */

.display-grid {
    display: grid;
    gap: var(--spacing-smd);
}
.display-flex {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}
.display-stacked {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: var(--spacing-sm);
}
.flex-grow {
    flex-grow: 1;
}
.expand-align-end {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.gap-zero {
    gap: 0;
}
.gap-micro {
    gap: var(--spacing-micro);
}
.gap-xxs {
    gap: var(--spacing-xxs);
}
.gap-xs {
    gap: var(--spacing-xs);
}
.gap-sm {
    gap: var(--spacing-sm);
}
.gap-smd {
    gap: var(--spacing-smd);
}
.gap-md {
    gap: var(--spacing-md);
}
.gap-lg {
    gap: var(--spacing-lg);
}

.padding-lr-md {
    padding-right: var(--spacing-indent);
    padding-left: var(--spacing-indent);
}
.padding-tb-md {
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
}
.padding-lr-sm {
    padding-right: var(--spacing-sm);
    padding-left: var(--spacing-sm);
}
.padding-tb-sm {
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
}
.width-standard {
    max-width: var(--width-standard);
}
.width-wide {
    max-width: var(--width-wide);
}
.width-xs-text {
    max-width: var(--width-xs-text);
}
.width-sm-text {
    max-width: var(--width-sm-text);
}
.width-md-text {
    max-width: var(--width-md-text);
}
.width-lg-text {
    max-width: var(--width-lg-text);
}


body .justify-content-start {
    justify-content: flex-start;
}
body .justify-content-center {
    justify-content: center;
}
body .justify-content-end {
    justify-content: flex-end;
}
body .align-items-start {
    align-items: flex-start;
}
body .align-items-center {
    align-items: center;
}
body .align-items-end {
    align-items: flex-end;
}

.border-radius-md {
    border-radius: var(--border-radius-md);
    overflow: hidden;
}
.border-radius-sm {
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

body .bg-col-primary {
    background-color: var(--color-primary);
}
body .bg-col-secondary {
    background-color: var(--color-secondary);
}
body .bg-col-tertiary {
    background-color: var(--color-tertiary);
}
body .bg-col-quaternary {
    background-color: var(--color-quaternary);
}
body .bg-col-quinary {
    background-color: var(--color-quinary);
}
body .bg-col-senary {
    background-color: var(--color-senary);
}
body .bg-col-dark {
    background-color: var(--color-dark);
}
body .bg-col-light {
    background-color: var(--color-light);
}
body .bg-col-off-white {
    background-color: var(--color-off-white);
}
body .bg-col-grey {
    background: grey;
}
body .bg-gradient-primary {
    background: var(--gradient-primary);
}

/* ////// Section Breadcrumbs ////// */
.section-breadcrumbs {
    padding-block: var(--spacing-xxs);
}

.has-tab {
    padding-bottom: var(--spacing-md);
}


[class*="has-stripes"] {
    position: relative;
    display: grid;
    overflow: hidden;
}
[class*="has-stripes"]::before {
    content: '';
    position: absolute;
    top: 0;
    height: 100%;
    mask-repeat: no-repeat;
    mask-size: cover;
}
[class*="has-stripes"] > div {
    z-index: 2;
}
.stripes-color-site::before {
    background-color: var(--color-site);
}
.has-stripes-bleed-right::before {
    right: 0;
    width: auto;
    background: var(--color-site);
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 516 1000'%3E%3Cdefs%3E%3Csymbol id='stripes' viewBox='0 0 880.03 1000'%3E%3Cpolygon points='450 1000 363.99 1000 0 0 86.01 0 450 1000' opacity='.55'/%3E%3Cpolygon points='536 1000 449.99 1000 86 0 172.01 0 536 1000' opacity='.45'/%3E%3Cpolygon points='622.01 1000 536 1000 172.01 0 258.01 0 622.01 1000' opacity='.35'/%3E%3Cpolygon points='708.02 1000 622.01 1000 258.02 0 344.02 0 708.02 1000' opacity='.25'/%3E%3Cpolygon points='794.02 1000 708.02 1000 344.02 0 430.03 0 794.02 1000' opacity='.15'/%3E%3Cpolygon points='880.03 1000 794.03 1000 430.03 0 516.04 0 880.03 1000' opacity='.05'/%3E%3C/symbol%3E%3C/defs%3E%3Cuse width='880.03' height='1000' transform='translate(880.02 1000) rotate(-180)' xlink:href='%23stripes'/%3E%3C/svg%3E");
    aspect-ratio: 880/1000;
    mask-position: right top;
}

.has-stripes-bleed-left::before {
    left: 0;
    width: auto;
    background: var(--color-site);
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 516.05 1000'%3E%3Cdefs%3E%3Csymbol id='stripes' viewBox='0 0 880.03 1000'%3E%3Cpolygon points='450 1000 363.99 1000 0 0 86.01 0 450 1000' opacity='.55'/%3E%3Cpolygon points='536 1000 449.99 1000 86 0 172.01 0 536 1000' opacity='.45'/%3E%3Cpolygon points='622.01 1000 536 1000 172.01 0 258.01 0 622.01 1000' opacity='.35'/%3E%3Cpolygon points='708.02 1000 622.01 1000 258.02 0 344.02 0 708.02 1000' opacity='.25'/%3E%3Cpolygon points='794.02 1000 708.02 1000 344.02 0 430.03 0 794.02 1000' opacity='.15'/%3E%3Cpolygon points='880.03 1000 794.03 1000 430.03 0 516.04 0 880.03 1000' opacity='.05'/%3E%3C/symbol%3E%3C/defs%3E%3Cuse width='880.03' height='1000' transform='translate(516.03 1000) rotate(-180)' xlink:href='%23stripes'/%3E%3C/svg%3E");
    aspect-ratio: 880/1000;
    mask-position: left bottom;
}

.has-stripes-full-left-right::before {
    left: 0;
    width: 100%;
    height: 100%;
    mask-repeat: no-repeat;
    background: var(--color-site);
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 880 1000'%3E%3Cdefs%3E%3Csymbol id='stripes' viewBox='0 0 880.03 1000'%3E%3Cpolygon points='450 1000 363.99 1000 0 0 86.01 0 450 1000' opacity='.55'/%3E%3Cpolygon points='536 1000 449.99 1000 86 0 172.01 0 536 1000' opacity='.45'/%3E%3Cpolygon points='622.01 1000 536 1000 172.01 0 258.01 0 622.01 1000' opacity='.35'/%3E%3Cpolygon points='708.02 1000 622.01 1000 258.02 0 344.02 0 708.02 1000' opacity='.25'/%3E%3Cpolygon points='794.02 1000 708.02 1000 344.02 0 430.03 0 794.02 1000' opacity='.15'/%3E%3Cpolygon points='880.03 1000 794.03 1000 430.03 0 516.04 0 880.03 1000' opacity='.05'/%3E%3C/symbol%3E%3C/defs%3E%3Cuse width='880.03' height='1000' transform='' xlink:href='%23stripes'/%3E%3C/svg%3E");
    mask-size: cover;
    mask-position: 50% 50%;
}

.has-stripes-full-right-left::before {
    left: 0;
    width: 100%;
    height: 100%;
    mask-repeat: no-repeat;
    background: var(--color-site);
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 880 1000'%3E%3Cdefs%3E%3Csymbol id='stripes' viewBox='0 0 880.03 1000'%3E%3Cpolygon points='450 1000 363.99 1000 0 0 86.01 0 450 1000' opacity='.55'/%3E%3Cpolygon points='536 1000 449.99 1000 86 0 172.01 0 536 1000' opacity='.45'/%3E%3Cpolygon points='622.01 1000 536 1000 172.01 0 258.01 0 622.01 1000' opacity='.35'/%3E%3Cpolygon points='708.02 1000 622.01 1000 258.02 0 344.02 0 708.02 1000' opacity='.25'/%3E%3Cpolygon points='794.02 1000 708.02 1000 344.02 0 430.03 0 794.02 1000' opacity='.15'/%3E%3Cpolygon points='880.03 1000 794.03 1000 430.03 0 516.04 0 880.03 1000' opacity='.05'/%3E%3C/symbol%3E%3C/defs%3E%3Cuse width='880.03' height='1000' transform='translate(880.02 1000) rotate(-180)' xlink:href='%23stripes'/%3E%3C/svg%3E");
    mask-size: cover;
    mask-position: 50% 50%;
}

.has-stripes-multi-full::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 100%;
    aspect-ratio: 1000/880;
    mask-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 880.5 1000'%3E%3Cpolygon points='450 1000 364 1000 .02 0 86.02 0 450 1000' fill='%23062e8e' opacity='.55'/%3E%3Cpolygon points='536 1000 449.99 1000 86.01 0 172.02 0 536 1000' fill='%23065acf' opacity='.45'/%3E%3Cpolygon points='622 1000 536 1000 172.02 0 258.02 0 622 1000' fill='%23481285' opacity='.35'/%3E%3Cpolygon points='708.01 1000 622 1000 258.02 0 344.03 0 708.01 1000' fill='%2316bb9e' opacity='.25'/%3E%3Cpolygon points='794.01 1000 708.01 1000 344.03 0 430.03 0 794.01 1000' fill='%2390ab43' opacity='.15'/%3E%3Cpolygon points='880.02 1000 794.01 1000 430.03 0 516.03 0 880.02 1000' fill='%23d1a43a' opacity='.05'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position-x: center;
}

.tab-lg {
    background: var(--color-site);
    aspect-ratio: 350/88;
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 349.75 88'%3E%3Cpath d='M327.97,0H0l26.14,72.17c3.44,9.5,12.46,15.83,22.57,15.83h277.02c16.66,0,28.25-16.55,22.55-32.21L327.97,0Z' fill-rule='evenodd'/%3E%3C/svg%3E");
    max-width: 300px;
    mask-size: 100%;
}
.tab-sm {
    background: var(--color-site);
    aspect-ratio: 334/44;
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 333.81 44'%3E%3Crect width='333.81' height='44' fill='none'/%3E%3Cpath d='M309.78,44H32.77c-10.11,0-19.13-6.33-22.57-15.83L0,0h328.05l4.29,11.79c5.69,15.66-5.9,32.21-22.56,32.21Z' fill-rule='evenodd'/%3E%3C/svg%3E");
    max-width: 300px;
    mask-size: 100%;
}

.note .inner {
    padding: var(--spacing-md);
    background-color: lemonchiffon;
}

/* ////// Slider Styles ////// */
.slider-navigation {
    display: flex;
    gap: var(--spacing-micro);
    flex-wrap: wrap;
}
.slider-indicators {
    display: flex;
    gap: var(--spacing-micro);
    flex-wrap: wrap;
}
.slider-indicators span {
    height: 20px;
    width: 20px;
    border: 2px solid currentColor;
    background-color: transparent;
    border-radius: 100px;
}
.slider-indicators span.swiper-pagination-bullet-active {
    background-color: currentColor;
}
.slider-arrow {
    transition: opacity .3s ease;
    height: var(--icon-size);
    width: var(--icon-size);
    display: flex;
    justify-content: center;
    align-items: center;
}
.slider-arrow:not(.swiper-button-disabled) {
    cursor: pointer;
}
.slider-arrow :is(svg, img) {
    height: inherit;
    width: inherit;
}

.slider-arrow.arrow-in-circle svg {
    height: 24px;
    width: 24px;
}
.slider-arrow.arrow-in-circle {
    border-radius: 100px;
    border: 1px solid currentColor;
    height: calc(1.2* var(--icon-size));
    width: calc(1.2* var(--icon-size));
}
.slider-arrow.arrow-in-circle:hover {
    background-color: var(--color-quinary);
    color: var(--color-light);
}


/* ///////////////////
// Heroes
//////////////////// */

.hero-intro-content > h1,
.hero-intro-content > h2 {
    font-size: calc(2rem + 1.5vw);
}

/* ////// Overlay ////// */
.hero__overlay .inner {
    display: grid;
    grid-template-columns: 1fr;
}
.hero__overlay .inner > div {
    grid-column: 1/2;
    grid-row: 1/2;
}

.hero__overlay .hero-intro-holder {
    padding: 0 var(--spacing-indent) var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    z-index: 2;
}

.hero__overlay .hero-intro-content {
    display: grid;
    gap: var(--spacing-sm);
}
.hero__overlay .button-holder {
    justify-content: flex-start;
}
.hero__overlay .intro-text {
    font-size: var(--font-size-lg);
}

.hero__overlay .featured-image {
    line-height: 0;
    position: relative;
    z-index: 1;
    opacity: .3;
}
.hero__overlay .featured-image img {
    height: var(--image-height-md);
    object-fit: cover;
    width: 100%;
    min-height: 100%;
}

.hero__overlay--third .featured-image img {
    height: 562.5px;
}

.hero__overlay--quarter .featured-image img {
    height: 250px;
}

@media screen and (min-width:900px) {
    .hero__overlay .inner {
        grid-template-columns: 4fr 5fr;
    }
    .hero__overlay .hero-intro {
        height: 100%;
        display: grid;
        align-items: center;
    }
    .hero__overlay .inner .featured-image {
        grid-column: 1/3;
        mask-image: linear-gradient(to right, transparent 20%, black 80%);
        opacity: 1;
    }

    /* --- Full Height ---- */
    .hero__overlay.hero-full-height .featured-image {
        min-height: var(--image-height-xl);
    }
}

/* ////// Banner: Split ////// */
section.hero__split-banner {
    overflow: clip;
}
.hero__split-banner .inner {
    display: grid;
    grid-template-columns: 1fr;
}
.hero__split-banner .hero-intro-holder {
    padding: 0 var(--spacing-indent) var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.hero__split-banner .hero-intro-content {
    display: grid;
    gap: var(--spacing-sm);
}
.hero__split-banner .button-holder {
    justify-content: flex-start;
}
.hero__split-banner .intro-text {
    font-size: var(--font-size-lg);
}

.hero__split-banner .featured-image {
    line-height: 0;
    position: relative;
    clip-path: polygon( 0% 0%, 100% 0%, 100% 100%, 23% 100% );
}
.hero__split-banner .featured-image img {
    height: var(--image-height-md);
    object-fit: cover;
    width: 100%;
    min-height: 100%;
}

.hero__split-banner--third .featured-image img {
    height: 562.5px;
}

.hero__split-banner--quarter .featured-image img {
    height: 250px;
}

@media screen and (max-width: 1679px) {
    .hero__split-banner .featured-image {
        clip-path: polygon( 0% 0%, 100% 0%, 100% 100%, 215px 100% );
    }
}

@media screen and (max-width: 988px) {
    .hero__split-banner .featured-image {
        clip-path: polygon( 0% 0%, 100% 0%, 100% 100%, 144px 100% );
    }
}

@media screen and (max-width: 899px) {
    .hero__split-banner .featured-image {
        clip-path: unset;
    }
}

@media screen and (min-width:900px) {
    .hero__split-banner .inner {
        grid-template-columns: 4fr 5fr;
    }

    /* --- Intro --- */
    .hero__split-banner :is(.inner, .hero-intro-holder) {
        background-color: inherit;
    }
    .hero__split-banner .hero-intro-holder {
        position: relative;
    }
    .hero__split-banner .hero-intro-holder::after {
        content: '';
        position: absolute;
        right: 1px;
        top: 0;
        width: auto;
        height: calc(100% + 1px);
        aspect-ratio: 364/1000;
        clip-path: polygon(0 0, 0% 100%, 100% 100%);
        transform: translateX(100%);
        background-color: inherit;
        z-index: 2;
    }
    .hero__split-banner .hero-intro {
        height: 100%;
        display: grid;
        align-items: center;
    }

    /* --- Featured Image--- */
    .hero__split-banner .featured-image::after {
        content: '';
        position: absolute;
        left: -1px;
        top: 0;
        width: 100%;
        height: 100%;
        mask-repeat: no-repeat;
        background: var(--color-site);
        mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 880 1000'%3E%3Cdefs%3E%3Csymbol id='stripes' viewBox='0 0 880.03 1000'%3E%3Cpolygon points='450 1000 363.99 1000 0 0 86.01 0 450 1000' opacity='.55'/%3E%3Cpolygon points='536 1000 449.99 1000 86 0 172.01 0 536 1000' opacity='.45'/%3E%3Cpolygon points='622.01 1000 536 1000 172.01 0 258.01 0 622.01 1000' opacity='.35'/%3E%3Cpolygon points='708.02 1000 622.01 1000 258.02 0 344.02 0 708.02 1000' opacity='.25'/%3E%3Cpolygon points='794.02 1000 708.02 1000 344.02 0 430.03 0 794.02 1000' opacity='.15'/%3E%3Cpolygon points='880.03 1000 794.03 1000 430.03 0 516.04 0 880.03 1000' opacity='.05'/%3E%3C/symbol%3E%3C/defs%3E%3Cuse width='880.03' height='1000' transform='' xlink:href='%23stripes'/%3E%3C/svg%3E");
        mask-size: 100%;
    }
}

section.hero__split-banner--specup img.specUp-logo {
	position: relative;
    top: 10px;
    width: auto;
	height: 1.5em;
	object-fit: contain;
}

/* ////// Slider Hero ////// */

.slider-hero .inner {
    min-height: 100%;
}

.slider-hero__slide {
    height: auto;
}

.slider-hero .slider-indicators {
    position: absolute;
    z-index: 1;
    bottom: var(--spacing-xxs);
    left: 0;
    width: 100%;
}

.slider-hero .slider-indicators.swiper-pagination-lock {
    display: none;
}

/* ///////////////////
// Sections
///////////////////// */

/* ////// Info Section ////// */
.info-section-v1 {
    justify-content: center;
    padding: var(--spacing-md) var(--spacing-indent);
}

@media screen and (min-width:900px) {
    .info-section__inner {
        grid-template-columns: 1fr 2fr;
    }

    /* --- Info v2 --- */
    .info-section-v2 .info-section__inner {
        grid-template-columns: 1fr;
    }
}

/* ////// Key facts ////// */
.key-facts__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-sm);
    flex-grow: 1;
}
.key-facts__card {
    display: flex;
    align-items: center;
    gap: 1ch;
}
.key-facts__icon {
    height: var(--icon-size);
    width: var(--icon-size);
    padding: 10px;
    border-radius: var(--border-radius-sm);
    background: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}
.key-facts__icon :is(svg,img) {
    height: 100%;
    width: 100%;
}

@media screen and (min-width:600px) {
    .key-facts__content {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (min-width:900px) {
    .key-facts__inner {
        grid-template-columns: 1fr 2fr;
    }
}


/* ////// I&T Link Boxes ////// */
.int-link-boxes__image {
    height: var(--image-height-md);
}
.int-link-boxes__text {
    padding: var(--spacing-md) var(--spacing-indent);
}
.int-link-boxes__link-box {
    padding: var(--spacing-sm);
    border: var(--border-standard);
    gap: var(--spacing-xs);
}

.int-link-boxes__box-icon {
    background: var(--color-quinary);
    color: var(--color-light);
}

@media screen and (min-width:1024px) {
    .int-link-boxes {
        display: grid;
        grid-template-columns: 1fr 3fr;
    }
    .int-link-boxes__image {
        min-height: min(100%, var(--view-height, 100vh));
        max-height: min(100%, var(--view-height, 100vh));
        position: sticky;
        top: 0;
    }
    .int-link-boxes__link-box-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-sm);
    }
    .int-link-boxes__text {
        padding-left: 0;
    }
}

/* ////// Accreditations ////// */
.accreditations__inner {
    margin-inline: auto;
}
.accreditations__container {
    position: relative;
    padding: var(--spacing-sm) calc(var(--spacing-smd) * 3);
    border: var(--border-standard);
}
.accreditations-slider {
    display: block;
}
.accreditations-slider h2 {
    margin-bottom: var(--spacing-sm);
}
.accreditations-slider h2:last-child {
    margin-bottom: 0;
}
.accreditations-slider .swiper-button-disabled {
    opacity: 0;
    transition: opacity .3s ease;
}
.accreditations-slider .slider-arrow {
    position: absolute;
    top: 50%;
    inset-inline: var(--spacing-smd);
    transform: translateY(-50%);
}
.accreditations-slider .previous-arrow {
    right: auto;
}
.accreditations-slider .next-arrow {
    left: auto;
}
.accreditations-slider__slide {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
}
.accreditations-slider__slide img {
    object-fit: contain;
    max-height: 70px;
}

@media all and (max-width: 900px) {
    .accreditations-slider__slide img {
        max-height: 50px;
    }
}

/* ////// Timeline ////// */
.timeline__entry {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 30px;
}
.timeline__thread {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.timeline__line {
    height: 100%;
    width: 3px;
    background: var(--color-dark);
}
.timeline__entry:not(:last-child) .timeline__card {
    margin-bottom: var(--spacing-md);
}
.timeline__icon {
    background: var(--color-dark);
    color: var(--color-light);
    border-radius: 50px;
    padding: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.timeline__icon :is(img,svg,iconify-icon) {
    height: 24px;
    width: 24px;
    font-size: 24px;
}
.timeline__card {
    padding: var(--spacing-xs) var(--spacing-sm);
    position: relative;
    overflow: visible;
    border-radius: 24px;
}
.timeline__triangle {
    background: var(--color-primary);
    position: absolute;
    height: 24px;
    width: 16px;
    top: 24px;
    left: 1px;
    transform: translateX(-100%);
    clip-path: polygon(0 50%, 100% 100%, 100% 0);
}
.timeline__image {
    aspect-ratio: 3/2;
    border-radius: 24px;
    overflow: hidden;
}

@media screen and (min-width:900px) {
    .timeline__entry {
        grid-template-columns: 1fr 72px 1fr;
    }
    .timeline__thread {
        grid-column: 2/3;
    }
    .timeline__entry:nth-child(odd) .timeline__card {
        grid-column: 1/2;
        grid-row: 1/2;
    }
    .timeline__entry:nth-child(odd) .timeline__card .timeline__triangle {
        left:unset;
        right: 0;
        transform: translateX(100%);
        clip-path: polygon(0 0, 0% 100%, 100% 50%);
    }
}

/* ////// FAQ Accordion ////// */
.faq-accordion__inner {
    max-width: var(--width-standard);
    margin-inline: auto;
}
.faq-accordion__inner > h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--spacing-smd);
}
.faq-accordion__inner > h2 img {
    width: clamp(32px, 2.5vw, 48px);
    height: auto;
    object-fit: contain;
}
.faq-acordion__accordion-panel {
    padding-bottom: var(--spacing-xs);
}
.faq-accordion__accordion-title {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 2ch;
    justify-content: space-between;
    font-size: var(--font-size-sm);
}
h3.faq-accordion__accordion-title span{
    display: flex;
    align-items: center;
    gap: 1ch;
}
h3.faq-accordion__accordion-title :is(svg,png,iconify-icon) {
    height: 1.2em;
    width: 1.2em;
    object-fit: contain;
}
h3.faq-accordion__accordion-title::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    height: 1.2em;
    min-width: 1.2em;
    background-color: currentColor;
    --svg: var(--icon-caret-down);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}
.faq-accordion__accordion-body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .3s ease;
}
.faq-accordion__accordion-body-inner {
	overflow: hidden;
}
.faq-accordion__accordion-content {
    padding: var(--spacing-xs) 0;
}
.faq-acordion__accordion-panel:not(:last-child) {
    border-bottom: 1.5px solid currentColor;
}

.faq-acordion__accordion-panel.active h3.faq-accordion__accordion-title::after {
    --svg: var(--icon-caret-up);
}
.faq-acordion__accordion-panel.active .faq-accordion__accordion-body {
    grid-template-rows: 1fr;
}

@media screen and (min-width:900px) {
    .faq-accordion-2-column .faq-accordion__content {
        grid-template-columns: 1fr 2fr;
        max-width: var(--width-wide);
    }
    .faq-accordion-2-column .faq-accordion__inner {
        max-width: var(--width-wide);
    }
}

/* ////// Statistics ////// */
.statistics__card {
    flex: 1 0 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xxs);
    padding: var(--spacing-sm);
    background-color: var(--color-primary);
    color: var(--color-dark);
    border-radius: var(--border-radius-md);
    box-sizing: border-box;
}
.statistics__card p {
    text-align: center;
}

.statistics__card svg,
.statistics__card img {
	width: 50px;
	height: 50px;
}

.statistics__row:nth-child(2) .statistics__card,
.statistics__row:nth-child(2) .statistics__card :is(h1,h2,h3,h4,h5,h6) {
    background-color: var(--color-dark);
    color: var(--color-light);
}
.statistics__row:nth-child(3) .statistics__card,
.statistics__row:nth-child(3) .statistics__card :is(h1,h2,h3,h4,h5,h6) {
    background-color: var(--color-quaternary);
    color: var(--color-light);
}

@media screen and (min-width:500px) {
    .statistics__card {
        flex-grow: 1;
        flex-basis: 34%;
    }
}
@media screen and (min-width:750px) {
    .statistics__card {
        flex-grow: 1;
        flex-basis: 26%;
    }
}

/* ////// Info Scroll Through ////// */
.info-scroll-through__text h2 {
    color: var(--color-quaternary);
}
.text-col-light .info-scroll-through__text h2 {
    color: var(--color-light);
}
.info-scroll-through__panels {
    display: grid;
    grid-template-rows: calc(.9*88px) 1fr;
}
.info-scroll-through__panel-card {
    padding: 0 var(--spacing-smd);
    border-radius: var(--border-radius-md);
    gap: 0;
}
.info-scroll-through__panel-title {
    display: flex;
    align-items: center;
    gap: 1ch;
    padding: 24px 0;
    height: 88px;
}
.info-scroll-through__panel-title h3,
.info-scroll-through__panel-card .text-editor :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-dark);
}
.info-scroll-through__panel-card .text-editor {
    padding-bottom: var(--spacing-sm);
}
.info-scroll-through__panel-card .icon-box {
    background: var(--color-senary);
    color: var(--color-light);
}
.panel-card-active {
    grid-row: 2/3;
    z-index: 2;
}
.panel-card-active .info-scroll-through__panel-card {
    box-shadow: var(--shadow-md);
    -webkit-box-shadow: var(--shadow-md);
    -moz-box-shadow: var(--shadow-md);
}
.info-scroll-through__panel-holder {
    scale: .9;
}
.info-scroll-through__panel-holder.panel-card-active {
    scale: 1;
}

@media screen and (min-width:900px) {
    .info-scroll-through__inner {
        display: grid;
        grid-template-columns: 5fr 4fr;
        gap: var(--spacing-smd);
    }
}


/* ////// Info Scroll Through Video ////// */
.info-scroll-through-video__inner {
    display: grid;
}

.info-scroll-through-video__video {
    position: relative;
    cursor: pointer;
}
.info-scroll-through-video__overlay {
    display: grid;
    height: 100%;
    align-items: center;
    position: relative;
}
.info-scroll-through-video__overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--color-dark);
    opacity: .7;
    border-radius: var(--border-radius-md);
}
.info-scroll-through-video__overlay > :is(img, div) {
    grid-column: 1/2;
    grid-row: 1/2;
}
.info-scroll-through-video__overlay img {
    opacity: .5;
}
.info-scroll-through-video_play-icon {
    padding: var(--spacing-sm);
    width: max-content;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    opacity: 1;
    z-index: 2;
    justify-self: center;
    margin-bottom: var(--spacing-md);
}

.info-scroll-through-video__panels {
    display: grid;
    grid-template-rows: calc(.9*88px) 1fr;
    margin-top: calc(-1*var(--spacing-md));
}
.info-scroll-through-video__panel-card {
    padding: 0 var(--spacing-smd);
    border-radius: var(--border-radius-md);
    gap: 0;
}
.info-scroll-through-video__panel-title {
    display: flex;
    align-items: center;
    gap: 1ch;
    padding: 24px 0;
    height: 88px;
}
.info-scroll-through-video__panel-title h3,
.info-scroll-through-video__panel-card .text-editor :is(h1,h2,h3,h4,h5,h6,p,li,a,span) {
    color: var(--color-dark);
}
.info-scroll-through-video__panel-card .text-editor {
    padding-bottom: var(--spacing-sm);
}
.info-scroll-through-video__panel-card .icon-box {
    background: var(--color-senary);
    color: var(--color-light);
}
.panel-card-active {
    grid-row: 2/3;
    z-index: 2;
}
.panel-card-active .info-scroll-through-video__panel-card {
    box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.4);
    -webkit-box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.4);
    -moz-box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.4);
}
.info-scroll-through-video__panel-holder {
    scale: .9;
}
.info-scroll-through-video__panel-holder.panel-card-active {
    scale: 1;
}

@media screen and (min-width:900px) {
    .info-scroll-through-video__inner {
        display: grid;
        grid-template-columns: 5fr 4fr;
    }

    .info-scroll-through-video__video {
        grid-column: 1/3;
        grid-row: 1/2;
        margin-bottom: var(--spacing-md);
        margin-right: var(--spacing-md);
    }
    .info-scroll-through-video__overlay {
        align-items: flex-end;
        padding-bottom: var(--spacing-md);
        padding-right: var(--spacing-md);
        box-sizing: border-box;
    }
    .info-scroll-through-video_play-icon {
        justify-self: unset;
        margin-bottom: 0;
    }

    .info-scroll-through-video__panels {
        margin-top: 0;
        grid-column: 2/3;
        grid-row: 1/2;
        padding-top: var(--spacing-md);
    }
    .info-scroll-through-video__video,
    .info-scroll-through-video__video .info-scroll-through-video__overlay,
    .info-scroll-through-video__overlay img{
        height: 300px;
        min-height: 100%;
    }
    .info-scroll-through-video__overlay::before {
        bottom: var(--spacing-md);
        right: var(--spacing-md);
    }
}

/* ////// A to Z ////// */
.a-z__inner {
    display: grid;
    justify-content: center;
    gap: var(--spacing-smd);
}
.a-z__links,
.a-z__links ul {
    display: flex;
    gap: 1ch;
    flex-wrap: wrap;
}
.a-z__links-holder {
    display: flex;
    justify-content: center;
}
.a-z__links {
    padding: var(--spacing-micro) var(--spacing-smd);
    border-radius: 200px;
    background-color: var(--color-primary);
    justify-content: center;
}
.a-z__links ul li a {
    border: unset;
}

.a-z__card {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-md);
    border: var(--border-standard);
}
.a-z__card-title {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    justify-content: space-between;
    flex-wrap: wrap;
}
.a-z__card-title button {
    padding: 10px 15px;
}

@media screen and (min-width:700px) {
    .a-z__cards-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-smd);
    }
}
@media screen and (min-width:1200px) {
    .a-z__cards-list {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* ////// Text Gallery ////// */
.text-gallery__gallery {
    display: flex;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
}
.text-gallery__gallery figure {
    flex-grow: 1;
    flex-basis: 100%;
}

@media screen and (min-width:600px) {
    .text-gallery__gallery figure {
        flex-grow: 1;
        flex-basis: 34%;
    }
}
@media screen and (min-width:1200px) {
    .text-gallery__gallery figure {
        flex-grow: 1;
        flex-basis: 26%;
    }
}


/* ////// Int Slider ////// */
.int-slider {
	display: block!important;
}

.int-slider__slide {
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.int-slider__text {
    padding: 0 var(--spacing-md) var(--spacing-indent);
    display: flex;
    gap: var(--spacing-smd);
    flex-direction: column;
}
.int-slider__content {
    height: 100%;
    justify-content: center;
    padding-top: var(--spacing-smd);
}
.int-slider__slider {
    mask-image: linear-gradient(to bottom, transparent 50px, black 100%);
    line-height: 0;
}
.int-slider__slider img {
    height: var(--image-height-lg);
}

.int-slider .slider-indicators {
    position: absolute;
    z-index: 2;
    bottom: calc(var(--image-height-lg) - 20px);
    inset-inline: var(--spacing-md);
}

@media screen and (min-width:900px) {
    .int-slider__slide {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .int-slider__slider {
        mask-image: linear-gradient(to right, transparent 50px, black 100%);
    }
    .int-slider__slider img {
        min-height: 100%;
    }

    .int-slider .slider-indicators {
        bottom: calc(var(--spacing-md) / 2);
    }
}

/* --- Variation 2 --- */
@media screen and (max-width:899px) {
    .int-slider-variation-2[class*="has-stripes"]::before {
        content: none;
    }
}

/* ////// Int Features ////// */
.int-features__text {
    padding: 0 var(--spacing-md) var(--spacing-indent);
    display: flex;
    gap: var(--spacing-smd);
    flex-direction: column;
}
.int-features__content {
    height: 100%;
    justify-content: center;
}
.int-features__icon.icon-box {
    color: var(--color-dark);
}
.int-features__facts-card {
    padding: var(--border-radius-sm);
    background: var(--color-light);
    border-radius: var(--border-radius-sm);
    display: flex;
    gap: 1ch;
    align-items: center;
}
.int-features__facts-card p {
    color: var(--color-body-text);
}
.int-features__image {
    height: var(--image-height-md);
}

@media screen and (min-width:768px) {
    .int-features__facts-list {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width:899px) {
    .int-features[class*="has-stripes"]::before {
        content: none;
    }
}

@media screen and (min-width:900px) {
    .int-features__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .int-features__image {
        mask-image: linear-gradient(to right, transparent 50px, black 100%);
    }
    .int-features__image {
        min-height: 100%;
    }
    .int-features__facts-list {
        grid-template-columns: 1fr;
    }
}
@media screen and (min-width:1200px) {
    .int-features__facts-list {
        grid-template-columns: 1fr 1fr;
    }
}

/* ////// Int Standard ////// */
.int-standard__text {
    padding: 0 var(--spacing-md) var(--spacing-indent);
    display: flex;
    gap: var(--spacing-smd);
    flex-direction: column;
}
.int-standard__content {
    height: 100%;
    justify-content: center;
}
.int-standard__image {
    height: var(--image-height-md);
}

@media screen and (min-width:900px) {
    .int-standard__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .int-standard__image {
        min-height: 100%;
        grid-row: 1/2;
        grid-column: 1/2;
    }
    .int-standard__text {
        grid-row: 1/2;
        grid-column: 2/3;
    }
}


/* ////// Market Sectors ////// */
section.market-sectors {
    position: relative;
    display: grid;
}
.market-sectors__bg-image {
    position: absolute;
    inset: 0;
}
.market-sectors__inner {
    z-index: 2;
    padding: var(--spacing-smd) var(--spacing-md);
}
.market-sectors__card {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}
.market-sectors__card-front,
.market-sectors__card-back {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xxs);
    grid-column: 1/2;
    grid-row: 1/2;
    transition: opacity .3s ease;
    padding: var(--spacing-xs);
    border-radius: var(--border-radius-sm);
}
.market-sectors__card-back {
    opacity: 0;
    border: var(--border-standard);
    box-shadow: var(--shadow-sm);
    -webkit-box-shadow: var(--shadow-sm);
    -moz-box-shadow: var(--shadow-sm);
    z-index: -1;
}
.market-sectors__card-back a {
    pointer-events: none;
    touch-action: none;
}
.market-sectors__card:hover .market-sectors__card-front,
.market-sectors__card:focus .market-sectors__card-front {
    opacity: 0;
    z-index: -1;
}
.market-sectors__card:hover .market-sectors__card-back,
.market-sectors__card:focus .market-sectors__card-back {
    opacity: 1;
    z-index: 2;
}
.market-sectors__card-back:hover a {
    pointer-events: auto;
    touch-action: auto;
}

@media screen and (min-width:768px) {
    .market-sectors__list {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:1024px) {
    .market-sectors__list {
        grid-template-columns: 1fr 1fr 1fr;
    }
}
@media screen and (min-width:1400px) {
    .market-sectors__list {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/* ////// Case Study Slider ////// */
.case-study-slider h2 {
    margin-bottom: var(--spacing-smd);
}
.case-study-slider h2:last-child {
    margin-bottom: 0;
}
.case-study-slider__wrapper {
    padding-inline: calc(var(--spacing-xs) * 2);
}
.case-study-slider__slides {
    margin-bottom: var(--spacing-smd);
}
.case-study-slider__slides:last-child {
    margin-bottom: 0;
}
.case-study-slider__slide-featured-image {
    margin-right: var(--spacing-sm);
    margin-left: var(--spacing-sm);
}
.case-study-slider__slide-text {
    padding: calc(var(--spacing-md) + var(--spacing-sm)) var(--spacing-smd) var(--spacing-sm);
    margin-top: calc(-1*var(--spacing-md));
}
.case-study-slider__slide-text img {
    max-width: 200px;
}
.case-study-slider__slide-text :is(h1,h2,h3,h4,h5,h6,p,li,a,svg) {
    color: var(--color-dark);
}
.case-study-slider__case-location {
    display: flex;
    align-items: center;
    gap: 1ch;
    flex-wrap: wrap;
}
.case-study-slider__case-location :is(img,svg,iconify-icon) {
    height: 1em;
    width: 1em;
    font-size: 1em;
}

@media screen and (min-width:900px) {
    .case-study-slider__slides {
        margin-bottom: 0;
    }
    .case-study-slider__slide {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .case-study-slider__slide-featured-image {
        margin-right: 0;
        margin-left: 0;
    }
    .case-study-slider__slide-text {
        padding: var(--spacing-sm) var(--spacing-smd);
        margin-top: 0;
        margin-top: var(--spacing-md);
        margin-bottom: var(--spacing-md);
        margin-left: calc(-1*var(--spacing-md));
    }
    .case-study-slider__nav {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 0;
        width: 100%;
        transform: translateY(-50%);
    }
    .case-study-slider__nav.case-study-slider__nav {
        justify-content: space-between;
    }
}


/* ////// Storytelling ////// */
.storytelling {
   display: block;
}
.storytelling__intro-wrapper {
    position: relative;
    margin-bottom: var(--spacing-smd);
}
.storytelling__intro-wrapper:last-child {
    margin-bottom: 0;
}
.storytelling__slider {
    padding-inline: var(--spacing-indent);
    padding-bottom: var(--spacing-md);
}
.storytelling__slides {
    margin-bottom: var(--spacing-smd);
}
.storytelling__slides:last-child {
    margin-bottom: 0;
}
.storytelling-slide {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    flex-wrap: nowrap;
}
.storytelling .slider-nav-holder {
    padding: 0;
}
.storytelling .swiper-button-prev,
.storytelling .swiper-button-next {
    cursor: pointer;
}
.storytelling .swiper-button-disabled {
    pointer-events: none;
    opacity: 0.3;
}

@media screen and (min-width:900px) {
    .storytelling-slide {
        display: grid;
        grid-template-columns: 2fr 3fr;
    }
    .storytelling-slide .text-editor {
        padding: var(--spacing-smd) 0;
    }
}


/* ////// Testimonial Side Scroll ////// */
.testimonial-sidescroll {
    display: block;
    padding-left: var(--spacing-indent);
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
}
.testimonial-sidescroll :is(h2,.slider-indicators) {
    padding-right: var(--spacing-indent);
}
.testimonial-sidescroll h2 {
    margin-bottom: var(--spacing-sm);
}
.testimonial-sidescroll h2:last-child {
    margin-bottom: 0;
}
.testimonial-sidescroll__slides + .slider-indicators {
    margin-top: var(--spacing-sm);
}
.testimonial-sidescroll__slides + .slider-indicators.swiper-pagination-lock {
    display: none;
}
.testimonial-sidescroll__slide {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm);
    background: var(--color-light);
    border-radius: var(--border-radius-md);
    border: var(--border-standard);
}
.testimonial-sidescroll__slide img {
    max-width: 200px;
    max-height: 30px;
    object-fit: contain;
    object-position: left;
}

/* ////// Project Contact ////// */
.project-contact__form .gform_wrapper.gravity-theme .gfield_label {
    font-size: unset;
    font-weight: 400;
    margin: 0;
}

.project-contact__form .gform_wrapper.gravity-theme .gform_footer {
    padding: 0;
    margin: 0;
}

.project-contact__form .gform_wrapper.gravity-theme .gform_footer {
    align-self: flex-start;
    position: relative;
    color: var(--color-dark);
}

.project-contact__form .gform_wrapper.gravity-theme .gform_footer:hover {
    color: var(--color-light);
}

.project-contact__form .gform_wrapper.gravity-theme .gform_footer:after {
    --svg: var(--icon-paper-plane);

    content: '';
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    display: inline-flex;
    width: 1.2em;
    height: 1.2em;
    min-width: 1.2em;
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}

.project-contact__form .gform_wrapper.gravity-theme .gform_footer input {
    min-width: 167px;
}

.project-contact__form .gform_wrapper.gravity-theme .gform_footer:hover input {
    color: var(--color-light);
    background: var(--color-dark);
}

@media screen and (min-width:900px) {
    .project-contact__main {
        grid-template-columns: 1fr 2fr;
        gap: var(--spacing-smd) var(--spacing-md);
    }
}

/* ////// logo Grid ////// */
.logo-grid__card {
    position: relative;
    display: flex;
    padding: var(--spacing-smd) var(--spacing-md);
    border: var(--border-standard);
    border-radius: var(--border-radius-md);
}
figure.logo-grid__card img {
    object-fit: contain;
    max-height: 40px;
}

.logo-grid__card a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px;
    position: absolute;
    inset: 0;
    background: rgba(0, 22, 44, 0.9);
    color: var(--color-light);
    opacity: 0;
    transition: opacity .3s ease;
}

.logo-grid__card:hover a {
    opacity: 1;
}

@media screen and (min-width:600px) {
    .logo-grid__grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:900px) {
    .logo-grid__grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}@media screen and (min-width:1200px) {
    .logo-grid__grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/* ////// Our People ////// */
img.our-people__image {
    height: var(--image-height-xl);
}
.our-people__main-holder {
    padding: 0 var(--spacing-indent) var(--spacing-md);
    margin-top: calc(-1*var(--spacing-lg));
    display: grid;
    justify-content: center;
}
.our-people__main {
    padding: var(--spacing-md);
}
figure.our-people__profile-image img {
    height: 100px;
    width: 100px;
    border-radius: 100px;
}
.our-people__card-name {
    display: flex;
    flex-direction: column;
    gap: .3ch;
}
.our-people__card-name h4.title {
    color: var(--color-body-text-tint);
}

@media screen and (min-width:600px) {
    .our-people__card {
        grid-template-columns: 100px 1fr;
    }
}

@media screen and (min-width:1024px) {
    .our-people__grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ////// Int Overview ////// */
img.int-overview__image {
    height: var(--image-height-xl);
    margin-top: calc(-1*var(--spacing-lg));
}
.int-overview__main-holder {
    padding: var(--spacing-indent) var(--spacing-md) 0;
    display: flex;
    justify-content: center;
}
.int-overview__main {
    padding: 0 var(--spacing-md) var(--spacing-md);
    flex-grow: 1;
}

/* ////// Flexible COntent ////// */
.flexible-content.has-stripes-bleed-left {
    display: block;
}
.flexible-content__inner {
    position: relative;
    margin-inline: auto;
}
.flexible-content__main {
    margin-bottom: var(--spacing-sm);
}
.flexible-content__main:last-child {
    margin-bottom: 0;
}
.flexible-content__slides {
    margin-bottom: var(--spacing-xxs);
}
.flexible-content__slides:last-child {
    margin-bottom: 0;
}
.flexible-content__slider .slider-nav-holder {
    padding: 0;
}
.flexible-content__slide img {
    width: 100%;
    height: auto;
}

@media screen and (min-width:900px) {
    .flexible-content__main {
        grid-template-columns: 1fr 2fr;
    }
}

/* ////// Testimonial Slider ////// */
.testimonial-slider {
    padding: var(--spacing-md) var(--spacing-indent);
}

/* --- Has Bg Image --- */
.testimonial-slider.has-bg-image {
    position: relative;
    padding: var(--spacing-md) var(--spacing-indent);
}
.testimonial-slider__bg-image {
    position: absolute;
    inset: 0;
}
.testimonial-slider.has-bg-image .testimonial-slider__inner {
    margin-inline: auto;
}
.testimonial-slider.has-bg-image .testimonial-slider__inner {
    position: relative;
    z-index: 2;
    padding: var(--spacing-md) var(--spacing-indent);
    border-radius: var(--border-radius-md);
    background-color: var(--color-light);
}
.testimonial-slider__slides {
    margin-bottom: var(--spacing-sm);
}
.testimonial-slider__slides:last-child {
    margin-bottom: 0;
}
.testimonial-slider__slide {
    gap: var(--spacing-smd);
}
.testimonial-slider__quote {
    gap: var(--spacing-xxs) var(--spacing-sm);
}
.testimonial-slider__quote blockquote {
    margin: 0;
}
.testimonial-slider__quote svg {
    color: var(--color-quaternary);
    height: 50px;
    width: 50px;
}
.testimonial-slider__source {
    gap: .7ch;
}

@media screen and (min-width:900px) {
    .testimonial-slider__quote {
        grid-template-columns: 50px 1fr;
    }
    .testimonial-slider__source,
    .slider-nav-holder {
        padding-left: calc(var(--spacing-sm) + 50px);
    }
}

/* ////// Expertise ////// */
@media screen and (min-width:768px) {
    .expertise__cards {
        grid-template-columns: 1fr 1fr;
    }
    
    .expertise__cards:has(.expertise__card:nth-child(even)) {
        position: relative;
    }

    .expertise__cards:has(.expertise__card:nth-child(even)):after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        height: 100%;
        width: 2px;
        background: currentColor;
    }
}

/* ////// Experience ////// */
.experience__card {
    position: relative;
}

.experience__card ~ .experience__card:before {
    content: '';
    position: absolute;
    top: 0;
    right: calc(100% + var(--spacing-md) / 2);
    transform: translateX(50%);
    width: 2px;
    height: 100%;
    background: currentColor;
}

@media screen and (max-width:1199px) {
    .experience__card ~ .experience__card:nth-child(odd):last-child::before {
        display: none;
    }
}

@media screen and (max-width:767px) {
    .experience__card:before {
        display: none;
    }
}

@media screen and (min-width:768px) {
    .experience__card:first-child:nth-last-child(2),
    .experience__card:first-child:nth-last-child(2) ~ div,
    .experience__card:first-child:nth-last-child(3),
    .experience__card:first-child:nth-last-child(3) ~ div,
    .experience__card:first-child:nth-last-child(4),
    .experience__card:first-child:nth-last-child(4) ~ div {
        flex-basis: 34%;
        flex-grow: 1;
    }
}
@media screen and (min-width:1200px) {
    .experience__card:first-child:nth-last-child(3),
    .experience__card:first-child:nth-last-child(3) ~ div {
        flex-basis: 26%;
        flex-grow: 1;
    }
}

/* ////// CTA Division ////// */
@media screen and (min-width:768px) {
    .cta-divisions__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (min-width:1200px) {
    .cta-divisions__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ////// Division Card ////// */
.division-card {
    border: var(--border-standard);
    border-top: var(--border-radius-md) solid var(--color-site);
    gap: 0;
}
.division-card--invicta {
    --color-site: var(--color-invicta);
}
.division-card--the-invicta-group {
    --color-site: var(--color-the-invicta-group);
}
.division-card--racking {
    --color-site: var(--color-racking);
}
.division-card--shelving {
    --color-site: var(--color-shelving);
}
.division-card--mezzanine {
    --color-site: var(--color-mezzanine);
}
.division-card--interiors {
    --color-site: var(--color-interiors);
}
.division-card--durasteel {
    --color-site: var(--color-durasteel);
}
.division-card--ceilings {
    --color-site: var(--color-ceilings);
}
.division-card img {
    aspect-ratio: 16/9;
    height: var(--image-height-sm);
}
.division-card__text {
    padding: var(--spacing-xxs);
    flex-grow: 1;
}


@media screen and (min-width:900px) {
    .cta-case-studies__grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:1200px) {
    .cta-case-studies__grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}
/* //////// Case Study Card ////// */
.case-study-card {
    padding: var(--card-padding);
    border: var(--border-standard);
    justify-content: space-between;
}


/* /////// Case Study Side Scroll ////// */
.case-study-sidescroll {
    position: relative;
    overflow: hidden;
}
.case-study-sidescroll__bg-shapes {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}
.case-study-sidescroll__bg-shapes > div {
    background-color: var(--color-senary);
    height: 100%;
}
.case-study-sidescroll__triangle {
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    aspect-ratio: 364/1000;
}
.case-study-sidescroll__rectangle {
    width: 40%;
}
.case-study-sidescroll__inner {
    position: relative;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-smd);
}
.case-study-sidescroll__text {
    width: calc(50% - var(--spacing-smd) / 2);
}
.case-study-sidescroll__slider {
    width: calc(50% - var(--spacing-smd) / 2 + var(--spacing-indent));
    margin-right: calc(-1 * var(--spacing-indent));
    padding-right: var(--spacing-indent);
}
.case-study-sidescroll__slide img {
    height: var(--image-height-md);
}

@media screen and (max-width:899px) {
    .case-study-sidescroll__text {
        width: 100%;
    }
    .case-study-sidescroll__slider {
        width: 100%;
        margin-right: 0;
        padding-right: 0;
        overflow: visible;
    }
}

/* ////// Case Study Listing ////// */
.case-study-listing__cards {
    width: 100%;
}
.case_study_listing__card-thumbnail {
    position: relative;
}
.case-study-listing__card .division-pill {
    position: absolute;
    top: var(--spacing-xxs);
    right: var(--spacing-xxs);
}
.case_study_listing__card-thumbnail {
    aspect-ratio: 3/2;
}
.case-study-listing__card-heading {
    gap: .5ch;
}

@media screen and (min-width:768px) {
    .case-study-listing__cards {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (min-width:1024px) {
    .case-study-listing__text-intro {
        max-width: var(--width-md-text);
        justify-self: flex-end;
    }
}


/* ////// Archive: Team ////// */
.team-card {
    font-size: var(--font-size-micro);
}

img.team-card__profile-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.team-card__name-title {
    gap: .3ch;
}
.team-card__name-title h3 {
    font-size: var(--font-size-xs);
}
.team-card__divisions,
.team-card__countries {
    gap: .7ch;
}
.team-card__countries :is(svg,img) {
    width: auto;
	height: 1.5rem;
}

@media screen and (min-width: 576px) {
    .archive-team__cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width:768px) {
    .archive-team__cards {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (min-width:1024px) {
    .archive-team__cards {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media screen and (min-width:1200px) {
    .archive-team__cards {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* ////// Archive: Testimonials ////// */
.testimonials-archive__inner {
    padding-bottom: var(--spacing-md);
}
.archive-testimonials__card {
    padding: var(--card-padding);
    border: var(--border-standard);
    justify-content: space-between;
}
.archive-testimonials__card blockquote {
    margin: 0;
}
.archive-testimonials__card-divisions {
    gap: .5ch;
}

@media screen and (min-width:768px) {
    .archive-testimonials__cards {
        grid-template-columns: 1fr 1fr;
    }
    .archive-testimonials__card-info .key-value-stacked:first-child {
        border-top: var(--border-standard);
        padding-top: var(--spacing-sm);
    }
}
@media screen and (min-width:1024px) {
    .archive-testimonials__cards {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* ////// Archive: Divisions ////// */
@media screen and (min-width:768px) {
    .archive-divisions__cards {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (min-width:1200px) {
    .archive-divisions__cards {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ////// Insight Listing ////// */
.insight-listing__heading-cta {
    justify-content: space-between;
}
.insight-listing__card img {
    aspect-ratio: 3/2;
    height: auto;
}

@media screen and (min-width:768px) {
    .insight-listing__cards {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:1024px) {
    .insight-listing__cards {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* ////// Insight Listing Variation 2 ////// */
.insight-listing-v2__inner {
    padding-bottom: var(--spacing-md);
}
.insight-listing-v2__card figure {
    position: relative;
}
.insight-listing-v2__card figure p.division-pill {
    position: absolute;
    top: var(--spacing-xxs);
    right: var(--spacing-xxs);
}
.insight-listing-v2__card .button-holder {
    align-content: flex-start;
}

@media screen and (min-width:768px) {
    .insight-listing-v2__cards {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:1024px) {
    .insight-listing-v2__cards {
        grid-template-columns: 1fr 1fr 1fr;
    }
}


/* ////// Location Listing ///// */
.location-listing__card {
    padding: var(--card-padding);
    border: var(--border-standard);
    justify-content: space-between;
}
.location-listing__card-details,
.location-listing__card .button-holder {
    gap: var(--spacing-micro);
}
@media screen and (min-width:768px) {
    .location-listing__cards {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:1024px) {
    .location-listing__cards {
        grid-template-columns: 1fr 1fr 1fr;
    }
}


.cta-block {
    padding: 80px 0px 0px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    border-radius: 5px;
}
.cta-block p,
.cta-block a {
    padding: 10px;
    margin: 0;
}
.cta-block a {
    mask-image: url(images/radius-corner.svg), linear-gradient(#000 0 0);
    mask-repeat: no-repeat;
    mask-size: 100%;
    mask-position: 100% 100%;
    background: snow;
    color: #000;
    mask-composite: exclude;
    aspect-ratio: 1/1;
    /* padding: 0; */
    display: flex;
    height: 30px;
    justify-content: center;
    align-items: center;
    padding-right: 5px;
    padding-bottom: 5px;
}

/* ////////////////////
// Search
////////////////////// */
.search__results-card {
    display: grid;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-md);
    transition: background-color .3s ease
}
.search__results-card:hover {
    background-color: var(--color-primary);
}
.search__footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-sm);
    align-items: flex-start;
}

@media screen and (min-width:320px) {
    .search__footer {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

/* ////// CTA More Info ////// */
.cta-more-info__buttons-grid {
    width: 100%;
}
.cta-more-info__button {
    display: flex;
    padding: var(--spacing-lg) var(--spacing-xs) var(--spacing-xxs);
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-micro);
    flex-wrap: nowrap;
    position: relative;
}
img.cta-more-info__bg-image {
    position: absolute;
    inset: 0;
    mix-blend-mode: soft-light;
    pointer-events: none;
}
.cta-more-info__button svg {
    height: 1.2em;
    width: auto;
}

@media screen and (min-width:768px) {
    .cta-more-info__buttons-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width:1200px) {
    .cta-more-info__buttons-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}


/* ///////////////////
// Footer Styles
//////////////////// */
.footer {
    margin-top: auto;
}

.footer__logo {
    display: none;
}
.footer__logo a {
    display: flex;
}
.footer__logo img {
    max-width: 200px;
    object-fit: contain;
}

.footer__columns-container {
    container: footer-columns-container / inline-size;
    width: 100%;
    display: flex;
}
.footer__columns {
    display: grid;
    gap: var(--spacing-smd) var(--spacing-sm);
    flex-grow: 1;
}
.footer__column {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

div.footer__site-info {
    padding: 0 var(--spacing-indent) var(--spacing-smd);
    display: grid;
    gap: var(--spacing-xs);
}
footer hr {
    margin: 0;
    opacity: 0.3;
    border: 1px solid currentColor;
}

@container footer-columns-container (min-width:500px) {
    /* 2 Column layout */
    .footer__columns:has(.footer__column:first-child:nth-last-child(2)),
    .footer__columns:has(.footer__column:first-child:nth-last-child(3)),
    .footer__columns:has(.footer__column:first-child:nth-last-child(4)),
    .footer__columns:has(.footer__column:first-child:nth-last-child(5)) {
        grid-template-columns: repeat(2, 1fr);
    }
}
@container footer-columns-container (min-width:750px) {
    /* 3 Column layout */
    .footer__columns:has(.footer__column:first-child:nth-last-child(3)),
    .footer__columns:has(.footer__column:first-child:nth-last-child(5)) {
        grid-template-columns: repeat(3, 1fr);
    }
}
@container footer-columns-container (min-width:1000px) {
    /* 4 Column layout */
    .footer__columns:has(.footer__column:first-child:nth-last-child(4)) {
        grid-template-columns: repeat(4, 1fr);
    }
}
@container footer-columns-container (min-width:1250px) {
    /* 5 Column layout */
    .footer__columns:has(.footer__column:first-child:nth-last-child(5)) {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media screen and (min-width:600px) {
    .footer__logo {
        display: block;
    }
}

@media screen and (min-width:1200px) {
    .footer__inner {
        flex-direction: row;
        justify-content: space-between;
        gap: var(--spacing-lg);
    }
    .footer__columns-container {
        justify-content: flex-end;
    }
    footer:has(.footer__logo) .footer__columns {
        flex-grow: unset;
    }
}

/* ////// Mega Menu ////// */
li:has(> .mega-menu) {
    position: static;
}

.mega-menu {
    position: absolute;
    z-index: 110;
    height: calc(100dvh - 120% - var(--admin-bar-height));
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--color-secondary);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}

li:hover > .mega-menu {
    opacity: 1;
    pointer-events: auto;
}

.mega-menu:before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 40px;
}

.mega-menu ul {
    list-style: none;
}

.mega-menu__bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 72.3%;
    height: 100%;
}

.mega-menu__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mega-menu__wrapper {
    position: relative;
    height: 100%;
    overflow: auto;
    display: grid;
    grid-template-columns: 27.7fr 72.3fr;
}

.mega-menu__nav {
    font-size: 19px;
    color: var(--color-light);
    padding: 48px;
    display: flex;
    flex-direction: column;
}

.mega-menu__nav h3 {
    font-size: 32px;
    color: inherit;
}

.mega-menu__nav ul {
    padding: 0;
}

.mega-menu__nav li {
    border-left: 2px solid rgba(255, 255, 255, 0.3);
}

.mega-menu__nav li.is-active {
    border-left-color: var(--color-light);
}

.mega-menu__nav li a:after {
    display: none;
}

.mega-menu__list.mega-menu__list ul {
    margin-bottom: 0;
}

.mega-menu__inner {
    padding: 48px 76px;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
}

.mega-menu__tab {
    max-width: 882px;
    flex: 0 0 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    transform: translateX(var(--mega-menu-tab-offset));
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

li:hover > .mega-menu .mega-menu__tab.is-active {
    opacity: 1;
    pointer-events: auto;
}

.mega-menu__tab > .button {
    grid-column: 1 / -1;
}

@media all and (max-width: 1399px) {
    .mega-menu {
        position: relative;
        inset: auto;
        height: auto;
        border-radius: var(--border-radius-sm);
        overflow: hidden;
        display: none;
        pointer-events: auto;
        opacity: 1;
    }

    li.is-open > .mega-menu {
        display: grid;
    }

    .mega-menu:before {
        display: none;
    }

    .mega-menu__nav {
        padding: 24px;
    }

    .mega-menu__wrapper {
        height: auto;
        overflow: unset;
    }

    .mega-menu__inner {
        padding: 24px;
    }

    .mega-menu__tab {
        gap: 24px;
    }

    li.is-open > .mega-menu .mega-menu__tab.is-active {
        opacity: 1;
        pointer-events: auto;
    }
}

@media all and (max-width: 1023px) {
    .mega-menu__bg {
       display: none;
    }

    .mega-menu__wrapper {
        grid-template-columns: 1fr;
    }

    .mega-menu__nav {
        padding-bottom: 0;
    }

    .mega-menu__inner {
        display: block;
    }

    .mega-menu__tab {
        transform: unset;
        opacity: 1;
        pointer-events: auto;
    }

    .mega-menu__tab:not(.is-active) {
        display: none;
    }
}

@media all and (max-width: 575px) {
    .mega-menu__nav {
        padding: var(--spacing-indent) var(--spacing-indent) 0;
    }

    .mega-menu__inner {
        padding: var(--spacing-indent);
    }

    .mega-menu__tab {
        grid-template-columns: 1fr;
    }
}

/* ////// List Blocks ////// */
.list-blocks {
    background: var(--color-light);
    padding: 16px;
    border-radius: var(--border-radius-sm);
}

.list-blocks ul {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.list-blocks.list-blocks ul {
    margin-bottom: 0;
}

.list-blocks li {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--color-off-white);
    color: var(--color-dark);
    border-radius: var(--border-radius-sm);
    transition: background 0.3s, color 0.3s;
}

.list-blocks li:hover {
    background: var(--color-site);
    color: #fff;
}

.list-blocks.list-blocks li {
    padding: 16px;
}

.list-blocks strong {
    font-size: 17px;
    line-height: 1.2;
}

.list-blocks span {
    font-size: 15px;
    line-height: 1.5;
    color: var(--color-body-text-tint);
}

.list-blocks a {
    position: absolute;
    inset: 0;
}

.list-blocks li a:after {
    display: none;
}

/* ////// Featured Article ////// */
.featured-article {
    position: relative;
    background: var(--color-off-white);
    color: var(--color-dark);
    border-radius: var(--border-radius-sm);
    padding: 16px 16px 48px;
}

.featured-article p {
    font-size: 12px;
    color: var(--color-body-text-tint);
}

.featured-article h3 {
    font-size: 26px;
}

.featured-article__img {
    margin-bottom: 16px;
}

.featured-article__img img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9.7;
    border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
    object-fit: cover;
}

.featured-article__content {
    padding-inline: 12px;
}

.featured-article__link {
    position: absolute;
    inset: 0;
}

.featured-article__link.featured-article__link:after {
    display: none;
}

@media all and (max-width: 1023px) {
    .featured-article {
        padding-bottom: 24px;
    }

    .featured-article__content {
        padding-inline: 0;
    }
}

/* ////// Image Button ////// */
.image-button {
    display: block;
    background: linear-gradient(to bottom right, var(--color-senary), var(--color-quaternary));
    border-radius: var(--border-radius-sm);
    margin-top: auto;
}

.image-button.image-button {
    display: block;
    height: auto;
}

.image-button.image-button:after {
    display: none;
}

.image-button figure {
    display: flex;
    justify-content: space-between;
}

.image-button img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
}

.image-button span {
    font-size: 18px;
    padding: 10px;
    display: block;
}

@media all and (max-width: 1199px) {
    .image-button span {
        padding-inline: 0;
    }
}

/* ////// Map ////// */

.map {
    height: 600px;
}

/* ////// Popup map ////// */

.popup-map {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.popup-map img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 40px;
    object-fit: contain;
}
.popup-map h5 {
    font-size: 14px;
    padding: 0;
}
.popup-map p {
    font-size: 12px;
}
.gm-style-iw.gm-style-iw-c {
    width: 200px;
    max-width: 80vw;
}

/* ////// Map Locations ////// */

.map-locations {
    overflow: hidden;
    padding-top: var(--spacing-md);
}
.map-locations__nav {
    margin-bottom: var(--spacing-micro);
}
.map-locations__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.map-locations__nav li {
    padding: 0;
    margin: 0;
    flex: 1;
}
.map-locations__nav li::marker {
    content: '';
}
.map-locations__nav a {
    padding: var(--spacing-micro);
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 0;
    text-transform: uppercase;
    transition: color .3s ease, background .3s ease, border .3s ease;
}
.map-locations__nav a:hover,
.map-locations__nav .is-active a {
    border: 0;
    background: var(--color-quinary);
    color: var(--color-light);
}
.map-locations__inner {
    position: relative;
}
.map-locations__map {
    width: 100%;
    height: 600px;
    transition: width 1s ease;
}
.map-locations__inner.is-open .map-locations__map {
    width: 50%;
}
.map-locations__content {
    background: var(--color-light);
    padding: var(--spacing-xs);
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    overflow: auto;
    transform: translateX(100%);
    transition: transform 1s ease;
    font-size: var(--font-size-xs);
}
.map-locations__inner.is-open .map-locations__content {
    transform: unset;
}
.map-locations__content:before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--color-light);
    opacity: 0.7;
    transition: opacity 0.3s ease;
}
.map-locations__content:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    aspect-ratio: 1 / 1;
    border: 4px solid var(--color-light-grey);
    border-bottom-color: transparent;
    border-radius: 50%;
    transition: opacity 0.3s ease;
    animation: spinner 1s linear infinite;
}
.map-locations__content:not(.is-loading):before,
.map-locations__content:not(.is-loading):after {
    pointer-events: none;
    opacity: 0;
}
.map-locations__content h3,
.map-locations__content h4 {
    margin-bottom: var(--spacing-micro);
}
.map-locations__content h3:last-child,
.map-locations__content h4:last-child {
    margin-bottom: 0;
}
.map-locations__content h3 {
    text-transform: uppercase;
}
.map-locations__content > p {
    margin-bottom: var(--spacing-micro);
}
.map-locations__content > p:last-child {
    margin-bottom: 0;
}
.map-locations__content ul {
    list-style: none;
    padding: 0;
    margin-block: var(--spacing-micro);
}
.map-locations__content ul:first-child {
    margin-top: 0;
}
.map-locations__content ul:last-child {
    margin-bottom: 0;
}
.map-locations__content ul.is-blue {
    color: var(--color-quaternary);
}
.map-locations__content li {
    padding: 0;
    margin: 0;
}
.map-locations__content li::marker {
    content: '';
}
.map-locations__content li + li {
    margin-top: 6px;
}
.map-locations__content a {
    border: 0;
}
.map-locations__content a:hover {
    border: 0;
}
.map-locations__content .button-holder {
    gap: var(--spacing-micro);
}
.map-locations__content .button {
    padding: 10px;
}

@keyframes spinner {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@media all and (max-width: 767px) {
    .map-locations__nav ul {
        flex-direction: column;
    }
    .map-locations__nav li {
        flex: unset;
    }

    .map-locations__map {
        height: 400px;
    }
}

@media all and (max-width: 575px) {
    .map-locations__inner.is-open .map-locations__map {
        width: 100%;
    }

    .map-locations__content {
        width: 100%;
    }
}

/* ////// Map List ////// */
.map-list__map {
    height: 600px;
}
.map-list__cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
.map-list__col h3 {
    font-size: var(--font-size-xxs);
    text-transform: uppercase;
}
.map-list__col ul {
    font-size: var(--font-size-xs);
}
.map-list__col li {
    margin-bottom: 0.7ch;
}

@media all and (max-width: 767px) {
    .map-list__cols {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media all and (max-width: 375px) {
    .map-list__cols {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* ////// External Light Box ////// */

.external-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 105;
	width: 100%;
	height: 100%;
	background: rgba(0, 33, 69, 0.8);
	display: flex;
	visibility: hidden;
	opacity: 0;
	filter: alpha(opacity=0);
}

.external-lightbox.open {
	opacity: 1;
	filter: alpha(opacity=100);
	visibility: visible;
}

.external-lightbox .container {
	width: 50%;
	padding: 30px;
	background: var(--color-light);
	align-self: center;
	margin: 0 auto;
	position: relative;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	background-clip: padding-box;
}

.external-lightbox p {
	padding: 20px 0 30px;
}

@media all and (max-width: 767px) {
	.external-lightbox .container__actions .button {
		margin-bottom: 15px;
	}
}

/* ////// Forms ////// */

.forms__inner {
    margin-inline: auto;
}

.forms__form-confirmation {
    margin-top: var(--spacing-xxs);
}

.forms__form-confirmation:not(.is-open) {
    display: none;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework {
    display: flex;
    flex-direction: column;
}
.forms__head,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_heading {
    order: -1;
    text-align: center;
    max-width: 638px;
    margin-inline: auto;
    margin-bottom: var(--spacing-sm);
}

.forms__head h2,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_title {
    font-size: var(--font-size-xs);
    margin-bottom: var(--spacing-xxs);
}

.forms__head h2:last-child,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_title:last-child {
    margin-bottom: 0;
}

.forms__head,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_description {
    font-size: var(--font-size-xs);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework form {
    padding-top: var(--spacing-micro);
    border-top: var(--border-standard);
}

.forms .forms__form-confirmation div.gform_wrapper.gravity-theme.gform-theme--no-framework form {
    padding-top: var(--spacing-xxs);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=color],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=date],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=datetime-local],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=datetime],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=email],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=month],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=number],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=password],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=search],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=tel],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=text],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=time],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=url],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=week],
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework select,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework textarea,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework textarea.large,
.forms input,
.forms textarea {
    font-size: var(--font-size-xs);
    padding-inline: var(--spacing-micro);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=color]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=date]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=datetime-local]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=datetime]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=email]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=month]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=number]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=password]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=search]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=tel]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=text]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=time]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=url]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=week]::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework select::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework textarea::placeholder,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework textarea.large::placeholder,
.forms input::placeholder,
.forms textarea::placeholder {
    opacity: 0.5;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .ginput_container_fileupload {
    position: relative;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .ginput_container_fileupload:before {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    height: 50px;
    aspect-ratio: 1 / 1;
    background: var(--color-primary);
    pointer-events: none;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .ginput_container_fileupload:after {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    width: 30px;
    aspect-ratio: 1 / 1;
    background-image: url('./resources/images/icons/pdf-file.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    pointer-events: none;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_fileupload_rules {
    padding-top: 0;
    color: var(--color-body-text-tint);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=file] {
    height: 52px;
    border-radius: 0;
    padding-left: 45px;
    line-height: 32px;
    font-weight: 500;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework input[type=file]::file-selector-button {
    width: 0;
    height: 0;
    opacity: 0;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework select {
    color: rgba(0, 22, 44, 0.5);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gfield--type-section {
    padding-top: var(--spacing-xxs);
    margin-top: var(--spacing-micro);
    border-bottom: 0;
    border-top: var(--border-standard);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gfield--type-section.gsection--small,
.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gfield--type-section:first-child {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gsection_title {
    font-size: var(--font-size-sm);
}

.forms div.gform_wrapper.gravity-theme.gform-theme--no-framework .gsection--small .gsection_title {
    font-size: var(--font-size-micro);
}

.forms .gform_wrapper.gravity-theme .gfield_label {
    font-size: var(--font-size-micro);
    font-weight: 400;
    margin-bottom: 0;
}

.forms .gform_wrapper.gravity-theme .gfield_radio,
.forms .gform_wrapper.gravity-theme .gfield_checkbox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-micro);
}

.forms .gform_wrapper.gravity-theme .gfield--type-radio legend,
.forms .gform_wrapper.gravity-theme .gfield--multi_choice legend {
    margin-bottom: 0.7ch;
}

.forms .gform_wrapper.gravity-theme .gfield_radio .gchoice {
    position: relative;
}

.forms .gform_wrapper.gravity-theme .gfield_radio input,
.forms .gform_wrapper.gravity-theme .gfield_checkbox input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
}

.forms .gform_wrapper.gravity-theme .gfield_radio label,
.forms .gform_wrapper.gravity-theme .gfield_checkbox label {
    max-width: unset;
    border: var(--border-standard);
    border-radius: var(--border-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    padding: max(15px, calc(0.7 * var(--spacing-xxs))) max(20px, calc(0.7 * var(--spacing-smd)));
}

.forms .gform_wrapper.gravity-theme .gfield_radio input:checked + label,
.forms .gform_wrapper.gravity-theme .gfield_checkbox input:checked + label {
    background: var(--color-dark);
    color: var(--color-light);
}

.forms .gform_wrapper.gravity-theme .gform_page_footer {
    display: flex;
    flex-direction: column;
}

.forms .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button {
    order: 1;
}

.forms .gform_wrapper.gravity-theme .gfield_validation_message {
    display: none;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-week-end {
    display: none;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-today .ui-state-default {
    border-color: #607382;
}

@media all and (max-width: 575px) {
    .forms .gform_wrapper.gravity-theme .gfield_radio label,
    .forms .gform_wrapper.gravity-theme .gfield_checkbox label {
        padding: 15px;
        white-space: unset;
    }
}

p.h3 {
	color: #4d535f;
	font: 400 22px/30px "Exo", sans-serif;
	margin: 7px 0;
	text-transform: uppercase;
}

.gallery-main{
	position: relative;
}
.gallery-main--inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.gallery-main--inner a{
	display:block;
	flex:1 0 calc(100% / 3);
	height:300px;
	padding:7.5px;
}
.gallery-main--inner a img{
	height:100%;
	width:100%;
	pointer-events:none;
	object-fit:cover;
	-webkit-transition: all 130ms cubic-bezier(0.694, 0.0482, 0.335, 1);
	-moz-transition: all 130ms cubic-bezier(0.694, 0.0482, 0.335, 1);
	-ms-transition: all 130ms cubic-bezier(0.694, 0.0482, 0.335, 1);
	-o-transition: all 130ms cubic-bezier(0.694, 0.0482, 0.335, 1);
	transition: all 130ms cubic-bezier(0.694, 0.0482, 0.335, 1);
}
.gallery-main--inner a:hover img{
	opacity:.5;
	transform:scale(1.02);
}
@media (max-width: 767px) {
	.gallery-main--inner a{
		display:block;
		width:50%;
		height:200px;
		padding:7.5px;
	}
}

/* ////// Archive clients ////// */

.archive-clients {
    overflow: hidden;
}

/* ////// Slider Clients ////// */

.slider-clients__clip {
    overflow: visible;
}

.slider-clients .slider-arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.slider-clients .next-arrow {
    left: auto;
    right: 0;
}

/* ////// Video Embed ////// */

.video-embed {
    max-width: var(--width-wide);
    margin-inline: auto;
}

.video-embed iframe,
.video-embed video {
    width: 100%;
    height: auto;
}

.video-embed__btn {
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #1AB7EA;
    transition: opacity 0.3s ease;
}

.video-embed.has-played .video-embed__btn {
    opacity: 0;
}

.video-embed__btn:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    width: 40%;
    height: auto;
    aspect-ratio: 1 / 1.5;
    background: #fff;
    clip-path: polygon(0% 0%, 100% 50%, 100% 50%, 0% 100%);   
}

/* ////// App Popup ////// */

.app-popup {
	position: fixed;
	z-index: 110;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	transition: opacity 0.3s;
}

.app-popup:not(.is-open) {
    pointer-events: none;
    opacity: 0;
}

.app-popup__container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
    padding: 50px 20px 20px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.app-popup__container:has(.video-popup) {
    max-width: 1024px;
}

.app-popup__bg {
	position: absolute;
	inset: 0;
	background: var(--color-dark);
    opacity: 0.9;
}

.app-popup__bg:before,
.app-popup__bg:after {
    content: '';
    position: absolute;
    top: 16px;
    right: 24px;
    width: 5px;
    height: 30px;
    background: #fff;
    transform: rotate(45deg);
    pointer-events: none;
}

.app-popup__bg:after {
    transform: rotate(135deg);
}

.app-popup__inner {
	padding: 30px;
	width: 100%;
	max-height: 100%;
	overflow: auto;
    background: #fff;
}

.app-popup--transparent .app-popup__inner {
    background: transparent;
}

.app-popup.is-open .app-popup__inner {
    pointer-events: auto;
}

@media all and (max-width: 576px) {
    .app-popup__inner {
        padding: 20px;
    }
}

/* ////// Form Popup ////// */

.form-popup__img {
    max-width: 130px;
    margin-bottom: 20px;
}

.form-popup .gform_wrapper.gravity-theme .gform_title {
    font-size: 30px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.form-popup .gform_wrapper.gravity-theme .gform_description {
    font-size: 15px;
    color: #51596a;
    margin-bottom: 30px;
}

.form-popup .gform_wrapper.gravity-theme .gf_progressbar_blue {
    margin-bottom: 0;
    background: #e3e8ee;
    height: 6px;
}

.form-popup .gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    background: var(--color-primary);
    height: 6px;
}

.form-popup .gform_wrapper.gravity-theme .gf_progressbar_blue span {
    display: none;
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.form-popup .gform_wrapper.gravity-theme .gfield--type-radio legend,
.form-popup .gform_wrapper.gravity-theme .gfield--multi_choice legend {
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: var(--spacing-micro);
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio .gchoice {
    position: relative;
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio input,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio label,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox label {
    position: relative;
    padding-left: 33px;
    font-size: 18px;
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio label:before,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox label:before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: auto;
    aspect-ratio: 1 / 1;
    background: #E3E8EE;
    transition: background var(--theme-transition-duration);
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio input:checked + label:before,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox input:checked + label:before {
    background: var(--color-dark);
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio label:after,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox label:after {
    content: '';
    position: absolute;
    top: 3px;
    left: 7px;
    padding: 0 5px 12px 0;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.3s;
}

.form-popup .gform_wrapper.gravity-theme .gfield_radio input:checked + label:after,
.form-popup .gform_wrapper.gravity-theme .gfield_checkbox input:checked + label:after {
    opacity: 1;
}

.form-popup .gform_wrapper.gravity-theme .gform_page_footer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    border-top: 1px solid #E3E8EE;
    padding-block: 30px 0;
    margin-top: 30px;
}

.form-popup .gform_wrapper.gravity-theme .gform_page_footer input {
    margin: 0;
    padding: 15px 8px;
    min-height: auto !important;
    line-height: 1 !important;
}

.form-popup .gform_wrapper.gravity-theme .gform_previous_button.gform_previous_button {
    background: var(--color-off-white);
}

.form-popup .gform_wrapper.gravity-theme .gform_next_button {
    grid-column: 2 / 3;
}

@media all and (max-width: 641px) {
    .form-popup__img {
        margin-bottom: 10px;
    }

    .form-popup .gform_wrapper.gravity-theme .gform_title {
        font-size: 24px;
    }

    .form-popup .gform_wrapper.gravity-theme .gform_description {
        margin-bottom: 20px;
    }

    .form-popup .gform_wrapper.gravity-theme .gfield--type-radio legend,
    .form-popup .gform_wrapper.gravity-theme .gfield--multi_choice legend {
        font-size: 18px;
    }

    .form-popup .gform_wrapper.gravity-theme .gfield_radio label,
    .form-popup .gform_wrapper.gravity-theme .gfield_checkbox label {
        font-size: 14px;
        padding-left: 20px;
    }

    .form-popup .gform_wrapper.gravity-theme .gfield_radio label:before,
    .form-popup .gform_wrapper.gravity-theme .gfield_checkbox label:before {
        top: 3px;
        width: 15px;
    }

    .form-popup .gform_wrapper.gravity-theme .gfield_radio label:after,
    .form-popup .gform_wrapper.gravity-theme .gfield_checkbox label:after {
        top: 4px;
        left: 5px;
        padding: 0 4px 8px 0;
    }

    .form-popup .gform_wrapper.gravity-theme .gform_page_footer {
        padding-top: 16px;
        margin-top: 16px;
    }

    .form-popup .gform_wrapper.gravity-theme .gform_page_footer input {
        font-size: 14px;
    }
}

.spec-results p {
	margin-bottom: 15px;
}
.spec-results.related {
	margin-top: 70px;
}

.spec-results.related .spec-results-item {
	background: rgba(227, 232, 238, 0.5);
}

.spec-results.related .spec-results-item-thumb {
	display: none;
}

.spec-results-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
	margin-bottom: 15px;
}

.spec-results-title h3 {
	color: #002145;
	margin: 0 0 0px !important;
}


.spec-results-actions a {
	margin-left: 10px;
	display: inline-block;
}

.spec-results .spec-results-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	background: rgba(227, 232, 238, 0.5);
}

@media (max-width: 767px) {
	.spec-results .spec-results-item {
	  -webkit-box-orient: vertical;
	  -webkit-box-direction: normal;
		  -ms-flex-direction: column;
			  flex-direction: column;
	}
}

.spec-results .spec-results-item + .spec-results-item {
	margin-top: 10px;
}

.spec-results .spec-results-item-thumb {
	width: 250px;
	height: 180px;
	background: #51596a;
	-ms-flex-negative: 0;
		flex-shrink: 0;
}

@media (max-width: 767px) {
	.spec-results .spec-results-item-thumb {
	  width: 100%;
	}
}

.spec-results .spec-results-item-thumb img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.spec-results .spec-results-item-text {
	padding: 20px;
}

.spec-results .spec-results-item-text p {
	margin: 0;
}

.spec-results .spec-results-item-text p.h4 {
	color: #002145;
	margin-bottom: 15px;
}

.spec-results .spec-results-item:hover,
.spec-results .spec-results-item:focus {
	background: #d3dbe4;
}

.email-results {
	width: 500px;
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	text-align: left;
	background: #002145;
	padding: 30px;
	-webkit-transform: translateY(20px);
			-o-transform: translateY(20px);
			transform: translateY(20px);
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 200ms cubic-bezier(0.33, 1, 0.68, 1);
	-o-transition: all 200ms cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 200ms cubic-bezier(0.33, 1, 0.68, 1);
}

.email-results.active {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0px);
			-o-transform: translateY(0px);
			transform: translateY(0px);
}

.email-results-outer {
	position: relative;
}

.js-email-results-toggle {
	position: relative;
}

.email-results-title h4,
.email-results-title p {
	color: #fff;
	margin-bottom: 15px;
}

.email-results > span.js-email-results-toggle {
	position: absolute;
	top: 30px;
	right: 30px;
	opacity: .5;
	color: #fff;
	cursor: pointer;
}

.email-results > span.js-email-results-toggle:hover {
	opacity: 1;
}

.email-results .gform_wrapper .gfield_label,
.email-results .gform_wrapper .gfield-choice-input+label {
	color: #fff;
}

.email-results .gform_wrapper.gravity-theme .ginput_complex label {
	display: none;
}

.email-results .gfield_checkbox .gchoice {
  display: grid !important;
  grid-template-columns: auto 1fr;
  column-gap: 8px;
  align-items: start;
  max-width: 100%;
}

.email-results .gfield_checkbox .gchoice input[type="checkbox"] {
  margin: 3px 0 0 0;
  line-height: 1;
}

.email-results .gfield_checkbox .gchoice label {
  display: block !important;
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  max-width: 100%;
  white-space: normal;
}

.email-results .gfield_checkbox, .gchoice {
  text-align: left !important;
}

/* ////// Accordion Alt ////// */

.accordion-alt__section {
    border-bottom: 1px solid var(--color-secondary);
    padding-bottom: var(--spacing-xxs);
}
.accordion-alt__section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.accordion-alt__section + .accordion-alt__section {
    margin-top: var(--spacing-xxs);
}
.accordion-alt__head {
    cursor: pointer;
    position: relative;
    padding-right: 32px;
}
.accordion-alt__head::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 0;
    padding: 0 10px 10px 0;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    transition: transform 0.3s;
}
.accordion-alt__section.active .accordion-alt__head::after {
    transform: rotate(-135deg);
}
.accordion-alt__entry {
    font-size: 16px;
    padding-top: var(--spacing-xxs);
}
.accordion-alt__body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .3s ease;
}
.accordion-alt__body-inner {
	overflow: hidden;
}
.accordion-alt__section.active .accordion-alt__body {
    grid-template-rows: 1fr;
}

@media all and (max-width: 575px) {
    .accordion-alt__entry {
        font-size: 14px;
    }
}

/* ////// Video Popup ////// */

.video-popup {
    text-align: center;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.video-popup video,
.video-popup iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ////// Popup Member ////// */

.modal-member {
    display: grid;
    grid-template-columns: 2fr 5fr;
    align-items: center;
    gap: var(--spacing-xxs);
}

.modal-member__img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

@media all and (max-width: 575px) {
    .modal-member {
        grid-template-columns: 1fr;
    }
}

/* ////// Sections Links ////// */
.sections-links {
    padding: var(--spacing-smd) 0;
}

.sections-links__nav {
    display: flex;
    justify-content: center;
}

.sections-links ul {
    list-style: none;
    margin: 0;
    padding: 0 var(--spacing-indent);
    display: flex;
    overflow: auto;
}

.sections-links li {
    margin: 0;
    padding: 0;
    flex: 0 0 clamp(1px, 18.61vw, 268px);
}

.sections-links li::marker {
    content: '';
}

.sections-links a {
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, 1.11vw, 16px);
    padding: var(--spacing-xxs);
    position: relative;
    border: none;
    transition: color 0.3s ease;
}

.sections-links a:focus,
.sections-links a:hover {
    border: none;
}

.sections-links a:hover,
.sections-links .is-active a {
    color: var(--color-quaternary);
}

.sections-links a:before {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: currentColor;
    opacity: 0.3;
    transition: opacity 0.3s ease;
}

.sections-links .is-active a:before {
    opacity: 1;
}

.sections-links iconify-icon {
    width: 30px;
    height: 30px;
	font-size: 30px;
    color: var(--color-secondary);
}

iconify-icon {
    width: 50px;
    height: 50px;
	font-size: 50px;
}

/* Section Testimonial */

.section-testimonial__logo {
    max-width: 240px;
}

.section-testimonial__head h1 {
    font-size: var(--font-size-sm);
}