/*
Theme Name: Dmac Theme
Theme URI: https://dmacmedia.com/ie/
Author: Dmac Media
Author URI: https://dmacmedia.com/ie/
Description: A Dmac WordPress theme.
Version: 1.0
License: GPL-2.0-or-later
Text Domain: dmac-theme
*/

html { scroll-behavior: smooth; scroll-padding-top: 100px; overflow-x: hidden; overflow-y: scroll; }
body.site-body{background: var(--site-background-colour); font-family: var(--primary-font); color: var(--text-colour); font-size: 1rem; line-height: 1.4; overflow: hidden;}
body.site-body *{box-sizing: border-box;}

/* DISPLAY CLASSES */
.full-width-fix { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; 
	margin-right: -50vw; }
.hidden { display: none; }
.hideImportant { display: none !important; }

a:focus-visible { background-color: #f9dc4a !important; color: #000 !important; outline: 1px solid #000 !important; }

a.skiptocontent { position: absolute; top: 0; left: 0; opacity: 0; width: 1px; height: 1px; }
a.skiptocontent:focus, a.skiptocontent:active { display: flex; align-items: center; justify-content: center; height: 30px; padding: 0 20px; border: 1px solid #000; background: #f9dc4a; color: #000; font-size: 0.875rem; font-weight: bold; opacity: 1; width: auto; z-index: 10000; }

img { max-width: 100%; max-height: 100%; }

h1, h2, h3, h4, h5, h6 { display: block; margin: 0 0 10px 0; font-weight:400; line-height: 1.4; font-family: var(--secondary-font); color: var(--primary-colour);}
#content-wrap h1 { font-size: 2.5rem; letter-spacing: 0.8px;}
#content-wrap h2 { font-size: 2rem; letter-spacing: 0.64px;}
#content-wrap h3 { font-size: 1.5rem; letter-spacing: 0.48px;}
#content-wrap h4 { font-size: 1.25rem; letter-spacing: 0.4px;}
#content-wrap h5 { font-size: 1.25rem; letter-spacing: 0.4px;}
#content-wrap h6 { font-size: 1.25rem; letter-spacing: 0.4px;}
p { padding:0; font-size: 1rem; line-height: 1.6; }
#content-wrap a:not([class]) { text-decoration: underline; color: var(--primary-colour);}
ul { list-style-position: outside; padding: 5px 0 0 20px; font-size: 1rem; color: inherit; list-style-type: disc; }
ul li { padding: 0 0 15px 0; line-height: 20px; }
ol { list-style-position: outside; padding: 5px 0 0 20px; font-size: 1rem; color: inherit; list-style-type: decimal; }
ol li { padding: 0 0 5px 0; }
hr { color: #D8D8D8; background: #D8D8D8; height: 1px; border: 0; margin-bottom: 20px; position: relative; }

#content-wrap{min-height: 600px;}

/*elementor*/
/*.elementor-element{padding: 0 !important;}*/
/*.elementor-element .e-con-inner{padding: 0 !important; gap:0 !important;}*/
.elementor-element.e-con-full{width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; padding: 0;}

.button-primary { display: inline-flex; align-items: center; justify-content: center; padding: 0px 20px; margin: 0; line-height: 1; height: 38px; 
    background: var(--primary-colour); text-align: center; color: #fff !important; text-decoration: none; transition: 0.2s ease-in all; font-size: 1rem; font-weight: 700;}
.button-primary:hover{color: #fff;}
.button-secondary {  display: inline-flex; align-items: center; justify-content: center; padding: 0px 20px; margin: 0; line-height: 1; height: 38px; 
    background: #fff; text-align: center; color: var(--primary-colour); text-decoration: none; transition: 0.2s ease-in all; 
    border: 1px solid var(--primary-colour); font-size: 1rem; font-weight: 700;}
.button-secondary:hover{color: var(--primary-colour);}

/*Sticky Header*/
.site-body.sticky .site-header{position: fixed; top: 0; left: 0; width: 100%;}
.site-body.sticky.admin-bar .site-header {top: 32px; }
.site-body.sticky #content-wrap{margin-top: 80px;}

/*Header*/
.site-header{z-index: 4000; position: relative; }
.header-wrap{height: 80px; position: relative; background: var(--header-colour);}
.header-wrap > div{display: flex; gap:20px; height: 100%; align-items: center; justify-content: space-between;}
.logo{height: 100%; flex-shrink: 0;}
.logo a{display: flex; align-items: center; height: 100%;}
.logo img{max-width: 100%; max-height: 90%; height: auto; width: auto;}
.header-right{display: flex; gap:20px; height: 100%; align-items: center;}
.header-action{display: flex; align-items: center; gap:10px;}

.search-toggle{height: 35px; width:35px; border-radius:100%; background:url(images/search.svg) center no-repeat; border: 1px solid var(--primary-colour);}
.close-search{height: 35px; width: 35px; border-radius: 100%; border: 1px solid #fff; background: url(images/close.svg) center no-repeat; flex-shrink: 0;}

.header-search{background: var(--primary-colour); position: absolute; top: 0; left: 0; width: 100%; font-family: var(--secondary-font); display: none;}
.header-search-top{display: flex; align-items: center; justify-content: space-between; padding: 20px 0 0 0;}
.header-search .search-container{height: 200px; display: flex; align-items: center; justify-content: center;}
.header-search form{display: flex; align-items: center; border-bottom: 2px solid #fff; width: 1000px; gap:10px;}
.header-search form label{margin: 0; flex-grow: 1;}
.header-search form input{background: none; color:#fff; font-size: 2.25rem; border: 0; width: 100%;}
.header-search form input::placeholder{color: inherit;}
.header-search form button{height: 35px; width: 35px; background: url(images/search.svg) center no-repeat #fff; flex-shrink: 0; outline: 0; border:0; border-radius: 100%; flex-shrink: 0;}
.header-search form button:focus-visible{outline: 2px solid #000;}
.header-search form .reset-field{height: 35px; width: 35px; background: url(images/close.svg) center no-repeat;}

.header-search input[type="search"]::-webkit-search-cancel-button {-webkit-appearance: none; appearance: none; display: none; } 
.header-search input[type="search"]::-ms-clear {display: none; width: 0; height: 0; }

/*Menu*/
.main-menu-wrap{position: relative; height: 60px; display: flex; align-items: center;}
.main-menu-wrap > div{height: 100%;}
.main-menu{display: flex; align-items: center; gap:20px; list-style: none; padding: 0; margin: 0; height: 100%;}
.main-menu li{padding: 0; position: relative;}
.main-menu li a{ font-size: 0.875rem; line-height: 22px; transition: ease-in-out all .3s; color: #fff; display: block; padding: 5px 0;}
.main-menu li a:hover{text-decoration: underline;}
.main-menu li.menu-open > a{}
.main-menu > li{height: 100%; display: flex; align-items: center;}
.main-menu > li > a{font-size: 1rem; color: var(--primary-colour); display: flex; align-items: center; gap:10px;}
.main-menu > li.menu-item-has-children > a::after{content: ""; height: 6px; width: 6px; border: solid var(--primary-colour); border-width: 0 2px 2px 0; transform: rotate(45deg);}
.main-menu > li.current_page_item > a{font-weight: bold;}
.main-menu li ul{list-style: none; margin: 0; padding:15px; position: absolute; left: 0; top: 100%; width: 300px; background:var(--primary-colour);  
    display: flex; flex-direction: column;}
.main-menu li ul li ul{left: 100%; top:0;}

.main-menu > li:last-child > ul{left: initial; right: 0;}
.main-menu > li:last-child > ul > li > ul{left: initial; right: 100%;}

/*Effect on sub menu*/
.main-menu li ul{visibility:hidden; opacity:0; transform: translateY(10px); transition: ease-in-out all .3s; z-index: -1; }
.main-menu li.menu-item-has-children:hover > ul, .main-menu li.menu-open > ul{visibility:visible; opacity:1; z-index: 1000; transform: translateY(0px);}

/*Overlay*/
.overlay { background: rgba(0, 0, 0, .3); position: fixed; top: 0; height: 100vh; width: 100%; left: 0; z-index: -1; visibility:hidden; 
    opacity:0; transition: ease-in-out all .4s;}
.overlay.hover { visibility:visible; opacity:1; z-index: 999;}

/*Footer*/
.site-footer{position: relative; z-index: 3000;display: flex; flex-direction: column; align-items: flex-start;}

/*Main Footer*/
.footer-wrap{background: var(--footer-colour); width: 100%; padding: 50px 0;}
.footer-wrap > div{display: flex; gap:20px;}
.footer-wrap > div > div{flex:1; display: flex; flex-direction: column; gap:10px;}
.footer-wrap > div > div.footer-intro{flex: initial; width: 40%;}
.footer-menu ul{padding: 0; margin: 0; list-style: none; display: flex; flex-direction: column; gap:15px;}
.footer-menu ul li{padding: 0; margin: 0; list-style: none;}
.footer-menu ul li a{color: var(--text-colour); text-transform: capitalize;}
.footer-menu ul ul{display: none;}
.footer-buttons{display: flex; flex-direction: column; gap:10px; width: 190px; margin-top: 10px;}
.footer-buttons a{width: 100%; padding: 0;}

.footer-outro > a{color: var(--primary-colour); display: flex; align-items: center; gap:10px; font-weight: bold; padding-bottom: 10px; 
    border-bottom: 1px solid var(--primary-colour);}
.footer-outro > a::after{content: ""; height: 10px; width: 10px; border: solid var(--primary-colour); transform: rotate(45deg); border-width: 3px 3px 0 0; }

/*Byline*/
.byline-wrap{background: var(--byline-colour); width: 100%; padding: 30px 0;}
.byline-wrap > div{display: flex; gap:20px; justify-content: space-between; align-items: center;}
.byline-menu{}
.byline-menu ul{list-style: none; padding: 0; margin: 0; display: flex; row-gap:15px; flex-wrap: wrap; justify-content: center;}
.byline-menu ul li{list-style: none; padding: 0; margin: 0;}
.byline-menu ul li a{ font-size: 1rem; color: var(--text-colour); padding: 0 0 0 20px; text-decoration: underline;}
.byline-menu ul ul{display: none;}
.byline-wrap p{padding: 0; margin: 0;}

/*Articles*/
.articles-search-page{margin: 20px 0;}
.articles-search-header{margin-bottom: 20px;}
.articles-list{display: flex; flex-direction: column; gap:15px;}
.article-details{margin: 20px 0;}

/********Modules*******/

/*Testimonials*/
.dmac-testimonials{position: relative;}
.dmac-testimonials .swiper-wrapper{align-items: center;}
.testimonial-item{padding:40px; display: flex; flex-direction: column; gap:20px;}
.testimonial-meta{display: flex; flex-direction: column;}
.testimonial-location{text-transform: uppercase;}
.testimonial-name{font-family: var(--secondary-font); font-size:1.75rem; }
.dmac-testimonials .tm-arrow{ position: absolute; top: calc(50% - 24px); height:48px; width:48px; border-radius:100%; border:1px solid #C90F13; }
.dmac-testimonials .tm-arrow::after{content: ""; height: 14px; width: 14px; transform: rotate(45deg); border: solid #C90F13; border-width: 3px 3px 0 0; position: absolute; right: 19px; top: 16px;}
.tm-arrow-next{right: -70px; }
.tm-arrow-prev{left: -70px; transform:rotate(180deg); }

/*FAQ*/
.dmac-faq-list{ padding: 50px 0; background: #F2F2F2; }
.dmac-faq-list > div{display:flex; flex-direction:column; gap: 10px; }
.dmac-faq-list .faq-item{padding: 20px 30px; background: #fff;}
.dmac-faq-list .faq-question{display: flex; justify-content: space-between; gap:10px; cursor: pointer;}
.dmac-faq-list .faq-question span{font-size: 1.75rem; color: var(--primary-colour); font-family: var(--secondary-font);}
.dmac-faq-list .faq-question a.toggle-faq{height: 38px; width: 38px; border-radius: 100%; border: 1px solid var(--primary-colour); background: url(images/plus.svg) center no-repeat; transition: ease-in-out all .2s; flex-shrink: 0;}
.dmac-faq-list .faq-question.active a.toggle-faq{background: url(images/minus.svg) center no-repeat;}
.dmac-faq-list .faq-answer{padding-top: 10px; display: none;}

/*Box Headings*/
.dmac-headings{width: 100%; display: flex; justify-content: center; padding: 20px 0; font-family: var(--secondary-font);}
.heading-items{display: flex; align-items: center; flex-wrap: wrap; align-items: stretch;}
.heading-item{ display: flex; align-items: center; justify-content: center; padding:10px; line-height: 1; border: 3px solid; margin: -1px; align-self: stretch; flex: 0 0 auto;}
.heading-big{font-size: 3.125rem; }
.heading-small{font-size: 1.875rem; text-decoration: underline;}

/*Image Block*/
.dmac-image-blocks{padding: 20px 0;}
.dmac-image-blocks > div{display: flex; flex-direction: column; gap:40px; align-items: center; justify-content: center; max-width: 1600px; padding: 0 15px; margin: 0 auto;}
.image-blocks{display: flex;}
.image-block{width: calc(100%/3); flex-shrink: 0; padding: 0 20px; border-left: 1px solid #000; display: flex; flex-direction: column; gap:40px;}
.image-block-image{aspect-ratio: 3/2; width: 100%; overflow: hidden !important; display: flex; justify-content: center;}
.image-block-image img{object-fit: cover; display: block;}
.image-block-content{display: flex; flex-direction: column; gap:10px;}
.image-block-content span{font-size: 1.75rem; font-family: var(--secondary-font);}
.image-block-content p{margin-bottom: 30px;}
.image-block-footer .image-block-button{line-height: 44px; border: 1px solid var(--text-colour); display: flex; padding: 0 18px; color: var(--text-colour) !important; font-weight: bold;} 

/*Colour Blocks*/
.dmac-colour-blocks{padding: 20px 0;}
.dmac-colour-blocks .colour-blocks{display: flex; gap: 30px;}
.dmac-colour-blocks .colour-block{display: flex; flex: 1 0 0; position: relative; flex-direction: column; justify-content: center; 
    padding: 20px 20px 15px 20px; gap:5px;}
.dmac-colour-blocks .colour-block a{display: flex; position: relative; flex-direction: column; justify-content: center; gap:5px;}
.dmac-colour-blocks .colour-block-image{background: #e1e1e1; aspect-ratio: 3/2.5; width: 100%; overflow: hidden !important; transition: ease-in-out all .2s;
    display: flex; justify-content: center;}
.dmac-colour-blocks .colour-block-image img{object-fit: cover;}
.dmac-colour-blocks .colour-block-title{text-align: center; font-size: 2.875rem; font-family: var(--secondary-font); transition: ease-in-out all .2s;}
.dmac-colour-blocks .colour-block-title-hover{opacity: 0; text-align: center; display: flex; align-items: center; justify-content: center; position: absolute;
    inset: 0; transition: ease-in-out all .3s; text-align: center; font-size: 2.875rem; font-family: var(--secondary-font); line-height: 1.2;}

.dmac-colour-blocks .with-hover:hover .colour-block-image{opacity: 0;}
.dmac-colour-blocks .with-hover:hover .colour-block-title{opacity: 0;}
.dmac-colour-blocks .with-hover:hover .colour-block-title-hover{opacity: 1;}

.dmac-colour-blocks .colour-block:nth-child(odd) {margin-top: 50px;}
.dmac-colour-blocks .colour-block:nth-child(even) {margin-bottom: 50px;}

/*Brochure*/
.dmac-brochure-slider{display: flex; flex-direction: column; gap:30px; width: 100vw !important; max-width: 100vw !important; 
    position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; padding: 20px 15px;}
.dmac-brochure-slider .swiper{width: 100%;}
.dmac-brochure-slider .swiper-wrapper{align-items: initial;}
.dmac-brochure-slider .swiper-wrapper > div{height: auto;}
.dmac-brochure-slider .brochure-arrows{width: 100%; display: flex; align-items: center; justify-content: center;}
.dmac-brochure-slider .brochure-item{padding: 0 20px; border-left: 1px solid var(--primary-colour); height: 100%; display: flex; flex-direction: column; gap:10px;
    align-items: flex-start;}
.dmac-brochure-slider .brochure-title{font-family: var(--secondary-font); color: var(--primary-colour); font-size: 1.75rem;}
.dmac-brochure-slider .brochure-image{ aspect-ratio: 2.5/3; width: 100%; overflow: hidden !important; transition: ease-in-out all .2s;
    display: flex; justify-content: center;}
.dmac-brochure-slider .brochure-image img{object-fit: cover;}
.brochure-download{display: flex; align-items: center; gap:5px; line-height: 30px; border-bottom: 1px solid var(--primary-colour); 
    color: var(--primary-colour); font-weight: bold;}
.brochure-download::after{content: ""; height: 24px; width:24px; background:url(images/download.svg) center no-repeat; }

.brochure-arrows{display: flex; gap:10px;}

.brochure-arrows a{display: flex; height: 38px; width: 38px; border:1px solid var(--text-colour); border-radius:100%; 
    position: relative; transition: ease-in-out all .1s;}
.brochure-arrows a.brochure-arrow::after{content: ""; height: 10px; width: 10px; border: solid var(--text-colour); border-width:  3px 3px 0 0; transform: rotate(45deg); position: absolute; right: 15px; top: 13px;}
.brochure-arrows a.brochure-arrow-prev{transform: rotate(180deg);}
.brochure-arrows a.brochure-button-disabled{opacity: 0; pointer-events: none;}

/*Contact Form*/
.wpcf7-form{border: 1px solid #D9D9D9; padding: 30px; margin: 20px 0;}
.wpcf7-form label{width: 100%;}
.wpcf7-form :is(input, select){width: 100%; border: 1px solid #D9D9D9; height: 40px;}
.wpcf7-form textarea{width: 100%; height: 80px; border: 1px solid #D9D9D9; resize: none;}
.wpcf7-form input[type=submit]{color: #fff; border: 0; outline: 0; background: var(--primary-colour); height: 40px;}

/*Anchor*/
.dmac-anchor-nav{width: 300px; padding: 10px; background: #fff; z-index: 1000;}
.dmac-anchor-nav span{color: var(--text-colour); text-transform: uppercase; font-size: 14px; font-weight: normal; letter-spacing: 0.8;
    padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--primary-colour);}
.dmac-anchor-nav .anchor-links{display: flex; flex-direction: column; gap:10px; align-items: flex-start;}
.dmac-anchor-nav .anchor-links a{text-decoration: underline !important;}

.dmac-anchor-nav-inner {position: relative; display: flex; flex-direction: column;}
.dmac-anchor-nav.is-fixed {position: fixed; top:80px; width: 300px; }
body.admin-bar .dmac-anchor-nav.is-fixed{top: 100px; }

/*Video Content*/
.dmac-video-content-block{display: flex; align-items: center; gap:20px; padding: 0;}
.dmac-video-content-block .content-wrapper{padding: 20px 40px; border-left: 1px solid var(--primary-colour); width: 40%; display: flex; flex-direction: column; gap:20px;}
.dmac-video-content-block .video-wrapper{flex: 1 0 0; position: relative;}
.dmac-video-content-block .video-wrapper iframe{aspect-ratio: 3/2;}
.dmac-video-content-block .video-overlay{position: absolute; inset: 0;}
.dmac-video-content-block .video-overlay > a{height: 48px; width: 48px; background: url(images/play.svg) center no-repeat #fff; border-radius: 100%; position: absolute; right: 20px; bottom: 20px;}
.dmac-video-content-block .video-overlay.playing > a{background-image: url(images/pause.svg);}
.dmac-video-content-block .video-headings{display: flex; flex-direction: column; gap:5px;}
.dmac-video-content-block .video-heading{ font-family: var(--secondary-font); color: var(--primary-colour); font-size: 3.75rem; line-height: 1.1;}
.dmac-video-content-block .video-preheading{margin: 0;}
.dmac-video-content-block .video-buttons{display: flex; align-items: center; gap:10px; margin-bottom: 50px;}
.dmac-video-content-block .video-buttons a{height: 44px;}
.dmac-video-content-block .video-sections{display: flex; gap:50px;}
.dmac-video-content-block .video-section{display: flex; align-items: center; gap:10px; border-bottom: 1px solid var(--primary-colour);}
.dmac-video-content-block .video-section span{color: var(--tertiary-colour); font-size: 3.125rem; font-family: var(--secondary-font);}
.dmac-video-content-block .video-section p{margin:0;}


/* --------------------------------------- */
/* -------- LARGE SCREEN >1200px --------- */
/* --------------------------------------- */

@media only screen and (min-width:1200px) {
    .mobile:not(.desktop-large), .tablet:not(.desktop-large), .desktop:not(.desktop-large), .desktop-hidden { display: none !important; }

    .container{max-width: 1400px !important;}
    .e-con-inner{max-width: 1400px !important;}

    .dmac-brochure-slider .swiper.has-few-slides .swiper-wrapper{justify-content: center;}

}

/* --------------------------------------- */
/*-------------DESKTOP < 1199px------------*/
/* --------------------------------------- */
@media (min-width:992px) and (max-width:1199px) {
    .mobile:not(.desktop), .tablet:not(.desktop), .desktop-large:not(.desktop), .desktop-hidden { display: none !important; }

    /*Header*/
    .logo img{max-width: 180px;}
    .main-menu > li > a{font-size: 0.875rem;}
    .header-action :is(.button-primary, .button-secondary){font-size: 0.875rem; padding: 0 10px;}

    /*Footer*/
    .footer-wrap > div > div.footer-intro{width: 30%;}
    .footer-intro p{font-size: 0.875rem;}
    .footer-menu ul li a, .footer-outro > a {font-size: 0.875rem;}

    /*Image Block*/
    .image-block{padding: 0 10px; gap:20px;}

    /*Colour Blocks*/
    .dmac-colour-blocks .colour-blocks{gap:10px;}
    .dmac-colour-blocks .colour-block{padding: 15px;}
    .dmac-colour-blocks .colour-block-title, .dmac-colour-blocks .colour-block-title-hover{font-size: 2rem;}

    /*Video Content*/
    .dmac-video-content-block{align-items: flex-start;}
    .dmac-video-content-block .content-wrapper{width: 50%; padding:10px 20px; }
    .dmac-video-content-block .video-heading{font-size: 3rem;}
    .dmac-video-content-block .video-buttons{margin: 0;}
    .dmac-video-content-block .video-sections{gap:15px;}

}

/* ------------------------------------------------- */
/* --------------TABLET & MOBILE ------------------- */
/* ------------------------------------------------- */

@media (max-width:991px) {
    .header-wrap{height: 50px;}
    .header-wrap > div{max-width: 100%; padding: 0 10px;}
    .logo img{max-width: 200px;}
    .header-action{gap:20px;}

    .site-body.sticky.admin-bar .site-header {top: 0; }
    .site-body.sticky #content-wrap{margin-top: 50px;}

    .menu-toggle{height: 34px; width: 34px; border-radius: 100%; border: 1px solid var(--primary-colour); display: flex; align-items: center; justify-content: center; z-index: 2000; position: relative;}
    .menu-toggle > div{display: flex; align-items: center; justify-content: space-between; flex-direction:column; 
        height:15px; width:18px; }
    .menu-toggle > div::before{content: ""; height: 3px; transition: ease-in-out all .2s; width: 18px; background: var(--primary-colour);}
    .menu-toggle > div::after{content: ""; height: 3px; transition: ease-in-out all .2s; width: 18px; background: var(--primary-colour);}
    .menu-toggle > div > div{width: 18px; height: 3px; transition: ease-in-out all .2s; background: var(--primary-colour); }

    .menu-toggle.active > div > div{opacity: 0;}
    .menu-toggle.active > div::before{ transform:rotate(45deg) translate(5px, 4px);}
    .menu-toggle.active > div::after{transform:rotate(-45deg) translate(5px, -4px);}

     /* ----- MOBILE MENU ----- */
    .responsive-menu-wrap{opacity: 0; z-index: -1; visibility: hidden; background: var(--primary-colour); width: 100%; position: absolute; top: 100%; right: 0;
        transition: ease-in-out all .2s; height: initial; max-height: calc(100vh - 50px); overflow-y: scroll;}
    .responsive-menu-wrap.open{opacity: 1; z-index: 1000; visibility: visible;}

    .menu-header{height: 80px;}
    .responsive-menu-wrap ul{list-style: none; padding: 0; margin: 0;}
    .responsive-menu li{list-style: none; padding: 0; display: flex; flex-direction: column; position: relative; }
    .responsive-menu li a{color: #fff; font-size: 1rem; padding: 10px; font-weight: 400; width: 100%; transition: ease-in-out all .2s;}
    .responsive-menu > ul ul{padding: 0;}
    .responsive-menu > li > a{font-weight: bold; font-size: 1.125rem;}
    .responsive-menu li ul li a{padding-left: 20px; background: #0158BD;}
    .responsive-menu li ul li ul li a{padding-left: 30px; background: #0158BD;}

    .sub-menu{display: none;}
    .responsive-menu li a.toggle-sub{height: 40px; width: 40px; position: absolute; right: 0; top: 0; padding: 0;}
    .responsive-menu li a.toggle-sub::after{content: ""; height: 10px; width: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
        transition: ease-in-out all .3s; position: absolute; right: 15px; top: 13px;}
    .responsive-menu li.open > a.toggle-sub::after{transform: rotate(225deg); top: 18px;}
    .responsive-menu li.open > a{background: #0158BD;}

    .menu-footer{padding: 20px 10px; display: flex; flex-direction: column; gap:20px; align-items: center; width: 100%;}
    .menu-buttons{display: flex; flex-direction: column; gap:10px; width: 100%;}
    .menu-buttons a{width: 100%; height: 44px;}
    .menu-buttons a.button-primary{border: 1px solid #fff;}
    .menu-footer a.close-menu{color: #fff; font-size: 0.75rem; line-height: 24px; text-decoration: underline;}
    .menu-footer a.close-menu:hover{color: #fff;} 

    /*Search Toggle*/
    .header-search{top:100%;}
    .header-search .search-container{height: 100vh; padding: 20px 0 0 0; align-items: flex-start; gap:10px;}
    .header-search form{width: 100%; border: 0; background: #fff; height: 46px; gap:0; border-radius: 2px;}
    .header-search form label{order: 2; height: 100%;}
    .header-search form input{color: var(--primary-colour); height: 100%; font-size: 1rem; font-family: var(--primary-font);}
    .header-search form .reset-field{order: 1; background: url(images/close-blue.svg) center no-repeat;}
    .header-search form button{order:3;}
    .close-search{height: 46px; width: 46px;}

    /*Testimonial Module*/
    .dmac-testimonials{padding-bottom: 60px;}
    .dmac-testimonials .tm-arrow{bottom: 0px; top: initial;}
    .dmac-testimonials .tm-arrow-prev{left: calc(50% - 55px); }
    .dmac-testimonials .tm-arrow-next{right: calc(50% - 55px); }

    /*Image Block*/
    .image-blocks{flex-direction: column; gap:40px;}
    .image-block{width: 100%;}

    /*Colour Blocks*/
    .dmac-colour-blocks .colour-blocks{gap:20px; flex-wrap: wrap; row-gap: 0;}
    .dmac-colour-blocks .colour-block{flex: initial; width: calc(50% - 10px);}
    .dmac-colour-blocks .colour-block-title, .dmac-colour-blocks .colour-block-title-hover{font-size: 2rem;}
    .dmac-colour-blocks .colour-block:nth-child(odd){margin-top: 20px;}
    .dmac-colour-blocks .colour-block:first-child{margin-top: 50px;}
    .dmac-colour-blocks .colour-block:nth-child(2){margin-bottom: 20px;}

    /*Contact Form*/
    .wpcf7-form{padding: 15px;}
    .wpcf7-form p{margin: 0;}

    /*Video Content*/
    .dmac-video-content-block{flex-direction: column; gap:40px;}
    .dmac-video-content-block .content-wrapper{width: 100%;}
    .dmac-video-content-block .video-wrapper {width: 100%;}

}

/* --------------------------------------- */
/* --------------TABLET------------------- */
/* --------------------------------------- */

@media (min-width:768px) and (max-width:991px) {
    .desktop-large:not(.tablet), .desktop:not(.tablet), .mobile:not(.tablet), .tablet-hidden { display: none !important; }

    .container{max-width: 768px !important;}

    /*Header*/
    .responsive-menu-wrap{width: 400px;}

    /*Footer*/
    .footer-wrap > div {gap:50px;}
    .footer-wrap > div > div.footer-intro{width: initial; flex: 1;}

}

@media (min-width:768px) and (max-width:991px) {

}

/* --------------------------------------- */
/* --------------MOBILE------------------- */
/* --------------------------------------- */

@media (max-width:767px) {
    .tablet:not(.mobile), .desktop:not(.mobile), .desktop-large:not(.mobile), .mobile-hidden { display: none !important; }

    body.site-body{font-size:0.875rem; }

    #content-wrap h1 { font-size: 2.125rem; }
    #content-wrap h2 { font-size: 1.875rem;}
    #content-wrap h3 { font-size: 1.375rem;}
    p, ul, ol{font-size: 0.875rem;}

    /*Header*/
    .logo img{max-width: 170px;}

    /*Footer*/
    .footer-wrap{padding: 20px 0;}
    .footer-wrap > div{flex-direction: column; gap:15px;}
    .footer-wrap > div > div.footer-intro{width: 100%; margin-bottom: 10px;}
    .footer-wrap > div > div.footer-intro p{padding: 0; margin: 0;}
    .footer-buttons{width: 100%; margin-bottom: 10px;}
    .footer-wrap > div > div.footer-outro{align-items: center;}

    /*Byline*/
    .byline-wrap{padding: 20px 0;}
    .byline-wrap > div{flex-direction: column; align-items: flex-start;}
    .byline-menu{order: 1;}
    .byline-menu ul{justify-content: flex-start; gap:10px;}
    .byline-menu ul li a{padding-left: 0; font-weight: bold;}
    .byline-wrap p{order: 2;}

    /*Testimonial Module*/
    .testimonial-item{padding: 20px;}

    /*FAQ*/
    .dmac-faq-list{padding: 20px 0;}
    .dmac-faq-list .faq-item{padding: 10px 15px;}
    .dmac-faq-list .faq-question span{font-size: 1.5rem;}
    .dmac-faq-list .faq-answer{font-size: 0.875rem;}

    /*Box Headings*/
    .dmac-headings{justify-content: flex-start; padding: 10px 15px;}
    .heading-big{font-size: 2rem;}
    .heading-small{font-size: 1.375rem;}

    /*Image Block*/
    .image-block{gap:20px;}

    /*Colour Blocks*/
    .dmac-colour-blocks .colour-blocks{gap:8px;row-gap: 0;}
    .dmac-colour-blocks .colour-block-title, .dmac-colour-blocks .colour-block-title-hover{font-size: 1.25rem;}
    .dmac-colour-blocks .colour-block{padding: 10px;}
    .dmac-colour-blocks .colour-block:nth-child(odd){margin-top: 8px;}
    .dmac-colour-blocks .colour-block:first-child{margin-top: 30px;}
    .dmac-colour-blocks .colour-block:nth-child(2){margin-bottom: 8px;}

    /*Anchor*/
    body.admin-bar .dmac-anchor-nav.is-fixed{top: 50px; }
    .dmac-anchor-nav.is-fixed{top: 50px; }

    /*Video Content*/
    .dmac-video-content-block .content-wrapper{padding: 0 15px;}
    .dmac-video-content-block .video-heading{font-size: 2.5rem;}
    .dmac-video-content-block .video-buttons{flex-direction: column; margin-bottom: 20px;}
    .dmac-video-content-block .video-buttons a{width: 100%;}
    .dmac-video-content-block .video-sections{gap:10px;}
    .dmac-video-content-block .video-section{flex-direction: column; align-items: flex-start; flex: 1 0 0; gap:0;}
    .dmac-video-content-block .video-section span{font-size: 2rem;}
    .dmac-video-content-block .video-wrapper iframe{height: 220px;}
    .dmac-video-content-block .video-overlay > a{right: 10px;; bottom: 10px;}

}