/*
Theme Name: TM Moody Child
Theme URI: http://arden.thememove.com/
Author: ThemeMove
Author URI: http://thememove.com/
Version: 1.0
Template: tm-moody
Tags: editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/

/* Generic Styling */
p {
	margin-bottom: 1em;
	margin-top: 0;
}
ul {
	padding-left: 16px;
}
ol {
	padding-left: 20px;
}
.border-radius {
	border-radius: 25px !important;
}
.text-white, .text-white a {
	color: #ffffff;
}
.text-black, .text-black a {
	color: #000000;
}
.text-dark, .text-dark a {
	color: #353535;
}
.nomargin h1,
.nomargin h2,
.nomargin h3,
.nomargin h4,
.nomargin h5,
.nomargin h6 {
	margin: 0 !important;
}
.page-mobile-main-menu .sub-menu {
	background: #f2f2f2;
	border-radius: 15px;
	padding-top: 15px;
  	padding-bottom: 15px;
}

/* Button Styling */
.tm-button.style-outline {
	text-transform: initial;
	letter-spacing: 0;
	font-weight: bold;
	font-size: 18px;
	line-height: 45px;
	padding: 0px 15px;
	height: 50px; 
}
.tm-button.style-text {
	padding: 0 35px 0 0;
	border: 0;
	background-color: transparent;
	text-transform: initial;
	letter-spacing: 0;
	font-weight: 600;
	font-size: 18px;
}

/* Background Colours */
.pink {
	background-color: #C784B8;
}
.blue {
	background-color: #84B7C9;
}
.purple {
	background-color: #766697;
}

/* Header */
.page-header-inner {
	border-bottom: none;
}
.header01 .navigation {
	text-align: right;
}
.desktop-menu .menu--primary {
	text-align: right;
}
#page-header .container {
	max-width: 1800px;
	padding-left: 120px;
	padding-right: 120px;
}
.desktop-menu .menu--primary .sub-menu, .desktop-menu .menu--primary .children {
	padding: 15px 0;
}
.page-mobile-main-menu .toggle-sub-menu {
	color: #000000 !important;
}

/* Title Bar and Breadcrumbs */
.page-title-bar {
	max-width: 1680px;
	margin-left: auto;
  	margin-right: auto;
}
.page-title-bar .container {
	max-width: 1650px;
	width: 100%;
	padding-left: 45px;
	padding-right: 45px;
}
.page-title-bar-02 .page-title-bar-inner {
	border-radius: 25px 25px 25px 25px;
}
.page-title-bar-02 .page-breadcrumb {
	text-align: left;
	margin-top: 15px;
}
.page-title-bar-02 .insight_core_breadcrumb li {
	color: #c178b1;
}
.page-title-bar-02 .insight_core_breadcrumb li:before {
	color: #4f4f4f;
}
.page-title-bar-02 .insight_core_breadcrumb li a {
	font-size: 18px;
}

/* Rounded Box Columns */
.rounded-box {
    float: left !important;
    border-radius: 25px !important;
    overflow: hidden !important;
}
.col-gap-2 {
    width: calc(50% - 10px) !important;
}
.col-gap-3 {
    width: calc(33.333% - 13.333px) !important;
}
.col-gap-4 {
    width: calc(25% - 15px) !important;
}
.col-gap-5-equal {
    width: calc(20% - 16px) !important;
}
.col-gap-5 {
    width: calc(41.666% - 10px) !important;
}
.col-gap-7 {
    width: calc(58.333% - 10px) !important;
}
.col-gap-2:not(:last-child),
.col-gap-3:not(:last-child),
.col-gap-4:not(:last-child),
.col-gap-5-equal:not(:last-child),
.col-gap-5:not(:last-child),
.col-gap-7:not(:last-child) {
    margin-right: 20px;
}

/* Homepage Purple Column Background Images */
.col-bkg-iphone-xero {
    background-size: 61% auto;
    background-position: center bottom -13.5vw;
    padding-bottom: 13.5vw;
}
.col-bkg-calculator {
    background-size: 75% auto;
    background-position: center bottom -5vw;
    padding-bottom: 13.5vw;
}
.col-bkg-reciept {
    background-size: 96% auto;
    background-position: left -2vw bottom -27.5vw;
    padding-bottom: 13.5vw;
}

