@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');


/* ===============================================
    Variables & Reset
------------------------*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
:root {
  --skin-color: #cda274;
  --dark-grey-color: #3f5249;
  --dark-color: #000000;
  --body-fonts-color: #000000;
  --grey-color: #fbf9f5;
  --white-color: #fff;
  --body-fonts: 'Montserrat', sans-serif;
  --title-fonts: 'Raleway', sans-serif;
}
a, a:hover, a:focus, a:active {
    text-decoration: none;
    outline: none;
}
a, button, input {
    outline: none;
}
ol, ul {
    padding: 0;
    margin: 0;
}
strong {
  font-weight: 500;
}
iframe {
  width: 100%;
  border: none;
  display: block;
}
p {
    margin: 0 0 15px;
}
*::-moz-selection { background: #cda274; color: #fff; text-shadow: none; }
::-moz-selection    { background: #cda274; color: #fff; text-shadow: none; }
::selection         { background: #cda274; color: #fff; text-shadow: none; }

textarea, input[type="text"], input[type="password"], input[type="datetime"],
input[type="datetime-local"], input[type="date"], input[type="month"],
input[type="time"], input[type="week"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], input[type="tel"], input[type="color"],
.uneditable-input, select {
    font-family: inherit;
    -webkit-transition: border linear .2s, box-shadow linear .2s;
    transition: border linear .2s, box-shadow linear .2s;
    border-radius: 0;
    vertical-align: middle;
    width: 100%;
    color: #1a1a1a;
    padding: 12px 15px 11px;
    font-weight: 400;
    background-color: #fff;
    border: 1px solid rgba(119,119,119,.2);
    font-size: 16px;
    outline: none;
}
button, input[type="submit"], input[type="button"], input[type="reset"] {
    display: inline-block;
    text-decoration: none;
    font-size: 13px;
    line-height: 21px;
    font-weight: 500;
    padding: 11px 40px 11px;
    border: 2px solid transparent;
    border-radius: 0;
    color: #fff;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    cursor: pointer;
    outline: none;
}
menu, ol, ul {
    margin: 16px 0;
    padding: 0 0 0 25px;
}


/* ===============================================
    Typography
------------------------*/
body {
    font-family: var(--body-fonts);
    font-weight: 400;
    font-size: 15px;
    line-height: 26px;
    color: var(--body-fonts-color);
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--title-fonts);
    margin-bottom: 15px;
    font-weight: 400;
    color: var(--dark-color);
}
h1 { font-size: 60px; line-height: 72px; }
h2 { font-size: 30px; line-height: 40px; }
h3 { font-size: 22px; line-height: 38px; }
h4 { font-size: 21px; line-height: 31px; }
h5 { font-size: 20px; line-height: 30px; }
h6 { font-size: 15px; line-height: 18px; }

