/* Yandisa Tony theme overrides */



.MasterFooterWebhouseLogo,

.MasterFooterIlinkLogo,

#branding,

#webhouse_logo {

    display: none !important;

}



body {

    margin: 0;

}



img {

    max-width: 100%;

    height: auto;

}



.ContentPageContent iframe,

.fb-page {

    max-width: 100%;

}



/* Top/bottom border strips — full viewport width */

#base,
#yandisatony-bottom {

    width: 100%;

    max-width: none;

    margin-top: 0;

    margin-left: 0;

    margin-right: 0;

    padding: 0;

    float: none;

    clear: both;

    box-sizing: border-box;

}



#base img,
#yandisatony-bottom img {

    display: block;

    width: 100%;

    height: auto;

    max-width: none;

}



#logo_section.container {

    width: 960px;

    max-width: 100%;

}



#logo {

    padding-top: 5px;

    padding-bottom: 5px;

}



#logo img {

    display: block;

}



#yandisatony-slicknav {

    display: none;

}



@media (max-width: 959px) {

    #yandisatony-slicknav {

        display: block;

    }



    #nav .DefaultNavigationMenu > ul.level1 {

        display: none;

    }



    #logo_section .six.columns {

        width: 100%;

    }

}



/* Primary navigation — live site uses table layout + green/grey underlines */

#nav {

    margin-top: 50px;

}



.DefaultNavigationMenu {

    width: 93%;

    text-align: center !important;

}



#nav ul.level1 {

    width: 100% !important;

    display: table;

    list-style: none;

    margin: 0;

    padding: 0;

}



#nav ul.level1 > li {

    display: table-cell !important;

    float: none !important;

    position: relative;

}



#nav a.level1,

#nav .DefaultNavigationMenu a.level1 {

    text-decoration: none;

    border-bottom: 2px solid #ebebeb;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 13px;

    padding: 0 0 7px;

    color: #2aaf4f;

    background: none !important;

}



#nav a.level1:hover,

#nav a.level1.selected,

#nav li.current-menu-item > a.level1,

#nav li.current-menu-ancestor > a.level1 {

    color: #5f5f5f;

    border-bottom-color: #2aaf4f;

    background: none !important;

}



#nav ul.level2,
#nav ul.sub-menu.level2,
#nav ul li ul {

    background: #fff !important;

    background-color: #fff !important;

    border: 1px solid #ebebeb;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);

    display: none;

    left: 0;

    list-style: none;

    margin: 10px 0 0 -22px;

    min-width: 250px;

    padding: 6px 0 10px;

    position: absolute;

    text-align: left;

    top: 100%;

    transform: none;

    width: auto !important;

    z-index: 9999;

}



#nav li:hover > ul.level2,
#nav li:hover > ul.sub-menu,
#nav li:focus-within > ul.level2,
#nav li:focus-within > ul.sub-menu {

    display: block;

}



#nav ul.level2 li,
#nav ul li ul li {

    display: block;

    float: none !important;

    clear: both;

}



#nav ul.level2 a.level2,
#nav ul.sub-menu a,
#nav ul li ul a {

    background: none !important;

    border-bottom: 0 !important;

    color: #2aaf4f !important;

    display: block;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 13px;

    padding: 8px 14px;

    text-decoration: none !important;

    white-space: nowrap;

}



#nav ul.level2 a.level2:hover,
#nav ul.sub-menu a:hover,
#nav ul li ul a:hover,
#nav ul.level2 a.level2.selected,
#nav ul.sub-menu .current-menu-item > a {

    background: none !important;

    color: #5f5f5f !important;

}



#nav li:has(> ul.level2):hover > a.level1,
#nav li:has(> ul.sub-menu):hover > a.level1,
#nav li.menu-item-has-children:hover > a.level1 {

    border-bottom-color: #2aaf4f;

    color: #2aaf4f;

}



/* Carousel — centred 960px grid (not full viewport) */

#slider.container {

    width: 960px;

    max-width: 100%;

    margin-left: auto;

    margin-right: auto;

    margin-bottom: 0;

    float: none;

    clear: both;

    position: relative;

    line-height: 0;

}