/* Single Pages */
.page .page-content .container {
	max-width: 1590px;
	margin: auto;
}
.page .hentry h2,
.page .hentry h3,
.page .hentry h4,
.page .hentry h5,
.page .hentry h6 {
	margin-bottom: 0.5em;
	margin-top: 0.8em;
}

/* Single Posts */
.single-post .page-content .container {
	max-width: 1590px;
	margin: auto;
}
.single-post .page-content .entry-content h2,
.single-post .page-content .entry-content h3,
.single-post .page-content .entry-content h4,
.single-post .page-content .entry-content h5,
.single-post .page-content .entry-content h6 {
	margin-bottom: 0.2em;
	margin-top: 0.3em;
}
.single-post .page-main-content > .post .post-feature {
	margin-top: 0;
}
.single-post .page-main-content .post-thumbnail {
	text-align: left;
}
.single-post .page-main-content .entry-header {
	text-align: left;
}
.single-post .page-main-content .entry-title {
	margin: 0 0 30px 0;
	letter-spacing: -0.03em;
	font-weight: 500;
	line-height: 1.1;
	font-size: 50px;
}

/* Staff Profiles */
.single-staff-profiles .page-content .container {
	max-width: 1560px;
	margin: auto;
}
.single-staff-profiles .page-content .container .page-main-content {
    flex: 0 0 100%;
    max-width: 100%;
}
.single-staff-profiles .page-content .entry-content h2 {
	margin-bottom: 0.8em;
	margin-top: 0;
}
.single-staff-profiles .page-content .entry-content h3 {
	margin-bottom: 2em;
}
.single-staff-profiles .page-content .post-feature {
	margin-right: 5.5%;
	border-radius: 15px;
  	overflow: hidden;
}

/* Testimonials */
.testimonial-by-line {
	font-weight: bold;
  	font-size: 16px;
}

/* Sidebar */
.page-sidebar-right {
	padding-left: 60px;
}
.page-sidebar .page-sidebar-content {
	padding: 0;
	border: none;
    background-color: initial;
	height: 100%;
}

/* CTA - Sidebar */
.cta-sticky-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 24px;
    text-align: center;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #f0f0f0;
    max-width: 100%;
    box-sizing: border-box;
}
.cta-icon {
    color: #84B7C9;
    margin-bottom: 15px;
}
.cta-heading {
    font-size: 24px;
    font-weight: 700;
    color: #353535;
    margin: 0 0 12px 0 !important;
    line-height: 1.3;
}
.cta-text {
    font-size: 16px;
    color: #4F4F4F;
    line-height: 1.5;
    margin: 0 0 24px 0 !important;
}
.cta-button {
    display: inline-block;
    padding: 0px 15px;
	height: 50px;
	line-height: 45px;
    border: 2px solid #353535;
    border-radius: 8px;
    color: #353535;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.cta-button:hover {
	border: 2px solid #C784B8;
    background: #C784B8;
    color: #ffffff !important;
}

/* Footer */
#page-footer .footer-container {
	width: 80%;
	max-width: 1080px;
	margin: auto;
}
#menu-footer-menu li a {
	padding: 12px 0 0 0;
}

@media (max-width: 1680px) {
	.page-title-bar {
  		max-width: 100%;
  		margin-left: 45px;
  		margin-right: 45px;
	}
	.page .page-content .container, .single-post .page-content .container {
  		margin-left: 30px;
  		margin-right: 30px;
	}
	.single-staff-profiles .page-content .container {
  		margin-left: 45px;
  		margin-right: 45px;
	}
}

/* Force elements hidden on desktop to remain hidden on XL / Large Desktop screens */
@media (min-width: 1200px) {
.vc_hidden-lg,
.vc_hidden-lg-down {
	display: none !important;
}
}

