


html {
  scroll-behavior: smooth;
  scroll-padding-top: 0px;
}

.main-content .container-fluid {
    padding-right: 0px;
    padding-left: 0px;
}

hr {
  border-top: 6px solid #7fa750;
  width: 20%;
  margin: 0 auto 25px auto;
  opacity: 1;
}

/* buttons */

.btn-blue {
    background: #7fa750;
    cursor: pointer;
    color: #FFF;
    font-weight: 400;
    border: 0;
    padding: 13px 20px;
    line-height: 100%;
    margin-right: 2px;
    display: inline-block;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.btn-blue:hover {
    background: #1D252D;
    color: #FFF;
}

/**
* Slide
*/
div#block-views-block-banner-block-1 {
    padding-top: 0;
}

/* 
* Paragraphs 
*/
 
/* 2 col with puzzle bg */

.services-section {
    min-height: 400px;
    position: relative;
    overflow: hidden;
}

.paragraph--type--_-col-with-puzzle-bg h3 {
  color: #fff;
}
.paragraph--type--_-col-with-puzzle-bg h2 {
    color: #fff;
}

/* Desktop/tablet view - single background image */
@media (min-width: 992px) {
    .services-section {
        background-image: url('../images/full-width-puz-bg.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

@media (min-width: 1400px) { 
  .services-section {
    min-height: 460px;
  }
  .service-content {
    height: 460px;
}
}

/* Mobile view - individual background images per column */
@media (max-width: 991.98px) {
    .accountancy-col {
        background-image: url('../images/green-puz-bg.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        min-height: 200px;
    }
    
    .business-advisory-col {
        background-image: url('../images/blue-puz-bg.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        min-height: 200px;
    }
}

.service-content {
    padding: 15%;
    color: white;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.service-title {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.service-description {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.service-btn {
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    border: none;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.service-btn:hover {
    background-color: rgba(0, 0, 0, 0.9);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Ensure equal height columns on larger screens */
@media (min-width: 768px) {
    .services-row {
        min-height: 400px;
    }
    
}

/* Mobile adjustments */
@media (max-width: 767.98px) {
    .service-title {
        font-size: 1.75rem;
    }
    
    .service-description {
        font-size: 0.95rem;
    }
    
    .service-content {
        padding: 40px 20px;
    }
}

/* Extra small screens */
@media (max-width: 575.98px) {
    .service-title {
        font-size: 1.5rem;
    }
    
    .service-description {
        font-size: 0.9rem;
    }
    
    .service-content {
        padding: 30px 15px;
    }
}

/* Request a callback form styles */
form#contact-message-request-callback-form input#edit-submit,
form#contact-message-callback-kristel-pari-form input#edit-submit {
  width: 100%;
  padding: 20px;
  font-size: 110%;
  background: #7fa750;
  border: 0;
}

.contact-form-block input#edit-submit {
  background: #7fa750;
  border: none;
}
form#contact-message-request-callback-form input#edit-submit:hover, 
.contact-form-block input#edit-submit:hover {
  background: #1D252D;
  color: #FFF;
}

.paragraph--type--text-w-contact-form-right .btn-blue {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
    font-size: 110%;
}

.paragraph.paragraph--type--text-w-contact-form-right {
  padding: 45px 15px 50px 15px;
}

.paragraph.paragraph--type--text-w-contact-form-right input#edit-name {
    width: 100%;
}

div#request-callback hr {
    border-color: #7fa750;
}
/* Google reviews */
.paragraph.paragraph--type--google-reviews {
    padding: 45px 10px;
}

button.ButtonBase__ButtonContainer-sc-2b567eb2-3.daLTkD.HeaderWriteReviewButton__WriteReviewButton-sc-275e4878-1.jcSCgO.es-header-write-review-button {
  background: #7fa750 !important;
}

/**
* Parallax bg
*/

.parallax-window {
  min-height: 400px;
  background: transparent;
  overflow: hidden;
  display: block
}

.parallax-overlay {
  background: rgb(15 46 142 / 82%);
  border-radius: 5px;
  color: #fff;
  padding: 15px 25px;
} 

/** image with text left and right **/
.showcase .showcase-img {
  min-height: 30rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.showcase .showcase-text {
  padding: 3rem;
}

.showcase-text h2 {
    padding: 20px 40px;
    text-align: left;
}

.paragraph--type--text-w-image-left .showcase-text h2 {
  float: right;
  clear: both;
  padding-right: 65px;
}


.paragraph--type--text-w-image-right .showcase-text h2 {
  float: left;
  clear: both;
  padding-left: 65px;
}

.showcase-text p, .showcase-text ul, .showcase-text ol {
    padding-right: 15px;
}

.showcase-text p {
    padding-left: 35px;
}

.showcase-text ul, .showcase-text ol {
    padding-left: 80px;
}

.paragraph--type--text-w-image-left .showcase .showcase-text {
    padding: 3rem 0 3rem 3rem;
}

.paragraph--type--text-w-image-right .showcase .showcase-text {
    padding: 3rem 3rem 3rem 0;
}

.paragraph--type--text-w-image-left .showcase .showcase-text p {
    padding-right: 50px;
    padding-left: 35px;
}

.paragraph--type--text-w-image-right .showcase .showcase-text p {
    padding-right: 35px;
    padding-left: 50px;
}

.section-heading-container {
    width: 100%;
    display: inline-block;
}

/* Just text paragraph */
.paragraph.paragraph--type--just-text {
    padding: 45px 10px;
}

.paragraph.paragraph--type--just-text h3 {
  margin: 0;
}

.just-text-container {
    margin-left: 25px;
}

/* Related content */

h2.section-heading {
    margin-top: 0;
}

.paragraph--type--related-pages, 
.paragraph--type--most-popular-services {
    padding: 50px 0;
}

.portfolio-item {
    background: #fff;
    border-radius: 5px;
    color: #333;
    padding: 10px;
}

#block-views-block-testimonials-block-1 strong, b {
    color: unset;
    text-transform: none;
}

.paragraph--type--related-pages .section-heading, 
.paragraph--type--most-popular-services .section-heading,
.paragraph.paragraph--type--just-text  .section-heading {
    text-align: left;
    padding: 20px 70px 20px 35px;
    margin-bottom: 40px;
}

/* Request a meeting */

.paragraph--type--book-a-meeting {
    padding: 70px 15px;
}

.book-a-meeting-paragraph {
    background-color: #f8f9fa !important;
    border-radius: 5px;
    text-align: center;
    padding: 25px;
    color: #333;
}

/**
* classy classes
*/

.grey-background {
  background: #ededed;
}

.white-background {
  background: #ffffff;
}

.mint-background {
  background: #15AE94;
  color: white;
}

.green-background {
  background: #7fa750;
  color: white;
}

.dark-green-background {
  background: #057851;
  color: white;
}

.green-background .section-heading, 
.dark-green-background .section-heading,
.mint-background .section-heading {
    background-color: #000;
    color: #fff;
}

.bg-light .section-heading, 
.white-background .section-heading 
{
    background-color: #7fa750;
    color: #fff;
}


/**
* blocks
*/

div#block-chadwick-testimonialsfullwidth {
    padding: 50px 25px;
    background: #15ae94;
}

div#block-chadwick-content {
    margin-bottom: 0;
}


/**
* Pricing and packages page
*/

.table.package h4 {
    color: #ffffff;
}

/**
* Services content type
*/

div#page-title-inner .container-fluid {
    padding-left: 0;
}

.region-page-title h1 {
  margin: 30px 0;
  background: #7fa750;
  color: #fff;
  display: inline-block;
  padding: 15px 45px;
}

/**
* 3 Columns Paragraph
*/

.paragraph--type--_-columns {
    padding: 50px 0;
}

.paragraph--type--_-columns .section-heading {
    text-align: center;
    padding: 20px 35px;
    margin-bottom: 50px;
    background-color: #7fa750;
    color: #fff;
    display: inline-block;
    font-size: 2rem;
    font-weight: 600;
    border-radius: 5px;
}

.paragraph--type--_-columns .col-xs-12.col-sm-10 {
    margin: 0 auto;
    padding: 0 15px;
}

.paragraph--type--_-columns .column {
    margin-bottom: 30px;
    padding: 0 15px;
}

.paragraph--type--_-columns .column-inner {
    background: #fff;
    border-radius: 8px;
    padding: 40px 30px;
    height: 100%;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border-top: 5px solid #7fa750;
    display: flex;
    flex-direction: column;
}

.paragraph--type--_-columns .column-inner:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(127, 167, 80, 0.2);
    border-top-color: #1D252D;
}

.paragraph--type--_-columns .column-inner h3 {
    color: #1D252D;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #7fa750;
}

.paragraph--type--_-columns .column-inner h4 {
    color: #7fa750;
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 15px;
    margin-top: 20px;
}

.paragraph--type--_-columns .column-inner p {
    color: #333;
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 15px;
}

.paragraph--type--_-columns .column-inner ul,
.paragraph--type--_-columns .column-inner ol {
    color: #333;
    padding-left: 20px;
    margin-bottom: 20px;
}

.paragraph--type--_-columns .column-inner ul li,
.paragraph--type--_-columns .column-inner ol li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.paragraph--type--_-columns .column-inner ul li::marker {
    color: #7fa750;
}

.paragraph--type--_-columns .column-inner a {
    color: #7fa750;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.paragraph--type--_-columns .column-inner a:hover {
    color: #1D252D;
    text-decoration: underline;
}

.paragraph--type--_-columns .column-inner .btn-blue,
.paragraph--type--_-columns .column-inner a.btn-blue {
    display: inline-block;
    margin-top: auto;
    text-align: center;
    width: 100%;
}

.paragraph--type--_-columns .column-inner img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
    margin-bottom: 20px;
}