a { color: var(--dark-color); }
a, img {
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
a:hover { color: var(--skin-color); }


/* ===============================================
    Layout
------------------------*/
.container {
    max-width: 1200px;
    padding: 0 15px;
}
.container-fluid { padding: 0 15px; }
.row:not(.g-0) {
    margin-left: -15px;
    margin-right: -15px;
}
.row:not(.g-0) > [class*='col-'] {
    padding-left: 15px;
    padding-right: 15px;
}
body .page {
    overflow: hidden;
    position: relative;
    z-index: 10;
}
body .site-main {
    background-color: #fff;
    position: relative;
    z-index: 1;
}


/* ===============================================
    Spacing utilities (used across pages)
------------------------*/
.p-30  { padding: 30px; }
.mt-25 { margin-top: 25px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }
.mb-20 { margin-bottom: 20px; }
.mb-25 { margin-bottom: 25px; }
.mb-30 { margin-bottom: 30px; }
.ml-3  { margin-left: 1rem; }
.pb-70 { padding-bottom: 70px; }
.res-991-pb-30 { /* handled in responsive.css */ }
.overflow-hidden { overflow: hidden; }
.clearfix::after { content: ""; display: table; clear: both; }
.text-center { text-align: center; }
.text-lg-left { text-align: left; }
.img-fluid { max-width: 100%; height: auto; }
.d-flex { display: flex; }
.flex-row { flex-direction: row; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-end { justify-content: flex-end; }
.w-100 { width: 100%; }


/* ===============================================
    Colors — Skin
------------------------*/
.ttm-textcolor-skincolor,
nav.main-menu ul.menu li ul.mega-submenu li a:hover,
nav.main-menu ul.menu li ul.mega-submenu li.active > a,
nav.main-menu ul.menu li.active > a,
nav.main-menu ul.menu > li.mega-menu-item:hover > a,
.widget ul#menu-footer-service-link li a:before,
.widget ul#menu-footer-service-link li a:hover,
.ttm-list-icon-color-skincolor li i,
.breadcrumb-wrapper span i,
.ttm-page-title-row .breadcrumb-wrapper span,
.ttm-blog-single blockquote cite,
a:hover,
.ttm-bgcolor-darkgrey a:hover,
.ttm-textcolor-white a:hover,
.footer-nav-menu li a:hover,
.second-footer .widget-area .widget ul li a:hover {
    color: var(--skin-color);
}

.ttm-bgcolor-skincolor,
.ttm-btn-style-fill.ttm-btn-color-skincolor,
.ttm-btn-style-border.ttm-btn-color-skincolor:hover,
.sidebar .widget .widget-title:before,
.sidebar .widget .widget-title:after,
.section-title h3:before,
.section-title h3:after,
.heading-seperator span:before,
#totop.top-visible,
.pagination-block .page-numbers:hover,
.pagination-block .page-numbers.current,
.social-icons.square li a:hover,
.footer .social-icons li>a:hover,
.widget .tagcloud a:hover {
    background-color: var(--skin-color);
}

.ttm-btn-style-border.ttm-btn-color-skincolor,
.widget .tagcloud a:hover {
    border-color: var(--skin-color);
}

.ttm-blog-single blockquote,
article.ttm-blog-classic {
    border-top-color: var(--skin-color);
}


/* ===============================================
    Colors — Dark Grey
------------------------*/
.ttm-bgcolor-darkgrey,
.ttm-bgcolor-darkgrey > .ttm-bg-layer,
.ttm-bgcolor-darkgrey > .ttm-bg-layer > .ttm-col-wrapper-bg-layer-inner,
.ttm-btn.ttm-btn-style-fill.ttm-btn-color-dark {
    background-color: var(--dark-grey-color);
}

.ttm-bgcolor-skincolor .ttm-bgcolor-white i {
    color: #181818;
}


/* ===============================================
    Colors — White / Grey backgrounds
------------------------*/
.ttm-bgcolor-white,
.ttm-bgcolor-white > .ttm-bg-layer,
.ttm-btn-style-fill.ttm-btn-color-white,
.ttm-btn-style-fill.ttm-btn-color-skincolor:hover {
    background-color: var(--white-color);
}

.ttm-bgcolor-grey,
.ttm-bgcolor-grey > .ttm-bg-layer,
.sidebar .widget-area .widget,
.sidebar .widget-title,
.comment-body {
    background-color: var(--grey-color);
}

.ttm-textcolor-white,
.ttm-bgcolor-skincolor a,
.ttm-bgcolor-skincolor h1, .ttm-bgcolor-skincolor h2, .ttm-bgcolor-skincolor h3,
.ttm-bgcolor-skincolor h4, .ttm-bgcolor-skincolor h5, .ttm-bgcolor-skincolor h6,
.ttm-bgcolor-darkgrey h1, .ttm-bgcolor-darkgrey h2, .ttm-bgcolor-darkgrey h3,
.ttm-bgcolor-darkgrey h4, .ttm-bgcolor-darkgrey h5, .ttm-bgcolor-darkgrey h6,
.ttm-textcolor-white a, .ttm-textcolor-white h1, .ttm-textcolor-white h2,
.ttm-textcolor-white h3, .ttm-textcolor-white h4, .ttm-textcolor-white h5,
.ttm-textcolor-white h6, .ttm-textcolor-white span,
.ttm-btn-style-fill.ttm-btn-color-skincolor,
.footer .widget .widget-title,
.widget ul#menu-footer-service-link li a,
.social-icons.square li a:hover,
.pagination-block .page-numbers:hover,
.pagination-block .page-numbers.current,
#totop.top-visible,
.breadcrumb-wrapper-inner a i,
.breadcrumb-wrapper span.ttm-bread-sep {
    color: var(--white-color);
}

.ttm-bgcolor-darkgrey i,
.ttm-bgcolor-skincolor i {
    color: rgba(255,255,255,.84);
}
.footer .widget p,
.second-footer .widget-area .widget ul li,
.copyright p,
.footer .copyright span {
    color: rgba(255,255,255,.65) !important;
}
.second-footer .widget-area .widget ul li a,
.footer-nav-menu li a {
    color: rgba(255,255,255,1);
}


/* ===============================================
    Buttons
------------------------*/
.ttm-btn {
    display: inline-block;
    font-size: 13px;
    line-height: 21px;
    font-weight: 500;
    padding: 11px 40px;
    border: 2px solid transparent;
    border-radius: 0;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    cursor: pointer;
    font-family: var(--title-fonts);
}
.ttm-btn-size-lg { padding: 14px 28px; font-size: 15px; }
.ttm-btn-size-md { padding: 10px 22px; font-size: 14px; }
.ttm-btn-color-skincolor {
    background-color: var(--skin-color);
    color: var(--white-color);
    border-color: var(--skin-color);
}
.ttm-btn-color-skincolor:hover {
    background-color: var(--dark-grey-color);
    border-color: var(--dark-grey-color);
    color: var(--white-color);
}
.ttm-btn-color-grey {
    background-color: #f5f5f5;
    color: var(--dark-color);
    border-color: #f5f5f5;
}
.ttm-btn-color-grey:hover {
    background-color: var(--skin-color);
    border-color: var(--skin-color);
    color: var(--white-color);
}
.ttm-btn-color-white {
    background-color: var(--white-color);
    color: var(--dark-color);
    border-color: var(--white-color);
}


/* ===============================================
    Social Icons
------------------------*/
ul.social-icons {
    margin: 0;
    padding: 0;
}
.social-icons li {
    display: inline-block;
    border: none;
    z-index: 1;
    position: relative;
    margin: 0 2px;
}
.social-icons li:last-child { margin-right: 0; }
.social-icons li a {
    display: block;
    min-width: 27px;
    text-align: center;
}
.social-icons.square li { margin: 0; }
.social-icons.square li a {
    font-size: 14px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    color: inherit;
    margin-right: 8px;
    border: 1px solid #e7e7e7;
}
.social-icons.square li a:hover {
    background-color: var(--skin-color);
    border-color: var(--skin-color);
    color: var(--white-color);
}


/* ===============================================
    Header
------------------------*/
.site-branding {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.site-branding img {
    max-height: 100%;
    position: relative;
}
.site-navigation {
    position: relative;
    z-index: 4;
}


/* ===============================================
    Navigation Menu
    — Uses body font (Montserrat) per site spec
------------------------*/
nav.main-menu,
nav.main-menu ul.menu,
nav.main-menu ul.menu > li > a,
nav.main-menu ul.menu li ul.mega-submenu li a,
nav.main-menu a.mega-menu-link {
    font-family: var(--body-fonts) !important;
}
nav.main-menu ul.menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
nav.main-menu ul.menu > li {
    display: inline-block;
    position: relative;
}
nav.main-menu ul.menu > li > a {
    display: block;
    padding: 28px 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--dark-color);
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
nav.main-menu ul.menu > li > a:hover,
nav.main-menu ul.menu > li.active > a,
nav.main-menu ul.menu > li.mega-menu-item:hover > a {
    color: var(--skin-color);
}
nav.main-menu ul.menu li ul.mega-submenu {
    list-style: none;
    margin: 0;
    padding: 15px 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    background-color: var(--white-color);
    border-top: 3px solid var(--skin-color);
    box-shadow: 0 5px 15px rgba(0,0,0,.1);
    z-index: 100;
    display: none;
}
nav.main-menu ul.menu li:hover ul.mega-submenu { display: block; }
nav.main-menu ul.menu li ul.mega-submenu li a {
    display: block;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 400;
    color: var(--dark-color);
    -webkit-transition: color 0.2s ease, padding-left 0.2s ease;
    transition: color 0.2s ease, padding-left 0.2s ease;
}
nav.main-menu ul.menu li ul.mega-submenu li a:hover,
nav.main-menu ul.menu li ul.mega-submenu li.active > a {
    color: var(--skin-color);
    padding-left: 26px;
}
/* mobile hamburger — visible on small screens only */
.btn-show-menu-mobile { display: none; cursor: pointer; }


/* ===============================================
    Page Title Row
------------------------*/
.ttm-page-title-row {
    background: url(https://multifamily-marketing.com/images/multifamily-marketing.jpg);
    width: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}
.ttm-page-title-row-inner {
    width: 100%;
    padding: 175px 0 125px;
    text-align: center;
    background-color: rgba(0,0,0,0.47);
}
.page-title-heading h1 {
    font-weight: 400;
    text-transform: capitalize;
    font-size: 49px;
    line-height: 59px;
    margin-bottom: 10px;
    color: var(--white-color);
}
.page-title-heading .subtitle {
    color: rgba(255,255,255,.80);
    font-size: 16px;
    margin-bottom: 0;
}
.breadcrumb-wrapper {
    position: absolute;
    bottom: 0;
    text-align: left;
}
.breadcrumb-wrapper .container { padding: 0; }
.breadcrumb-wrapper-inner {
    background-color: var(--white-color);
    padding: 14px 15px;
    line-height: 20px;
    display: inline-block;
}
.breadcrumb-wrapper a,
.breadcrumb-wrapper span {
    text-transform: capitalize;
    font-size: 15px;
    line-height: 20px;
}
.breadcrumb-wrapper span i { color: var(--skin-color); }
.breadcrumb-wrapper span.ttm-bread-sep { color: var(--dark-color); }


/* ===============================================
    Sidebar layout
------------------------*/
.ttm-row.sidebar {
    padding-top: 70px;
}
.ttm-row.sidebar .content-area { /* col-lg-8 */ }
.sidebar .widget-area { /* col-lg-4 */ }
.widget_border .widget {
    border: 1px solid #ebebeb;
    margin-bottom: 30px;
}
/* Remove any inherited border from list items - only bottom divider allowed */
.sidebar .widget-area .widget {
    padding: 25px 25px 20px;
    margin-bottom: 30px;
    background: #fff;
}
.sidebar .widget-title {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 20px;
    padding: 12px 0 12px;
    position: relative;
    border-bottom: 3px solid var(--dark-grey-color);
    border-top: none;
    border-left: none;
    border-right: none;
}
.sidebar .widget-title:before {
    display: none;
}
.sidebar .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar .widget ul li {
    padding: 8px 0;
    border: none;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
    background: transparent;
    box-shadow: none;
    outline: none;
}
.sidebar .widget ul li:last-child { border-bottom: none; }
.sidebar .widget ul li a {
    color: var(--dark-color);
    -webkit-transition: color 0.2s ease, padding-left 0.2s ease;
    transition: color 0.2s ease, padding-left 0.2s ease;
    display: block;
}
.sidebar .widget ul li a:hover,
.sidebar .widget ul li.current a { color: var(--dark-grey-color); }
.sidebar .widget ul li.current { font-weight: 500; }


/* ===============================================
    Blog / Post Single
------------------------*/
.ttm-post-featured-wrapper img {
    width: 100%;
    height: auto;
}
.ttm-blog-single-content {
    padding: 8px 0 30px;
}
.ttm-blog-single-content h2 {
    margin-top: 30px;
    margin-bottom: 12px;
}
.ttm-blog-single-content h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}
.ttm-blog-single blockquote {
    display: block;
    padding: 38px 30px 15px 45px;
    position: relative;
    border-left: 5px solid var(--skin-color);
    color: #343c5c;
    margin: 40px 0 45px;
    font-size: 18px;
    font-style: italic;
    line-height: 28px;
    border-radius: 0;
    z-index: 1;
    background-color: var(--grey-color);
}
.ttm-blog-single blockquote:after {
    content: '';
    background-color: var(--skin-color);
    -webkit-mask-image: url(../images/quote.svg);
    mask: url(../images/quote.svg) no-repeat 100% 100%;
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    width: 50px;
    height: 38px;
    transform: rotateZ(180deg);
    top: 25px;
    left: 25px;
    opacity: .5;
    z-index: -1;
}
.ttm-blog-single blockquote cite {
    font-style: normal;
    font-size: 14px;
    color: var(--skin-color);
}


/* ===============================================
    TTM List (service icon lists)
------------------------*/
.ttm-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ttm-list li {
    padding: 6px 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    line-height: 24px;
}
.ttm-list li i {
    margin-top: 2px;
    flex-shrink: 0;
    color: var(--skin-color);
}
.ttm-list-style-icon.style2 li {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}
.ttm-list-style-icon.style2 li:last-child { border-bottom: none; }


/* ===============================================
    CTA Widget (sidebar)
------------------------*/
.widget-cta .ttm-bgcolor-darkgrey {
    border-radius: 0;
}
.widget-cta h3.widget-title {
    font-size: 20px;
    color: var(--white-color);
    margin-bottom: 12px;
}
.widget-cta p { color: rgba(255,255,255,.75); font-size: 14px; }
.widget-cta .mt-20 { margin-top: 20px; }
.widget-cta a.text-white { color: var(--white-color) !important; }


/* ===============================================
    Footer
------------------------*/
.footer {
    background-color: #232323;
}
.footer .widget .widget-title {
    font-weight: 400;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 33px;
    display: inline-block;
    position: relative;
    margin-top: 18px;
    color: var(--white-color);
}
.footer .widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.second-footer .widget-area .widget {
    padding: 55px 0 35px;
}
.bottom-footer-text {
    border-top: 1px solid rgba(255,255,255,.11);
}
.copyright {
    padding-top: 21px;
    padding-bottom: 20px;
    font-size: 16px;
}
.copyright span { color: rgba(255,255,255,.65); }
.copyright span a { color: var(--white-color); }
.copyright span a:hover { color: var(--skin-color); }

/* Footer nav menu */
.footer-nav-menu {
    padding: 0;
    margin: 0;
    list-style: none;
}
.footer-nav-menu li {
    display: inline-block;
    padding-right: 20px;
    font-size: 16px;
    position: relative;
}
.footer-nav-menu li:last-child { padding-right: 0; }
ul.footer-nav-menu li:after {
    position: absolute;
    content: "|";
    padding-left: 10px;
    color: rgba(255,255,255,.65);
}
ul.footer-nav-menu li:last-child:after { content: unset; }

/* Footer service links */
.widget ul#menu-footer-service-link {
    list-style: none;
    margin: 0;
    padding: 0;
}
.widget ul#menu-footer-service-link li {
    padding: 0 0 18px;
    line-height: 20px;
    position: relative;
    float: none;
}
.widget ul#menu-footer-service-link li a {
    padding-left: 17px;
    color: rgba(255,255,255,1);
}
.widget ul#menu-footer-service-link li a:before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: themify;
    content: "\e61a";
    font-size: 10px;
    line-height: 2;
    color: var(--skin-color);
}
.widget ul#menu-footer-service-link li a:hover { color: var(--skin-color); }