#slider #out-of-the-box-demo,

#slider .sy-box {

    width: 100%;

    max-width: 950px;

}



#slider img {

    display: block;

    width: 100%;

    height: auto;

}



#slider .sy-box {

    margin: 0 auto 0;

    overflow: hidden;

    padding-bottom: 0;

}



#slider .sy-slides-wrap,

#slider .sy-slides-crop {

    margin-bottom: 0;

    padding-bottom: 0;

}



/* Green banner — overlap carousel bottom like live site */

#bluebar.container {

    clear: both;

    float: none;

    width: 960px;

    max-width: 100%;

    margin: 10px auto 0;

    position: relative;

    z-index: 2;

    background-color: #2aaf4f;

    height: 80px;

    overflow: hidden;

}



#block_holder.container {

    clear: both;

    float: none;

    width: 960px;

    max-width: 100%;

    margin-left: auto;

    margin-right: auto;

    position: relative;

    z-index: 1;

}



#block_holder .block_content {

    padding-left: 11px;

    overflow: hidden;

    font-family: Helvetica, Arial, sans-serif;

    color: #fff;

    font-size: 12px;

    height: 213px;

    background-color: #bab5b5;

    margin-top: 5px;

    -webkit-transition: ease-out 1s;

    -moz-transition: ease-out 1s;

    -o-transition: ease-out 1s;

    transition: ease-out 1s;

}



/* Service block headings — ensure green centred labels win over inherited styles */

#block_holder .block_heading {

    color: #2aaf4f;

    text-align: center;

    font-size: 14px;

    font-family: Helvetica, Arial, sans-serif;

    font-weight: bold;

    text-transform: uppercase;

    background: #fff;

    height: 51px;

}



#block_holder .block_heading .ContentPage,

#block_holder .block_heading .ContentPage table,

#block_holder .block_heading .ContentPage td,

#block_holder .block_heading p {

    color: inherit;

    text-align: inherit;

    font-size: inherit;

    font-family: inherit;

    font-weight: inherit;

    text-transform: inherit;

    margin: 0;

}



#block_holder .block_content .content,

#block_holder .block_content .content td {

    font-family: Helvetica, Arial, sans-serif;

    color: #fff;

    font-size: 12px;

    font-weight: normal;

}



#gallery_control {

    box-sizing: border-box;

    clear: both;

    float: none;

    margin: 0 auto;

    max-width: 100%;

    padding: 0 10px;

    width: 960px;

}



#gallery_control .filter-options {

    margin: 12px 0 16px;

}



#gallery_control .filter-options .btn {

    background: #e8e8e8;

    border: 0;

    border-radius: 4px;

    color: #333;

    cursor: pointer;

    font-family: Helvetica, Arial, sans-serif;

    font-size: 14px;

    margin: 0 8px 8px 0;

    padding: 8px 16px;

}



#gallery_control .filter-options .btn.active {

    background: #2aaf4f;

    color: #fff;

}



#gallery_control #grid.row-fluid {

    display: flex;

    flex-wrap: wrap;

    margin: 0 -5px;

    width: 100%;

}



#gallery_control #grid.row-fluid .span3.picture-item {

    box-sizing: border-box;

    float: none;

    height: auto;

    margin: 0;

    overflow: hidden;

    padding: 5px;

    width: 25%;

}



#gallery_control .picture-item {

    cursor: pointer;

}



#gallery_control .itemSizing {

    height: 200px;

    overflow: hidden;

    width: 100%;

}



#gallery_control .itemSizing img {

    display: block;

    height: 200px;

    object-fit: cover;

    width: 100%;

}



@media (max-width: 991px) {

    #gallery_control #grid.row-fluid .span3.picture-item {

        width: 50%;

    }

}



@media (max-width: 575px) {

    #gallery_control #grid.row-fluid .span3.picture-item {

        width: 100%;

    }

}



#blueimp-gallery:not(.blueimp-gallery-display) {

    display: none !important;

    height: 0 !important;

    opacity: 0 !important;

    overflow: hidden !important;

    pointer-events: none !important;

    visibility: hidden !important;

}