/* Icon/Image at top of column styling */
.paragraph--type--_-columns .column-inner .field--name-field-icon,
.paragraph--type--_-columns .column-inner > img:first-child {
    text-align: center;
    margin-bottom: 25px;
}

.paragraph--type--_-columns .column-inner .field--name-field-icon img {
    max-width: 80px;
    height: auto;
}

/* Equal height columns on desktop */
@media (min-width: 992px) {
    .paragraph--type--_-columns .col-xs-12.col-sm-10.row {
        display: flex;
        flex-wrap: wrap;
    }
    
    .paragraph--type--_-columns .column {
        display: flex;
        flex-direction: column;
    }
}

/* Tablet adjustments */
@media (max-width: 991.98px) and (min-width: 768px) {
    .paragraph--type--_-columns .column {
        flex: 0 0 50%;
        max-width: 50%;
    }
    
    .paragraph--type--_-columns .column:last-child {
        flex: 0 0 100%;
        max-width: 100%;
        margin-top: 15px;
    }
}

/* Mobile adjustments */
@media (max-width: 767.98px) {
    .paragraph--type--_-columns {
        padding: 30px 0;
    }
    
    .paragraph--type--_-columns .section-heading {
        font-size: 1.5rem;
        padding: 15px 25px;
        margin-bottom: 30px;
    }
    
    .paragraph--type--_-columns .column-inner {
        padding: 30px 20px;
    }
    
    .paragraph--type--_-columns .column-inner h3 {
        font-size: 1.3rem;
    }
}

/* Alternative colored backgrounds for variety */
.paragraph--type--_-columns.grey-background .column-inner {
    background: #fff;
}

.paragraph--type--_-columns.green-background .column-inner,
.paragraph--type--_-columns.dark-green-background .column-inner,
.paragraph--type--_-columns.mint-background .column-inner {
    background: rgba(255, 255, 255, 0.95);
}

.paragraph--type--_-columns.green-background .section-heading,
.paragraph--type--_-columns.dark-green-background .section-heading,
.paragraph--type--_-columns.mint-background .section-heading {
    background-color: #1D252D;
}

/**
* Podcasts page embed
*/

div#rv-podcast-root a {
    background: #7fa750 !important;
}