/* Dupreez theme overrides */

.top_section_main {
    z-index: 101;
}

#branding {
    display: none !important;
}

img {
    max-width: 100%;
    height: auto;
}

.ContentPageContent iframe {
    max-width: 100%;
}

.home .HeaderHolder .ContentPageHeader:empty {
    display: none !important;
}

.home .HeaderHolder:has(.ContentPageHeader:empty) {
    display: none;
}

/* Primary navigation — bar layout + active state */
.logo_nav #navigation {
    clear: both;
    width: 100%;
}

#navigation ul.level1 {
    padding: 9px 0 0 0;
}

#navigation li:hover,
#navigation li.current-menu-item,
#navigation li.current-menu-ancestor {
    background: transparent !important;
}

#navigation a.level1 {
    box-sizing: border-box;
    padding: 24px 24px 0 15px;
    height: 26px;
    line-height: 1.2;
}

#navigation a.level1:hover,
#navigation a.level1.selected,
#navigation li.current-menu-item > a.level1,
#navigation li.current-menu-ancestor > a.level1 {
    background: #ef4d0a;
    color: #fff;
    padding-bottom: 12px;
    height: auto;
}

#navigation li .selected {
    height: auto !important;
    background: #ef4d0a !important;
}

/* Primary navigation — dropdown (Services submenu) */
#navigation ul.level1 > li.menu-item-has-children {
    position: relative;
}

#navigation ul.level1 > li > ul.sub-menu,
#navigation ul.level1 > li > ul.level2 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    margin: 0;
    padding: 0;
    list-style: none;
    z-index: 99999;
    background: #ef4d0a;
    text-align: left;
}

#navigation ul.level1 > li:hover > ul.sub-menu,
#navigation ul.level1 > li:hover > ul.level2,
#navigation ul.level1 > li:focus-within > ul.sub-menu,
#navigation ul.level1 > li:focus-within > ul.level2 {
    display: block;
}

#navigation ul.sub-menu > li,
#navigation ul.level2 > li {
    float: none !important;
    display: block !important;
    width: 100%;
    background: none !important;
    padding: 0 !important;
}

#navigation ul.sub-menu a,
#navigation ul.sub-menu a.level2,
#navigation a.level2 {
    display: block !important;
    float: none !important;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: auto;
    padding: 10px 12px !important;
    line-height: 1.3;
    text-align: left;
    font-size: 12px;
    text-transform: uppercase;
    background: #ef4d0a;
    color: #fff;
}

#navigation ul.sub-menu a:hover,
#navigation a.level2:hover {
    background: #d94409;
    color: #fff;
}

#navigation a.level1[title="Services"]:after,
#navigation li.menu-item-has-children > a.level1:after {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: inline-block;
    height: 7px;
    width: 7px;
    margin-left: 6px;
    transform: rotate(45deg);
    vertical-align: middle;
    position: static;
    top: auto;
    right: auto;
}

/* Homepage layout — service boxes + two-column content */
.home .main_container {
    overflow-x: visible;
}

.home .middle_section {
    position: relative;
    margin-top: -460px;
    z-index: 10;
}

.home #top_blocks {
    overflow: visible;
}

.home #top_block1,
.home #top_block2,
.home #top_block3,
.home #top_block4 {
    position: relative;
}

.home .top_block_tab {
    text-align: right;
    margin-bottom: -12px;
    position: relative;
    z-index: 2;
}

/* CmeGlobalCss banner row shrink-wrap (required for -102px tab offset) */
.home .top_block_tab .BannerHolder {
    position: relative;
    width: 100%;
}

.home .top_block_tab .BannerRow {
    display: table;
    margin: 0 auto;
}

.home .top_block_tab .BannerColumnImageHolder {
    float: right;
    margin-right: -102px;
}

.home .top_block_tab img {
    display: block;
    max-width: none;
    width: 120px;
    height: 33px;
}

.home .top_block_content {
    height: 335px;
    background-color: #000;
    background-image: url('../images/layout/light_grey.png');
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
}

.home .top_block_content img {
    max-width: none;
    height: auto;
}

.home .top_block_content td {
    color: #fff;
    padding: 8px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 21px;
}

.home .read_more {
    position: absolute;
    bottom: 20px;
    right: 21px;
    left: auto;
    width: auto;
    text-align: right;
    z-index: 3;
}

.home .read_more a {
    color: #fff;
    font-size: 12px;
}

.home .content_bg {
    padding-top: 5%;
    clear: both;
    width: 100%;
    background: #fff;
    color: #000;
}

.home #content.container {
    margin-top: 56px;
    overflow: hidden;
}

.home #left_content,
.home #main_content {
    font-size: 13px;
    line-height: 20px;
    color: #000;
}