/* Footer contact widget */
.featured-icon-box.style25 {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}
.featured-icon-box.style25 .featured-title h3 {
    font-size: 14px;
    color: rgba(255,255,255,.65);
    margin-bottom: 2px;
    font-weight: 400;
}
.featured-icon-box.style25 .featured-desc a,
.featured-icon-box.style25 .featured-desc p {
    color: var(--white-color);
    font-size: 15px;
    margin-bottom: 0;
}
.featured-icon-box.style25 .ttm-icon i {
    font-size: 22px;
    color: var(--skin-color);
}

/* Footer social icons */
.footer .social-icons li > a {
    width: 38px;
    height: 38px;
    line-height: 38px;
    margin: 0 1px;
    background-color: transparent;
    font-size: 17px;
    border: 1px solid #424851;
    border-radius: 5px;
    color: var(--white-color);
}
.footer .social-icons li > a:hover {
    background-color: var(--skin-color);
    border-color: var(--skin-color);
}
.footer .social-icons .social-facebook a,
.footer .social-icons .social-facebook a:hover { background-color:#4583bc; border-color:#4583bc; }
.footer .social-icons .social-twitter a,
.footer .social-icons .social-twitter a:hover  { background-color:#2cbfd9; border-color:#2cbfd9; }
.footer .social-icons .social-linkedin a,
.footer .social-icons .social-linkedin a:hover { background-color:#0b84b3; border-color:#0b84b3; }
.footer .social-icons .social-pinterest a,
.footer .social-icons .social-pinterest a:hover { background-color:#cd1f29; border-color:#cd1f29; }


/* ===============================================
    Back to top button
------------------------*/
#totop {
    color: var(--white-color);
    display: none;
    position: fixed;
    right: 34px;
    bottom: 34px;
    z-index: 999;
    height: 0;
    width: 0;
    font-size: 0;
    text-align: center;
    line-height: 43px;
    border-radius: 0;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
#totop.top-visible {
    height: 43px;
    width: 43px;
    font-size: 23px;
    display: inline;
}


/* ===============================================
    Section Titles
------------------------*/
.section-title { margin-bottom: 30px; }
.section-title .title-header h3 {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--skin-color);
    margin-bottom: 8px;
}
.section-title .title-header h2.title {
    font-size: 36px;
    line-height: 46px;
    font-weight: 400;
    margin-bottom: 15px;
}
.section-title .title-desc,
.section-title p.title-desc {
    font-size: 15px;
    color: #555;
    margin-bottom: 0;
}
.title-style-center_text { text-align: center; }

/* On dark backgrounds */
.ttm-bgcolor-darkgrey .section-title .title-header h2.title,
.ttm-bgcolor-darkgrey .section-title h2.title {
    color: var(--white-color);
}
.ttm-bgcolor-darkgrey .section-title .title-desc,
.ttm-bgcolor-darkgrey p.title-desc {
    color: rgba(255,255,255,.70);
}


/* ===============================================
    TTM Icons
------------------------*/
.ttm-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    flex-shrink: 0;
}
/* sizes */
.ttm-icon_element-size-xs  { width: 36px;  height: 36px;  font-size: 18px; }
.ttm-icon_element-size-sm  { width: 48px;  height: 48px;  font-size: 22px; }
.ttm-icon_element-size-md  { width: 60px;  height: 60px;  font-size: 28px; }
.ttm-icon_element-size-lg  { width: 72px;  height: 72px;  font-size: 34px; }
.ttm-icon_element-size-xl  { width: 90px;  height: 90px;  font-size: 40px; }
/* fill */
.ttm-icon_element-fill.ttm-icon_element-color-skincolor  { background-color: var(--skin-color); color: #fff; }
.ttm-icon_element-fill.ttm-icon_element-color-skincolor i { color: #fff; font-size: inherit; }
.ttm-icon_element-fill.ttm-icon_element-color-white      { background-color: #fff; color: var(--dark-color); }
.ttm-icon_element-fill.ttm-icon_element-color-white i    { color: var(--dark-color); }
/* border */
.ttm-icon_element-border { border: 2px solid; background: transparent; }
.ttm-icon_element-border.ttm-icon_element-color-skincolor { border-color: var(--skin-color); color: var(--skin-color); }
/* rounded */
.ttm-icon_element-style-rounded { border-radius: 50%; }
/* onlytxt */
.ttm-icon_element-onlytxt { background: transparent; border: none; }
.ttm-icon_element-onlytxt.ttm-icon_element-color-skincolor i { color: var(--skin-color); }
/* icon inside */
.ttm-icon i { line-height: 1; display: block; }
/* ttm-num counter badge */
.ttm-num {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--skin-color);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    counter-increment: process-step;
}


/* ===============================================
    Featured Icon Boxes
------------------------*/
.featured-icon-box { position: relative; }
.featured-icon-box .featured-icon { flex-shrink: 0; }
.featured-icon-box .featured-content { flex: 1; }
.featured-icon-box .featured-title h3 {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 8px;
    font-weight: 500;
}
.featured-icon-box .featured-desc p { font-size: 15px; margin-bottom: 0; }
.featured-icon-box .ttm-footer { margin-top: 12px; }
.featured-icon-box a:hover { color: var(--skin-color); }

/* style2 — used in dark services section — NO card/box, transparent on dark bg */
.featured-icon-box.style2 {
    padding: 30px 25px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    height: 100%;
    background: transparent;
}
.featured-icon-box.icon-align-top-content.style2 { display: flex; flex-direction: column; }
.featured-icon-box.style2 .featured-title h3 { color: var(--white-color); font-size: 18px; }
.featured-icon-box.style2 .featured-desc p   { color: rgba(255,255,255,.70); }
.featured-icon-box.style2 .ttm-icon { margin-bottom: 18px; }

/* style4 — process boxes — white card, only on light backgrounds */
.featured-icon-box.style4 {
    padding: 30px 20px 20px;
    background: #fff;
    text-align: center;
    height: 100%;
    position: relative;
    transition: box-shadow 0.3s ease;
    box-shadow: 0 2px 15px rgba(0,0,0,.05);
}
.featured-icon-box.style4:hover { box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.featured-icon-box.icon-align-top-content.style4 { display: flex; flex-direction: column; align-items: center; }
.featured-icon-box.style4 .featured-icon { margin-bottom: 20px; position: relative; }
.featured-icon-box.style4 .featured-title h3 { font-size: 17px; }

/* style7 — left-icon and centered variants — white card on grey backgrounds */
.featured-icon-box.style7 {
    padding: 25px;
    background: #fff;
    height: 100%;
    transition: box-shadow 0.3s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.featured-icon-box.style7:hover { box-shadow: 0 6px 24px rgba(0,0,0,.10); }
.featured-icon-box.style7.left-icon {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
.featured-icon-box.style7.left-icon .featured-icon { flex-shrink: 0; }
.featured-icon-box.style7.text-center { display: flex; flex-direction: column; align-items: center; }
.featured-icon-box.style7.text-center .featured-icon { margin-bottom: 18px; }
.featured-icon-box.style7 .featured-title h3 { font-size: 17px; line-height: 24px; margin-bottom: 8px; }
.featured-icon-box.style7 .featured-title h3 a { color: var(--dark-color); }
.featured-icon-box.style7 .featured-title h3 a:hover { color: var(--skin-color); }
.featured-icon-box.style7 .featured-desc p { font-size: 14px; color: #555; margin-bottom: 0; }

/* When style7 is INSIDE a dark/skincolor section, remove white card */
.ttm-bgcolor-darkgrey .featured-icon-box.style7,
.ttm-bgcolor-skincolor .featured-icon-box.style7 {
    background: transparent;
    box-shadow: none;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.ttm-bgcolor-darkgrey .featured-icon-box.style7 .featured-title h3,
.ttm-bgcolor-darkgrey .featured-icon-box.style7 .featured-title h3 a { color: var(--white-color); }
.ttm-bgcolor-darkgrey .featured-icon-box.style7 .featured-desc p { color: rgba(255,255,255,.70); }

/* left-icon utility variant used on about/services */
.featured-icon-box.icon-align-before-content {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 20px;
}
.featured-icon-box.icon-align-before-content .featured-content { flex: 1; }

/* style25 is defined in footer section above */


/* ===============================================
    Process / Numbered Boxes
------------------------*/
.featuredbox-number.processbox { counter-reset: process-step; }
.featuredbox-number.processbox .featured-icon-box.style4 .ttm-icon {
    position: relative;
}
.featuredbox-number.processbox .featured-icon-box.style4 .ttm-num {
    counter-increment: process-step;
    content: counter(process-step);
    position: absolute;
    top: -10px;
    right: -10px;
}
/* Connector line between steps */
.featuredbox-number.processbox .col-lg-3:not(:last-child) .featured-icon-box.style4::after {
    content: '';
    position: absolute;
    top: 55px;
    right: -15%;
    width: 30%;
    height: 2px;
    background: var(--skin-color);
    opacity: .3;
}


/* ===============================================
    FID Counters
------------------------*/
.ttm-fid.inside.style2 {
    text-align: center;
    padding: 20px;
}
.ttm-fid.inside.style2 h4.ttm-fid-inner {
    font-size: 52px;
    line-height: 60px;
    font-weight: 700;
    color: var(--skin-color);
    margin-bottom: 8px;
    font-family: var(--title-fonts);
}
.ttm-fid.inside.style2 h3.ttm-fid-title {
    font-size: 15px;
    line-height: 22px;
    font-weight: 400;
    color: rgba(255,255,255,.75);
    margin: 0;
}


/* ===============================================
    Testimonials
------------------------*/
.testimonials.style1 {
    background: #fff;
    padding: 30px;
    position: relative;
    height: 100%;
    box-shadow: 0 2px 20px rgba(0,0,0,.06);
}
.testimonials.style1 .testimonial-content {
    margin-bottom: 20px;
}
.testimonials.style1 .testimonial-content blockquote {
    font-size: 15px;
    line-height: 26px;
    font-style: italic;
    color: #444;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}
.testimonials.style1 .testimonial-content blockquote:before {
    content: '\201C';
    font-size: 48px;
    line-height: 0;
    vertical-align: -18px;
    color: var(--skin-color);
    font-family: Georgia, serif;
    margin-right: 4px;
}
.testimonials.style1 .testimonial-caption h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 2px;
    color: var(--dark-color);
}
.testimonials.style1 .testimonial-caption label {
    font-size: 13px;
    color: var(--skin-color);
    margin: 0;
}


/* ===============================================
    Revolution Slider wrapper
------------------------*/
.rev_slider_wrapper.fullwidthbanner-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.rev_slider_wrapper .tp-dottedoverlay.twoxtwo {
    background: rgba(0,0,0,.45);
    position: absolute;
    inset: 0;
    z-index: 1;
}
/* Fallback hero if slider JS hasn't loaded */
.rev_slider_wrapper .rev-slidebg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ===============================================
    Homepage quick-stats bar
------------------------*/
.ttm-bgcolor-skincolor { background-color: var(--skin-color); }
.ttm-bgcolor-skincolor h4,
.ttm-bgcolor-skincolor p { margin-bottom: 0; }


/* ===============================================
    bg-img2 (dark services section texture)
------------------------*/
.bg-img2 {
    background-image: url(images/bg-img02.jpg);
    background-size: cover;
    background-position: center;
    background-blend-mode: overlay;
}


/* ===============================================
    Generic spacing helpers used on homepage
------------------------*/
.pl-40  { padding-left: 40px; }
.pr-40  { padding-right: 40px; }
.pt-70  { padding-top: 70px; }
.pb-70  { padding-bottom: 70px; }
.pt-30  { padding-top: 30px; }
.pb-30  { padding-bottom: 30px; }
.mt-10  { margin-top: 10px; }
.mt-15  { margin-top: 15px; }
.mt-25  { margin-top: 25px; }
.mt-30  { margin-top: 30px; }
.mt-40  { margin-top: 40px; }
.mb-25  { margin-bottom: 25px; }
.mb-30  { margin-bottom: 30px; }
.mr-15  { margin-right: 15px; }
.ml-3   { margin-left: 1rem; }
.p-30   { padding: 30px; }

@media (max-width: 991px) {
    .res-991-pl-15 { padding-left: 15px !important; }
    .res-991-pr-15 { padding-right: 15px !important; }
    .res-991-pt-40 { padding-top: 40px !important; }
    .res-991-pb-30 { padding-bottom: 30px !important; }
}


/* ===============================================
    Pagination
------------------------*/
.pagination-block {
    margin-top: 30px;
    text-align: center;
}
.pagination-block .page-numbers {
    display: inline-block;
    width: 38px;
    height: 38px;
    line-height: 38px;
    text-align: center;
    border: 1px solid #e0e0e0;
    margin: 0 3px;
    font-size: 15px;
    color: var(--dark-color);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.pagination-block .page-numbers:hover,
.pagination-block .page-numbers.current {
    background-color: var(--skin-color);
    border-color: var(--skin-color);
    color: var(--white-color);
}