@media (max-width: 1190px) {
	.text-middle {
		text-align: center;
	}
	.container {
    	max-width: 100% !important;
    }
	.page-title-bar {
  		margin-left: 45px;
  		margin-right: 45px;
	}
	.col-gap-2, .col-gap-3, .col-gap-4, .col-gap-5-equal, .col-gap-5, .col-gap-7 {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 30px !important;
    }
    .col-gap-2:last-child, 
    .col-gap-3:last-child, 
    .col-gap-4:last-child, 
    .col-gap-5-equal:last-child, 
    .col-gap-5:last-child, 
    .col-gap-7:last-child {
        margin-bottom: 0;
    }
	.col-bkg-iphone-xero {
    	background-size: 300px auto !important;
    	background-position: center top 239px !important;
    	padding-bottom: 300px;
	}
	.col-bkg-calculator {
    	background-size: 400px auto !important;
    	background-position: center top 235px !important;
    	padding-bottom: 300px;
	}
	.col-bkg-reciept {
    	background-size: 500px auto !important;
    	background-position: center top 219px !important;
    	padding-bottom: 300px;
	}
	.tm-button.style-outline {
  		font-size: 18px !important;
  		line-height: 45px !important;
		padding: 0px 15px !important;
		height: 50px !important; 
	}
	.tm-button.style-text {
		padding: 0 35px 0 0 !important;
		font-size: 18px !important;
	}
}

/* Enhanced Sticky Sidebar Logic */
@media (min-width: 992px) {
    /* 1. Force ALL possible sidebar wrappers to allow sticky tracking */
    html, body, #page, #content, .site-content, .container, .row, 
    [class*="col-"], .sidebar, #sidebar, #secondary, .sidebar-wrapper, .primary-sidebar {
        overflow: visible !important;
    }

    /* 2. Target the card container parent wrapper */
    .widget:has(.cta-sticky-card),
    .wp-block-legacy-widget:has(.cta-sticky-card) {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 140px !important;
        z-index: 9999 !important;
    }
}

@media (max-width: 992px) {
	.branding__logo img, .maintenance-header img {
  		width: 160px !important;
	}
    .container {
    	max-width: 100% !important;
    }
	#page-header .container {
		max-width: 1800px;
		padding-left: 30px;
		padding-right: 30px;
	}
	.page-title-bar {
  		margin-left: 30px;
  		margin-right: 30px;
	}
	.single-staff-profiles .page-content .container {
		margin-left: 30px;
		margin-right: 30px;
	}
}

@media (max-width: 768px) {
	.container {
    	max-width: 100% !important;
    }
	.page-title-bar-02 .page-title-bar-inner .heading {
		font-size: 35px !important;
	}
	.page-sidebar {
    	margin-bottom: 0;
  	}
	.page-sidebar-right {
  		padding-left: 10px;
		padding-right: 10px;
		margin-top: 40px;
	}
	.single-post .page-sidebar-right {
  		padding-left: 15px;
		padding-right: 15px;
	}
	 .single-post .page-main-content .entry-title {
    	font-size: 32px;
  	}
	.single-staff-profiles .page-content .post-feature {
  		margin-right: 0;
		margin-bottom: 30px;
	}
	.single-staff-profiles .page-content .entry-content h3 {
  		margin-bottom: 1em;
	}
	.page-sidebar .page-sidebar-inner .page-sidebar-content {
		padding-right: 0;
    	border: 0;
  	}
	.page-content {
  		padding-top: 40px;
  		padding-bottom: 40px;
	}
	.single-post .page-main-content .entry-content {
    	margin-bottom: 0;
  	}
	.single-post .entry-footer .row {
  		margin-bottom: 0;
	}
	.col-bkg-iphone-xero {
    	background-size: 175px auto !important;
    	background-position: center bottom -182px !important;
    	padding-bottom: 170px;
	}
	.col-bkg-calculator {
    	background-size: 200px auto !important;
    	background-position: center bottom -66px !important;
    	padding-bottom: 170px;
	}
	.col-bkg-reciept {
    	background-size: 300px auto !important;
    	background-position: center bottom -423px !important;
    	padding-bottom: 110px;
	}
}

@media (max-width: 544px) {
  	.container {
   		max-width: 100% !important;
  	}
}