.home #left_content {
    position: relative;
}

.home .content_bg h1,
.home .content_bg h2 {
    color: #000;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: lighter;
}

.home .content_bg h1 {
    font-size: 30px;
    margin-top: -10px;
}

.home .content_bg h2 {
    font-size: 18px;
}

.home .content_bg a {
    color: #1078ba;
}

.home .content_bg a:hover {
    color: #ef4d0a;
}

.home #left_content img[style*="float: left"],
.home #left_content img[style*="float: right"] {
    max-width: none;
    width: 180px;
    height: 118px;
}

.home #main_content .ContentPageContent {
    padding: 0 8px;
}

.home #main_content .content-control {
    color: #000;
}

.home .bottom_left_content {
    position: relative;
}

.home .bottom_left_content iframe {
    display: block;
    width: 65%;
    max-width: 100%;
    height: 260px;
    min-height: 200px;
    border: 0;
}

.home .bottom_left_content img {
    max-width: 30%;
    width: 30%;
    height: auto;
}

.home .link {
    position: absolute;
    bottom: 42px;
    left: 303px;
    z-index: 2;
}

.home .link img {
    max-width: none;
    width: auto;
    height: auto;
}

.home .bottom_border_blue {
    background: url('../images/layout/blue_bottom_border.png') center center no-repeat;
    height: 1px;
    margin-bottom: 30px;
}

/* Inner pages — hero overlap, service tabs, content column */
body:not(.home) .dog img {
    width: 100%;
    height: auto !important;
    min-height: 0;
    max-height: none;
}

body:not(.home) .dog {
    z-index: 0;
    margin-top: -50px;
}

body:not(.home) .middle_section {
    position: relative;
    margin-top: -36px;
    z-index: 10;
}

body:not(.home) #tab_holder {
    text-align: center;
}

body:not(.home) #tab_holder .BannerRow {
    display: table;
    margin: 0 auto;
}

body:not(.home) #tab_holder .tabs {
    float: right;
}

body:not(.home) #tab_holder .BannerColumnImageHolder img {
    display: block;
    max-width: none;
    width: 120px;
    height: 33px;
}

body:not(.home) .content_bg {
    width: 100%;
    background: #fff;
    color: #000;
    padding-top: 0 !important;
}

body:not(.home) #content.container {
    margin-top: 26px;
    overflow: hidden;
}

body:not(.home) #main_content {
    font-size: 13px;
    line-height: 20px;
    color: #000;
}

#main_content div,
#main_content td {
    font-size: 13px !important;
    line-height: 20px !important;
    font-family: helvetica !important;
}

body:not(.home) .ContentPageHeader {
    float: left;
    color: #1078ba;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 30px;
    margin-bottom: 12px;
}

body:not(.home) .HeaderHolder {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin-bottom: 12px;
    clear: both;
}

body:not(.home) .HeaderHolder .ContentPageHeader {
    float: none;
    margin-bottom: 0;
}

body:not(.home) #main_content td div.HeaderHolder .ContentPageHeader {
    color: #1078ba;
    font-size: 30px !important;
    margin-bottom: 12px !important;
}

body:not(.home) .HeaderHolder .ReturnToParent {
    float: none;
    flex-shrink: 0;
    margin-left: auto;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: #1078ba;
    text-decoration: none;
    white-space: nowrap;
}

body:not(.home) .HeaderHolder .ReturnToParent:hover {
    color: #ef4d0a;
}

body:not(.home) #main_content .content-control,
body:not(.home) #main_content .ContentPageContent {
    color: #000;
}

body:not(.home) .blue_section {
    background: #ef4d0a;
    min-height: 182px;
    margin-bottom: 15px;
}

body:not(.home) #blue_section_content,
body:not(.home) #blue_section_content .ContentPage,
body:not(.home) #blue_section_content div,
body:not(.home) #blue_section_content td,
body:not(.home) #blue_section_content p {
    color: #fff;
}

body:not(.home) #blue_section_content h2 {
    font-weight: lighter;
    font-size: 30px;
    margin-top: 48px;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
}

body:not(.home) #blue_section_content {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
}

body:not(.home) #cnt_bottom_imgs {
    border-top: 5px solid #000;
    border-bottom: 5px solid #000;
    margin-bottom: 15px;
    height: 218px;
}

/* Footer */
#btm_nav .footer-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

#btm_nav .footer-nav {
    flex: 1 1 auto;
    min-width: 0;
}

#btm_nav .DefaultNavigationMenu {
    display: block;
    float: none;
    text-align: left;
}

#btm_nav ul.level1 {
    margin: 0;
    padding: 9px 0 0;
}