#blueimp-gallery .modal {

    display: none !important;

}



.yandisatony-enquiry-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px 16px;

    margin-bottom: 12px;

}



.yandisatony-enquiry-form .registration_field_holder,

.yandisatony-enquiry-form .yandisatony-enquiry-field {

    display: block;

    width: 100% !important;

    max-width: none;

    margin: 0;

}



.yandisatony-enquiry-form .registration_label {

    display: block;

    margin-bottom: 4px;

    padding-left: 0;

}



.yandisatony-enquiry-form .yandisatony-enquiry-input,

.yandisatony-enquiry-form .form_captcha_control_holder {

    display: block;

    width: 100% !important;

    max-width: 100%;

    box-sizing: border-box;

    border: 1px solid #ccc;

    padding: 7px 8px;

    font-size: 14px;

    line-height: 1.4;

    background: #fff;

}



.yandisatony-enquiry-form .yandisatony-enquiry-textarea {

    display: block !important;

    width: 100% !important;

    max-width: 100%;

    min-height: 140px;

    box-sizing: border-box;

    border: 1px solid #ccc;

    padding: 8px;

    font-size: 14px;

    line-height: 1.4;

    margin-top: 0;

}



.yandisatony-enquiry-form .yandisatony-enquiry-field--message {

    margin-bottom: 12px;

}



.yandisatony-enquiry-form #yandisatony_divCaptcha.form_captcha {

    clear: both;

    margin-top: 8px;

}



.yandisatony-enquiry-form .form_captcha_Image_holder {

    display: inline-block;

    vertical-align: middle;

    border: 1px solid #ccc;

    background: #fff;

}



.yandisatony-enquiry-form .yandisatony-captcha-refresh {

    display: inline-block;

    vertical-align: middle;

    margin: 0 8px;

    padding: 4px 8px;

    border: 1px solid #ccc;

    background: #f5f5f5;

    cursor: pointer;

}



.yandisatony-enquiry-form .form_captcha_label_holder {

    display: block;

    margin: 8px 0 4px;

}



.yandisatony-enquiry-form .yandisatony-enquiry-submit-wrap {

    margin-top: 12px;

}



.yandisatony-enquiry-form .yandisatony-enquiry-submit {

    min-width: 120px;

}



@media (max-width: 767px) {

    .yandisatony-enquiry-grid {

        grid-template-columns: 1fr;

    }



    #base {

        width: 100%;

    }

}



.yandisatony-enquiry-message--success {

    color: #0a7a28;

}



.yandisatony-enquiry-message--error {

    color: #b00020;

}



/* Footer — match live iLink CME layout (960px centred container) */

.MasterFooter {

    position: relative;

    display: block;

    clear: both;

    width: 100%;

    max-width: 100%;

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



.MasterFooterHolder {

    width: 960px;

    max-width: 100%;

    margin-left: auto;

    margin-right: auto;

    padding: 0 5px;

    box-sizing: border-box;

}



.MasterFooterQuickLinkHolder {

    width: 100%;

}



.MasterFooterLegalHolder {

    width: 100%;

    min-height: 24px;

    position: relative;

}



.MasterFooterLegalHolder::after {

    content: "\20";

    display: block;

    height: 0;

    clear: both;

    visibility: hidden;

}



.MasterFooterCopyright {

    float: left;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 9px;

    font-weight: normal;

    line-height: 24px;

    margin-left: 0;

}



.MasterFooterCopyright a {

    padding-left: 3px;

    padding-right: 3px;

    color: inherit;

}



.MasterFooterCopyright a:hover {

    text-decoration: underline;

}



/* Homepage content typography — match live site */

#headingss,

h2#headingss {

    font-family: Helvetica, Arial, sans-serif !important;

}



#cont {

    line-height: 20px;

    font-family: 'Raleway', Arial, Helvetica, sans-serif;

    color: #404040;

    font-size: 14px;

    font-weight: 400;

}