#btm_nav ul.level1 > li > ul.sub-menu,
#btm_nav ul.level1 > li > ul.level2 {
    display: none !important;
}

#btm_nav li.menu-item-has-children > a.level1:after,
#btm_nav a.level1[title="Services"]:after {
    display: none !important;
}

#btm_nav li:hover {
    background: transparent !important;
}

#btm_nav a.level1 {
    box-sizing: border-box;
    padding: 12px 6px 0;
    height: 40px;
    line-height: 1.2;
}

#btm_nav a.level1.selected,
#btm_nav li.current-menu-item > a.level1,
#btm_nav li.current-menu-ancestor > a.level1 {
    color: #ef4d0a;
    background: transparent;
}

#btm_nav .footer-social-box {
    flex: 0 0 auto;
}

#btm_nav .footer-social-box ul li a img {
    max-width: 100%;
    height: auto;
}

#legal {
    overflow: hidden;
}

/* News page */
.dupreez-news-page .ContentPageHeader,
.dupreez-news-page #ctl00_ctl00_cphContentPlaceHolder_divPageHeader,
.dupreez-news-page span[id*="lblControlType"] {
    display: none !important;
}

.dupreez-news-page .NewsDisplayPage,
.dupreez-news-page .SingleNewsStoryHolder {
    width: 100%;
}

.dupreez-news-page .NewsDisplayToolbarRow td {
    vertical-align: middle;
    padding-bottom: 12px;
}

.dupreez-news-page .PagerContainerTable {
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 4px;
}

.dupreez-news-page .PagerCurrentPageCell .PagerHyperlinkStyle strong {
    display: inline-block;
    min-width: 24px;
    padding: 4px 8px;
    background: #ef4d0a;
    color: #fff;
    border-radius: 3px;
}

.dupreez-news-page .PagerOtherPageCells .PagerHyperlinkStyle {
    display: inline-block;
    min-width: 24px;
    padding: 4px 8px;
    color: #1078ba;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
}

.dupreez-news-page .PagerOtherPageCells .PagerHyperlinkStyle:hover {
    background: #ef4d0a;
    border-color: #ef4d0a;
    color: #fff;
}

.dupreez-news-page .NewsFilterCategory,
.dupreez-news-page .NewsDisplayArchive,
.dupreez-news-page .NewsDisplayPageSize {
    display: inline-block;
    min-width: 110px;
    padding: 4px 8px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
    border: 1px solid #ccc;
    background: #fff;
    margin-left: 6px;
}

.dupreez-news-page .NewsDisplayCategoryHolder,
.dupreez-news-page .NewsDisplayArchiveHolder,
.dupreez-news-page .NewsDisplayPageSizeHolder {
    padding-left: 8px;
}

.dupreez-news-page .dupreez-news-filter-form {
    display: inline;
    margin: 0;
}

.dupreez-news-page .NewsDisplayDataHolder {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 32px;
    padding-top: 8px;
}

.dupreez-news-page .NewsDisplayDataTable {
    width: 100%;
    height: 100%;
}

.dupreez-news-page .NewsDisplaySeperator {
    display: none;
}

.dupreez-news-page .NewsDisplayImage,
.dupreez-news-page .NewsSingleDisplayImage {
    border: 2px solid #333;
    margin: 5px;
    vertical-align: top;
}

.dupreez-news-page .NewsDisplayHeader,
.dupreez-news-page .NewsSingleDisplayHeader {
    font-family: "Century Gothic", sans-serif, Arial, sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.dupreez-news-page .NewsDisplayDate,
.dupreez-news-page .NewsSingleDisplayDate {
    font-family: "Century Gothic", sans-serif, Arial, sans-serif;
    font-size: 14px;
    font-weight: bold;
    color: #333;
}

.dupreez-news-page .NewsDisplayInfo,
.dupreez-news-page .NewsSingleDisplayInfo {
    font-family: "Century Gothic", sans-serif, Arial, sans-serif;
    font-size: 14px;
    color: #333;
}

.dupreez-news-page .NewsDisplayReadMore {
    color: #ef4d0a !important;
    font-weight: bold;
    text-decoration: none;
    margin-left: 4px;
}

.dupreez-news-page .NewsDisplayReadMore:hover {
    color: #c94108 !important;
    text-decoration: underline;
}

.dupreez-news-page .NewsSingleDisplayBackToNews {
    color: #1078ba;
    font-weight: bold;
    text-decoration: none;
}

.dupreez-news-page .NewsSingleDisplayBackToNews:hover {
    color: #ef4d0a;
}

.dupreez-news-page .NewsSingleDisplayInfo a {
    color: #1078ba;
    text-decoration: underline;
}

.dupreez-news-page .NewsSingleDisplayInfo a:hover {
    color: #ef4d0a;
}

/* Contact enquiry form */
.dupreez-contact-page .Registration_Holder h1,
.dupreez-contact-page .dupreez-enquiry-form h1 {
    font-family: "Century Gothic", sans-serif, Arial, sans-serif;
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin: 0 0 18px;
}

.dupreez-contact-page .dupreez-enquiry-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
    margin-bottom: 18px;
}

.dupreez-contact-page .registration_field_holder,
.dupreez-contact-page .registration_field_description {
    margin: 0;
}

.dupreez-contact-page .registration_field_label_holder {
    display: block;
}

.dupreez-contact-page .registration_label {
    display: block;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #333;
    margin-bottom: 6px;
}

.dupreez-contact-page .dupreez-enquiry-input-wrap {
    width: 100% !important;
    height: auto !important;
    border: 0;
    padding: 0;
    background: transparent;
}

.dupreez-contact-page .dupreez-enquiry-input,
.dupreez-contact-page .registration_field_textarea,
.dupreez-contact-page .form_captcha_control_holder {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 8px 10px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #333;
    border: 1px solid #c8c8c8;
    border-radius: 8px;
    background: #fff;
}

.dupreez-contact-page .dupreez-enquiry-textarea {
    min-height: 140px;
    resize: vertical;
}

.dupreez-contact-page .registration_field_description {
    margin-bottom: 18px;
}

.dupreez-contact-page .form_captcha {
    margin: 8px 0 16px;
    padding-left: 0 !important;
}

.dupreez-contact-page .form_captcha_Image_holder {
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #c8c8c8;
    margin-right: 8px;
}

.dupreez-contact-page .dupreez-captcha-refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 12px;
    border: 1px solid #c8c8c8;
    border-radius: 6px;
    background: #fff;
    color: #333;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    vertical-align: middle;
}

.dupreez-contact-page .form_captcha_label_holder {
    display: block;
    margin: 10px 0 6px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #333;
}

.dupreez-contact-page .form_captcha_control_holder {
    max-width: 220px;
}

.dupreez-contact-page .dupreez-enquiry-submit-wrap {
    margin: 0;
}

.dupreez-contact-page .dupreez-enquiry-submit {
    padding: 8px 18px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #333;
    background: #efefef;
    border: 1px solid #bdbdbd;
    border-radius: 4px;
    cursor: pointer;
}

.dupreez-contact-page .dupreez-enquiry-submit:hover {
    background: #e4e4e4;
}

.dupreez-contact-page .dupreez-enquiry-message {
    margin: 0 0 16px;
    padding: 10px 12px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    list-style: none;
}

.dupreez-contact-page .dupreez-enquiry-message--success {
    color: #1f6b1f;
    background: #edf7ed;
    border: 1px solid #b7dfb7;
}

.dupreez-contact-page .dupreez-enquiry-message--error {
    color: #a12622;
    background: #fdeeee;
    border: 1px solid #efb5b5;
}

.dupreez-contact-page .CustomTextbox_Div_Holder table,
.dupreez-contact-page .CustomTextbox_Div_Holder td {
    width: 100% !important;
    display: block;
}

.dupreez-contact-page #ctl00_ctl34_pnlProgress {
    display: none !important;
}

/* Mobile */
@media (max-width: 959px) {
    #navigation .DefaultNavigationMenu > ul.level1 {
        display: none;
    }

    #btm_nav .footer-box {
        flex-direction: column;
        align-items: flex-start;
    }

    #btm_nav .footer-social-box ul {
        text-align: left;
    }

    .logo_nav {
        flex-wrap: wrap;
    }

    .home #left_content img[style*="float: left"],
    .home #left_content img[style*="float: right"],
    .ContentPageContent img[style*="float: right"],
    .ContentPageContent img[style*="float: left"] {
        float: none !important;
        display: block;
        margin: 0 auto 12px !important;
        width: auto;
        max-width: 100%;
    }

    .home .link {
        position: static;
        margin-top: 12px;
        text-align: center;
    }

    .home .bottom_left_content iframe,
    .ContentPageContent iframe {
        width: 100% !important;
        height: 250px;
    }

    .dupreez-news-page .NewsDisplayDataHolder {
        grid-template-columns: 1fr;
    }

    .dupreez-news-page .NewsDisplayToolbarRow,
    .dupreez-news-page .NewsDisplayToolbarRow tr {
        display: block;
    }

    .dupreez-news-page .NewsDisplayToolbarRow td {
        display: block;
        width: 100%;
        text-align: left !important;
        white-space: normal !important;
        padding-bottom: 8px;
    }

    .dupreez-contact-page .dupreez-enquiry-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .container {
        width: 100%;
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }
}