h2#headingss {

    margin-left: 0;

    color: #404040;

    margin-bottom: 10px;

    font-size: 25px;

    margin-top: 0;

    font-weight: 300;

    padding-top: 0;

    display: block;

    clear: both;

    line-height: 1.3;

}



.container:has(> h2#headingss) {

    padding-top: 20px;

}



.container:has(> h2#headingss) br {

    display: none;

}



img#under,
#under {

    margin-left: 0 !important;

    margin-top: 0 !important;

    display: block;

    width: 100%;

    max-width: 950px;

    height: auto !important;

    margin-bottom: 16px;

    clear: both;

}



/* Meet The Team hover cards */

#team22.container {

    width: 100% !important;

    max-width: 960px;

    float: none;

    clear: both;

    margin-top: 20px;

    margin-bottom: 30px;

    padding-bottom: 10px;

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}



#cont #team22.container {

    margin-left: 0;

    margin-right: 0;

}



#team22 .three.columns {

    float: none !important;

    display: block;

    width: calc(25% - 8px) !important;

    margin: 0 !important;

    box-sizing: border-box;

}



#team22 .view {

    border: 1px solid #2aaf4f;

    margin-bottom: 0;

    width: 100%;

    box-sizing: border-box;

}



#team22 .view img {

    width: 100%;

    max-width: 220px;

    height: 170px;

    object-fit: cover;

    display: block;

}



#team22 .mask table {

    width: 100% !important;

    max-width: 220px;

    font-family: Helvetica, Arial, sans-serif;

}



#team22 .mask table a {

    color: #404040;

    font-size: 12px;

    text-decoration: none;

}



@media (max-width: 767px) {

    #team22 .three.columns {

        width: calc(50% - 8px) !important;

    }

}



@media (max-width: 479px) {

    #team22 .three.columns {

        width: 100% !important;

    }

}



/* Decorative border images under section headings — left-aligned like live site */

.ContentPageContent img[style*="width: 50%"],

.ContentPageContent img[style*="width:50%"],

.ContentPageContent img[style*="width: 45%"],

.ContentPageContent img[style*="width:45%"],

.ContentPageContent img[style*="width: 55%"],

.ContentPageContent img[style*="width:55%"] {

    clear: both;

    display: block;

    float: none;

    height: auto;

    margin: 8px 0 16px;

    max-width: 55%;

}



.ContentPageContent img[style*="float: right"],

.ContentPageContent img[style*="float:right"] {

    float: right !important;

    margin: 0 0 12px 16px;

    max-width: 50%;

}



.ContentPageContent::after {

    content: "\20";

    display: block;

    height: 0;

    clear: both;

    visibility: hidden;

}



/* Catch Us Online + bottom border sections */

#ltst.container,

.container:has(> h2#headingss),

.container:has(> #cont) {

    clear: both;

    float: none;

    width: 960px;

    max-width: 100%;

    margin-left: auto;

    margin-right: auto;

}



#ltst.container {

    margin-top: 14px;

}



#ltst.container .four.columns {

    float: left;

}



#ltst.container .four.columns.alpha {

    float: left;

}



#ltst.container .four.columns:not(.alpha) {

    float: right;

}



#ltst.container .four.columns img {

    display: block;

    width: 100%;

    height: auto;

}



div.twelve.columns:has(> img[src*="bottombrd"]) {

    width: 100%;

    max-width: none;

    margin-left: 0;

    margin-right: 0;

    padding: 0;

    float: none;

    clear: both;

    box-sizing: border-box;

}



div.twelve.columns:has(> img[src*="bottombrd"]) img {

    display: block;

    width: 100%;

    height: auto;

    max-width: none;

}



/* Gallery toggle buttons — replace broken iLink CDN icon paths */

.ThumbnailToggleButtonClosed,

.ThumbnailToggleButtonOpen {

    background: #2aaf4f !important;

    color: #fff !important;

    border: 0;

    border-radius: 2px;

    min-width: 30px;

    min-height: 24px;

    cursor: pointer;

}



.ThumbnailToggleButtonClosed:hover,

.ThumbnailToggleButtonOpen:hover {

    background: #5f5f5f !important;

}
