/*----------------------------------------------------------------------------------------------------------------------
Project:	    LifeCoach
Version:        1.0.0

Default Color   #f4b200;

Body copy:		'Poppins', sans-serif; 14px;
Headers:		'Nunito', sans-serif;

----------------------------------------------------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------------------------------------------------
[Table of contents]

A. Basic Styling
  -- Styling

B. Helpers
  -- Animations
  -- Borders
  -- Colors
  -- Column Count
  -- Transitions
  -- Background
  -- Headings
  -- Height
  -- Margin
  -- No Gutter
  -- Opacity
  -- Overflow
  -- Padding
  -- Position
  -- Shadow
  -- Shape Mask
  -- Typography
  -- Title
  -- Transitions
  -- Utilities
  -- Width
  -- Z-Index

C. Components
  -- Block
  -- Blockquote
  -- Box
  -- Buttons
  -- Card
  -- Circle
  -- Forms
  -- Inputs
  -- Item
  -- List
  -- Map
  -- Hero
  -- Navbar
  -- Page
  -- Partners
  -- Plugins
  -- Price Box
  -- Progress
  -- Promo Numbers
  -- Select
  -- Slider
  -- Tabs

D. Plugins Styles
  -- Magnific Popup
  -- Owl Carousel

E. Template Specific Elements
  -- Price Box
  -- Other
  -- Story


----------------------------------------------------------------------------------------------------------------------*/

/***********************************************************************************************************************
A. Basic Styling
***********************************************************************************************************************/

/*-------------------------------------------
  -- Styling - Colors, Font Size, Font Family
-------------------------------------------*/

html, body {
    overflow-x: hidden; /* This strictly forbids side-to-side scrolling */
    overflow-anchor: none;
    width: 100%;
    position: relative;
    min-height: 100%;
}

body {
    color: #191919;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: .9375rem;
    margin: 0;
    padding: 0;
}

html {
    font-size: 80%;
}

h1, h2, h3, h4, h5 {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
}

h1, .ts-h1 {
    font-size: 2.5rem;
}

h2, .ts-h2 {
    font-size: 1.5rem;
}

h3, .ts-h3 {
    font-size: 1.25rem;
    margin-bottom: 1.5625rem;
}

h4, .ts-h4 {
    margin-bottom: 1.875rem;
}

h5, .ts-h5 {
    font-size: 1rem;
    font-weight: 600;
}

h6, .ts-h6 {
    font-size: .9375rem;
}

/* NEW */

/***********************************************************************************************************************
B. Helpers
***********************************************************************************************************************/

/*-------------------------------------------
  -- Animations
-------------------------------------------*/

[data-animate] {
    opacity: 0;
    animation-fill-mode: forwards;
    animation-duration: .6s;
    animation-timing-function: ease;
}

/* Fade In Up */

@keyframes ts-fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 1.25rem, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInUp {
    animation-name: ts-fadeInUp;
}

/* Fade In Down */

@keyframes ts-fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -1.25rem, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInDown {
    animation-name: ts-fadeInDown;
}

/* Fade In Left */

@keyframes ts-fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-1.25rem, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInLeft {
    animation-name: ts-fadeInLeft;
}

/* Fade In Right */

@keyframes ts-fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(1.25rem, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInRight {
    animation-name: ts-fadeInRight;
}

/* Zoom In */

@keyframes ts-zoomIn {
    from {
        opacity: 0;
        transform: scale(.5);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ts-zoomIn {
    animation-name: ts-zoomIn;
}

/* Zoom Out In */

@keyframes ts-zoomOutIn {
    from {
        opacity: 0;
        transform: scale(1.1);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ts-zoomOutIn {
    animation-name: ts-zoomOutIn;
}

/* Zoom In Short */

@keyframes ts-zoomInShort {
    from {
        opacity: 0;
        transform: scale(.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ts-zoomInShort {
    animation-name: ts-zoomInShort;
}

/*-------------------------------------------
  -- Borders
-------------------------------------------*/

.ts-border-radius__sm {
    border-radius: .125rem;
    overflow: hidden;
}

.ts-border-radius__md {
    border-radius: .25rem;
    overflow: hidden;
}

.ts-border-radius__lg {
    border-radius: .5rem;
    overflow: hidden;
}

.ts-border-radius__xl {
    border-radius: .75rem;
    overflow: hidden;
}

.ts-border-radius__pill {
    border-radius: 6.25rem !important;
    overflow: hidden;
}

.ts-border-radius__round-shape {
    border-radius: 187.5rem;
    overflow: hidden;
}

.ts-border-none {
    border: none;
}

.ts-border-bottom {
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
}

.ts-font-color__white {
    color: #fff;
}

.ts-font-color__black {
    color: #000;
}

.ts-font-color__primary {
    color: #f4b200;
}

/*-------------------------------------------
  -- Background
-------------------------------------------*/

[data-bg-image] {
    background-size: cover;
    background-position: 50%;
}

.ts-background {
    bottom: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.ts-background .ts-background {
    height: 100%;
    width: 100%;
}

.ts-background-repeat {
    background-repeat: repeat;
    background-size: inherit;
}

.ts-background-repeat .ts-background-image {
    background-repeat: repeat;
    background-size: inherit;
}

.ts-background-image, .ts-img-into-bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.ts-background-image img, .ts-img-into-bg img {
    display: none;
}

.ts-background-original-size {
    background-size: inherit;
}

.ts-background-size-cover {
    background-size: cover;
}

.ts-background-size-contain {
    background-size: contain;
}

.ts-background-repeat-x {
    background-repeat: repeat-x;
}

.ts-background-repeat-y {
    background-repeat: repeat-y;
}

.ts-background-repeat-repeat {
    background-repeat: repeat;
    background-size: inherit;
}

.ts-background-position-top {
    background-position: top;
}

.ts-background-position-center {
    background-position: center;
}

.ts-background-position-bottom {
    background-position: bottom;
}

.ts-background-position-left {
    background-position-x: left !important;
}

.ts-background-position-right {
    background-position-x: right !important;
}

.ts-background-particles {
    height: 120%;
    left: 0;
    margin-left: -10%;
    margin-top: -10%;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 120%;
    z-index: 1;
}

.ts-background-is-dark {
    color: #fff;
}

.ts-background-is-dark .form-control {
    box-shadow: 0 0 0 .125rem rgba(255, 255, 255, .2);
}

.ts-background-is-dark .form-control:focus {
    box-shadow: 0 0 0 .125rem rgba(255, 255, 255, .4);
}

.ts-background-is-dark .ts-btn-border-muted {
    border-color: rgba(255, 255, 255, .1);
}

.ts-video-bg {
    height: 100%;
}

.ts-video-bg .fluid-width-video-wrapper {
    height: 100%;
}

/*-------------------------------------------
  -- Height
-------------------------------------------*/

.ts-height__50px {
    height: 3.125rem;
}

.ts-height__100px {
    height: 6.25rem;
}

.ts-height__150px {
    height: 9.375rem;
}

.ts-height__200px {
    height: 12.5rem;
}

.ts-height__250px {
    height: 15.625rem;
}

.ts-height__300px {
    height: 18.75rem;
}

.ts-height__350px {
    height: 21.875rem;
}

.ts-height__400px {
    height: 25rem;
}

.ts-height__450px {
    height: 28.125rem;
}

.ts-height__500px {
    height: 31.25rem;
}

.ts-height__600px {
    height: 37.5rem;
}

.ts-height__700px {
    height: 43.75rem;
}

.ts-height__800px {
    height: 50rem;
}

.ts-height__900px {
    height: 56.25rem;
}

.ts-height__1000px {
    height: 62.5rem;
}

/*-------------------------------------------
  -- Margin
-------------------------------------------*/

.ts-mt__0 {
    margin-top: 0 !important;
}

.ts-mr__0 {
    margin-right: 0 !important;
}

.ts-mb__0 {
    margin-bottom: 0 !important;
}

.ts-ml__0 {
    margin-left: 0 !important;
}

/*-------------------------------------------
  -- No Gutters - Removes padding from col*
-------------------------------------------*/

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters > .col, .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

/*-------------------------------------------
  -- Opacity
-------------------------------------------*/

.ts-opacity__5 {
    opacity: .05;
}

.ts-opacity__10 {
    opacity: .1;
}

.ts-opacity__20 {
    opacity: .2;
}

.ts-opacity__30 {
    opacity: .3;
}

.ts-opacity__40 {
    opacity: .4;
}

.ts-opacity__50 {
    opacity: .5;
}

.ts-opacity__60 {
    opacity: .6;
}

.ts-opacity__70 {
    opacity: .7;
}

.ts-opacity__80 {
    opacity: .8;
}

.ts-opacity__90 {
    opacity: .9;
}

/*-------------------------------------------
  -- Overflow
-------------------------------------------*/

.ts-overflow__hidden {
    overflow: hidden;
}

.ts-overflow__visible {
    overflow: visible;
}

/*-------------------------------------------
  -- Padding
-------------------------------------------*/

.ts-pt__0 {
    padding-top: 0 !important;
}

.ts-pr__0 {
    padding-right: 0 !important;
}

.ts-pb__0 {
    padding-bottom: 0 !important;
}

.ts-pl__0 {
    padding-left: 0 !important;
}

/*-------------------------------------------
  -- Position
-------------------------------------------*/

/* Top */

.ts-top__0 {
    top: 0%;
}

.ts-top__50 {
    top: 50%;
}

.ts-top__100 {
    top: 100%;
}

/* Right */

.ts-right__0 {
    right: 0%;
}

.ts-right__50 {
    right: 50%;
}

.ts-right__100 {
    right: 100%;
}

.ts-right__inherit {
    right: inherit;
}

/* Bottom */

.ts-bottom__0 {
    bottom: 0%;
}

.ts-bottom__50 {
    bottom: 50%;
}

.ts-bottom__100 {
    bottom: 100%;
}

/* Left */

.ts-left__0 {
    left: 0%;
}

.ts-left__50 {
    left: 50%;
}

.ts-left__100 {
    left: 100%;
}

.ts-left__inherit {
    left: inherit;
}

.ts-push-left__100 {
    transform: translateX(100%);
}

.ts-push-down__50 {
    transform: translateY(50%);
}

/*-------------------------------------------
  -- Shadow
-------------------------------------------*/

.ts-shadow__sm {
    box-shadow: 0 .125rem .3125rem rgba(0, 0, 0, .1);
}

.ts-shadow__md {
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
}

.ts-shadow__lg {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
}

.ts-shadow__none {
    box-shadow: none !important;
}

/*-------------------------------------------
  -- Typography
-------------------------------------------*/

a {
    color: #f4b200;
    transition: .3s ease;
}

a:hover {
    color: rgb(194, 142, 0);
    text-decoration: none;
}

p {
    line-height: 1.6875rem;
    margin-bottom: 1.875rem;
    color: #2f3b4a;
}

#ts-hero p,
#about-me p,
#aboutMeAccordion .collapse p,
#aboutMeAccordion .collapsing p {
    hyphens: none;
    overflow-wrap: break-word;
    text-align: left;
    word-break: normal;
}

#ts-hero p {
    max-width: 40rem;
}

#about-me p,
#aboutMeAccordion .collapse p,
#aboutMeAccordion .collapsing p {
    max-width: 100%;
}

#about-me .pr-3 {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 34rem;
    padding-right: 0 !important;
    width: 100%;
}

#about-me .ts-title,
#aboutMeAccordion {
    max-width: 34rem;
}

#about-me .ts-title {
    margin-bottom: 1.35rem !important;
    text-align: left;
}

#about-me .ts-title h2 {
    margin-bottom: 0;
}

#about-me p {
    color: #263241;
    font-size: .95rem;
    line-height: 1.78;
    margin-bottom: 1.15rem;
    text-align: justify;
    text-align-last: left;
}

#aboutMeAccordion {
    margin-top: 1rem;
}

#aboutMeAccordion .list-group-item {
    line-height: 1.35;
    padding-bottom: .8rem;
    padding-top: .8rem;
}

#aboutMeAccordion .list-group-item-action:focus,
#aboutMeAccordion .list-group-item-action:active {
    background-color: transparent;
    border-color: rgba(0, 0, 0, .125);
    box-shadow: none;
    color: #2f3b4a;
    outline: 0;
}

#aboutMeAccordion .list-group-item-action:focus-visible {
    box-shadow: inset 0 -.125rem 0 #f4b200;
}

#aboutMeAccordion .collapse p,
#aboutMeAccordion .collapsing p {
    color: #2f3b4a;
    font-size: .875rem !important;
    line-height: 1.75;
    margin-bottom: .9rem;
    padding-top: .85rem !important;
    text-align: justify;
    text-align-last: left;
}

.text-muted {
    color: #44546a !important;
}

.ts-title .ts-opacity__30 {
    color: #44546a;
    opacity: 1;
}


.ts-font-weight__normal {
    font-weight: normal;
}

.ts-font-weight__light {
    font-weight: lighter;
}

.ts-font-weight__bold {
    font-weight: bold;
}

.ts-text-small {
    font-size: .8125rem !important;
}



/*-------------------------------------------
  -- Title
-------------------------------------------*/


.ts-title h5 {
    font-weight: normal;
    opacity: .5;
}

/*-------------------------------------------
  -- Utilities
-------------------------------------------*/

.ts-element {
    position: relative;
}

/* Social Icons */

.ts-social-icons {
    font-size: 120%;
}

.ts-social-icons a {
    padding: .125rem .25rem;
    color: #526172;
}

/* Overlay */

.ts-has-overlay {
    position: relative;
}

.ts-has-overlay:after {
    background-color: #000;
    content: "";
    height: 100%;
    left: 0;
    opacity: .5;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

/* Flip x */

.ts-flip-x {
    transform: scaleY(-1);
}

/* Flip Y */

.ts-flip-y {
    transform: scaleX(-1);
}

.ts-video-bg {
    height: 100%;
}

.ts-video-bg .fluid-width-video-wrapper {
    height: 100%;
}

.ts-video-bg iframe {
    border: 0;
    height: 100%;
    width: 100%;
}

/*-------------------------------------------
  -- Width
-------------------------------------------*/

.ts-width__10px {
    width: .625rem;
}

.ts-width__20px {
    width: 1.25rem;
}

.ts-width__30px {
    width: 1.875rem;
}

.ts-width__40px {
    width: 2.5rem;
}

.ts-width__50px {
    width: 3.125rem;
}

.ts-width__100px {
    width: 6.25rem;
}

.ts-width__200px {
    width: 12.5rem;
}

.ts-width__300px {
    width: 18.75rem;
}

.ts-width__400px {
    width: 25rem;
}

.ts-width__500px {
    width: 31.25rem;
}

.ts-width__inherit {
    width: inherit !important;
}

.ts-width__auto {
    width: auto !important;
}

/*-------------------------------------------
  -- Z-index
-------------------------------------------*/

.ts-z-index__-1 {
    z-index: -1 !important;
}

.ts-z-index__0 {
    z-index: 0 !important;
}

.ts-z-index__1 {
    z-index: 1 !important;
}

.ts-z-index__2 {
    z-index: 2 !important;
}

.ts-z-index__1000 {
    z-index: 1000 !important;
}

/***********************************************************************************************************************
C. Components
***********************************************************************************************************************/

/*-------------------------------------------
  -- Block
-------------------------------------------*/

:root {
    --ts-section-space: 3rem;
    --ts-section-inner-gap: 2.5rem;
    --ts-fixed-nav-offset: 5.5rem;
}

.ts-block {
    padding-bottom: var(--ts-section-space);
    padding-top: var(--ts-section-space);
    position: relative;
    /*
  &:after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'  width='103.987' height='105.599'%3E%3cpath fill='var(--color-primary-svg)' d='M101.017 45.961c-10.338 22.34-33.156 61.239-62.326 59.586-31.984-1.803-44.52-48.772-36.182-73.996 15.682-47.439 120.287-40.376 98.508 14.41-10.998 23.766 1.923-4.836 0 0z'/%3E%3c/svg%3E");
  }
  */
}

.ts-block-inside {
    padding: 1.25rem;
    position: relative;
}

section {
    position: relative;
}

/*-------------------------------------------
  -- Blockquote
-------------------------------------------*/

blockquote {
    font-size: 1.125rem;
    position: relative;
    padding-bottom: 2rem;
}

blockquote [class*="ts-circle"] {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
    position: relative;
    z-index: 2;
    margin-top: 1rem;
}

blockquote p {
    background-color: #f1f1f1;
    border-radius: .25rem;
    margin-top: -2.5rem;
    padding: 2.5rem;
    position: relative;
    z-index: 1;
}

blockquote p:after {
    border-color: #f1f1f1 transparent transparent transparent;
    border-style: solid;
    border-width: .8125rem .8125rem 0 .8125rem;
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -0.8125rem;
}

blockquote h4 {
    margin-bottom: .3125rem;
}

blockquote h6 {
    opacity: .5;
}

.blockquote-footer {
    color: inherit;
}

.blockquote-footer:before {
    display: none;
}

.ts-carousel-blockquote .owl-item figure, .ts-carousel-blockquote .owl-item p,
.ts-carousel-blockquote .owl-item .blockquote-footer {
    opacity: 0;
    transition: .6s ease;
    transform: translateY(.625rem);
}

.ts-carousel-blockquote .owl-item.active figure,
.ts-carousel-blockquote .owl-item.active p,
.ts-carousel-blockquote .owl-item.active .blockquote-footer {
    opacity: 1;
    transform: translateY(0);
}

.ts-carousel-blockquote .owl-item.active p {
    transition-delay: .1s;
}

.ts-carousel-blockquote .owl-item.active .blockquote-footer {
    transition-delay: .2s;
}

/*-------------------------------------------
  -- Box
-------------------------------------------*/

.ts-box {
    background-color: #fff;
    border-radius: .25rem;
    margin-bottom: 1.875rem;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    padding: 1.5625rem;
}

/*-------------------------------------------
  -- Buttons
-------------------------------------------*/

.btn {
    border-radius: 6.25rem;
    border-width: .125rem;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    font-weight: 600;
    font-size: .9375rem;
    padding: .5rem 1.25rem;
    position: relative;
    outline: none !important;
}

.btn:hover .fa-arrow-right {
    transform: translateX(.5rem);
}

.btn .fa-arrow-right {
    transition: .6s cubic-bezier(.85, -0.37, .17, 1.45);
    transform: translateX(0) rotate(.02deg);
}

.btn span {
    transition: .3s ease;
}

.btn .status {
    bottom: 0;
    height: 1.375rem;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    width: 1.5rem;
}

.btn .status .spinner {
    left: .3125rem;
    transition: .3s ease;
    top: .1875rem;
    position: absolute;
    opacity: 0;
}

.btn .status .status-icon {
    border-radius: 50%;
    left: 0;
    opacity: 0;
    font-size: .625rem;
    padding: .25rem .4375rem;
    position: relative;
    transition: .3s ease;
    z-index: 1;
    transform: scale(0);
}

.btn .status .status-icon.valid {
    background-color: var(--green);
}

.btn .status .status-icon.invalid {
    background-color: var(--red);
}

.btn.processing span {
    opacity: .2;
}

.btn.processing .spinner {
    opacity: 1;
}

.btn.done .ts-spinner {
    opacity: 0;
}

.btn.done .status-icon {
    transform: scale(1);
    opacity: 1;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    /*background-color: darken( var(--color-primary), 20% );
    border-color: darken( var(--color-primary), 20% );*/
    background-color: #f4b200;
    border-color: #f4b200;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .3);
}

.btn-primary {
    background-color: #f4b200;
    border-color: #f4b200;
    color: #010101;
}

.btn-primary.disabled, .btn-primary:disabled {
    background-color: rgb(194, 142, 0);
    border-color: rgb(194, 142, 0);
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    background-color: rgb(194, 142, 0);
    border-color: rgb(173, 127, 0);
    box-shadow: 0 .1875rem .9375rem rgba(0, 0, 0, .2);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    background-color: rgb(194, 142, 0);
    border-color: rgb(194, 142, 0);
    box-shadow: 0 .1875rem .9375rem rgba(0, 0, 0, .2);
}

.btn-dark {
    background-color: #191919;
    border-color: #191919;
}

.btn-outline-primary {
    border-color: #f4b200;
    color: #f4b200;
}

.btn-outline-primary:hover {
    background-color: #f4b200;
    border-color: #f4b200;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus {
    background-color: #f4b200;
    border-color: #f4b200;
    box-shadow: 0 0 0 .2rem rgba(244, 178, 0, .5);
}

.btn-lg {
    padding: .75rem 1.5rem;
    font-size: 1.125rem;
}

.btn-sm {
    font-size: .8125rem;
    padding: .375rem 1rem;
}

.btn-xs {
    font-size: .75rem;
    font-weight: 600;
    padding: .125rem .6875rem;
    text-transform: uppercase;
}

[class*="btn-outline-"] {
    box-shadow: none;
}

.ts-btn-border-muted {
    border-color: rgba(25, 25, 25, .1);
}

/*-------------------------------------------
  -- Card
-------------------------------------------*/

.card {
    backface-visibility: hidden;
    border: none;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    margin-bottom: 1.875rem;
    overflow: hidden;
}

.card-columns .card {
    margin-bottom: 1.25rem;
}

.card-body, .card-footer, .card-header {
    padding: 1.5625rem;
}

.ts-cards-same-height > div[class*='col-'] {
    display: flex;
}

.ts-cards-same-height > div[class*='col-'] .card {
    width: 100%;
}

.ts-card__flat {
    border-radius: 0;
    box-shadow: none;
}

.ts-card__flat .card-footer {
    background-color: transparent;
    border: none;
}


/*-------------------------------------------
  -- Circle
-------------------------------------------*/

.ts-circle__xs {
    border-radius: 50%;
    display: inline-block;
    height: 3rem;
    flex: 0 0 3rem;
    overflow: hidden;
    text-align: center;
    line-height: 3rem;
    width: 3rem;
}

.ts-circle__sm {
    border-radius: 50%;
    display: inline-block;
    height: 4.375rem;
    flex: 0 0 4.375rem;
    overflow: hidden;
    text-align: center;
    line-height: 4.375rem;
    width: 4.375rem;
}

.ts-circle__md {
    border-radius: 50%;
    display: inline-block;
    height: 6.25rem;
    flex: 0 0 6.25rem;
    overflow: hidden;
    text-align: center;
    line-height: 6.25rem;
    width: 6.25rem;
}

.ts-circle__lg {
    border-radius: 50%;
    display: inline-block;
    height: 8.125rem;
    flex: 0 0 8.125rem;
    overflow: hidden;
    text-align: center;
    line-height: 8.125rem;
    width: 8.125rem;
}

.ts-circle__xl {
    border-radius: 50%;
    display: inline-block;
    height: 10rem;
    flex: 0 0 10rem;
    overflow: hidden;
    text-align: center;
    line-height: 10rem;
    width: 10rem;
}

.ts-circle__xxl {
    border-radius: 50%;
    display: inline-block;
    height: 15.625rem;
    flex: 0 0 15.625rem;
    overflow: hidden;
    text-align: center;
    line-height: 15.625rem;
    width: 15.625rem;
}

/*-------------------------------------------
  -- Forms
-------------------------------------------*/

form.ts-labels-inside-input .form-group,
.ts-form.ts-labels-inside-input .form-group {
    position: relative;
}

form.ts-labels-inside-input .form-group label,
.ts-form.ts-labels-inside-input .form-group label {
    line-height: 2.625rem;
    left: .8125rem;
    opacity: .4;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: .3s ease;
}

form.ts-labels-inside-input .form-group label.focused,
.ts-form.ts-labels-inside-input .form-group label.focused {
    top: -2.1875rem;
    left: 0;
    font-size: .75rem;
    opacity: 1;
}

.form-control {
    border: 0;
    box-shadow: 0 0 0 .125rem rgba(0, 0, 0, .2);
    border-radius: .125rem;
    padding: .5625rem .75rem;
}

.form-control:focus {
    box-shadow: 0 0 0 .125rem rgba(0, 0, 0, .4);
}

.form-group {
    margin-bottom: 1.5625rem;
}

.form-group label {
    font-size: .8125rem;
}

.ts-gallery {
    position: relative;
}

.ts-gallery .ts-gallery__image {
    background-color: #191919;
    color: #fff;
    display: block;
    height: 28rem;
    overflow: hidden;
}

.ts-gallery .ts-gallery__image:hover .ts-img-into-bg {
    opacity: .3;
    transform: scale(1.1);
}

.ts-gallery .ts-gallery__caption {
    padding: 3rem;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: 2;
}

.ts-gallery .ts-img-into-bg {
    opacity: .6;
    transition: 1s cubic-bezier(.23, .05, .17, 1.02);
    transform: scale(1.03);
}

/*-------------------------------------------
  -- Inputs
-------------------------------------------*/

.ts-input__static {
    pointer-events: none;
    box-shadow: none;
}

.ts-inputs__transparent input, .ts-inputs__transparent textarea {
    background-color: transparent;
    color: #fff;
}

.ts-inputs__transparent input:active, .ts-inputs__transparent input:focus,
.ts-inputs__transparent textarea:active, .ts-inputs__transparent textarea:focus {
    background-color: transparent;
    color: #fff;
}

.ts-item {
    height: 100%;
    padding-bottom: 1.875rem;
}

.ts-item-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ts-item-header {
    margin-bottom: 1.5625rem;
    position: relative;
}

.ts-item-header .icon {
    position: relative;
    display: inline-block;
}

.ts-item-header .icon .step {
    background-color: #f4b200;
    top: 0;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    border-radius: 50%;
    color: #fff;
    font-weight: 600;
    line-height: 1.875rem;
    right: 0;
    height: 1.875rem;
    position: absolute;
    text-align: center;
    width: 1.875rem;
}

.ts-item-body {
    flex: 1 1 auto;
}


/*-------------------------------------------
  -- List
-------------------------------------------*/

ul {
    line-height: 2.5rem;
    list-style: none;
    padding-left: 0;
}

ul.ts-list-colored-bullets li:before {
    content: "•";
    color: #f4b200;
    vertical-align: middle;
    font-size: 1.75rem;
    padding-right: .75rem;
}

ul.ts-list-divided li {
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
    padding-bottom: .3125rem;
    padding-top: .3125rem;
}

ul.ts-list-divided li:last-child {
    border-bottom: none;
}

/*-------------------------------------------
  -- Loading Screen
-------------------------------------------*/

body.has-loading-screen:before {
    background-color: #000;
    content: "";
    height: 100%;
    right: 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 9999;
    transition: 1.5s ease;
    opacity: 1;
}

body.has-loading-screen:after {
    content: url("../../assets/img/loading.svg");
    height: 2.5rem;
    width: 2.5rem;
    position: fixed;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 1;
    transform: scale(1);
    transition: 1.5s ease;
    top: 0;
    z-index: 10000;
}

body.has-loading-screen.loading-done:before {
    width: 0;
}

body.has-loading-screen.loading-done:after {
    transform: scale(0);
    opacity: 0;
}

/*-------------------------------------------
  -- Map
-------------------------------------------*/

.map {
    min-height: 12.5rem;
}

.map a[href^="http://maps.google.com/maps"] {
    display: none !important;
}

.map a[href^="https://maps.google.com/maps"] {
    display: none !important;
}

.map .gmnoprint a, .map .gmnoprint span, .map .gm-style-cc {
    display: none;
}
/*-------------------------------------------
  -- Hero
-------------------------------------------*/

#ts-hero {
    display: flex;
    position: relative;
    overflow: hidden;
}

#ts-hero .ts-background-image {
    background-position: top center;
}

#about-me.ts-about-section {
    min-height: 40rem;
    overflow: visible;
    overflow-anchor: none;
    position: relative;
}

#about-me .container,
#about-me .row {
    min-height: inherit;
}

#about-me .ts-about-image-col {
    align-items: flex-start;
    display: flex;
    justify-content: center;
    min-height: 40rem;
    overflow-anchor: none;
    position: relative;
}

#about-me .row > .col-sm-6.order-2 {
    align-items: center;
    display: flex;
}

#about-me .ts-about-image-wrap {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    height: 40rem;
    justify-content: center;
    overflow: visible;
    overflow-anchor: none;
    padding: 2.25rem 1.35rem 1.6rem;
    position: relative;
    width: min(100%, 29rem);
    z-index: 0;
}

#about-me .ts-about-image-wrap::before,
#about-me .ts-about-image-wrap::after {
    content: "";
    pointer-events: none;
    position: absolute;
}

#about-me .ts-about-image-wrap::before {
    background:
        linear-gradient(135deg, rgba(234, 159, 10, 0.95), rgba(246, 167, 69, .88)),
        radial-gradient(circle at 78% 18%, rgba(255, 255, 255, .48), transparent 28%);
    border-radius: .75rem;
    bottom: 1rem;
    box-shadow: 0 2rem 4rem rgba(82, 65, 33, .14);
    left: 0;
    right: 1.65rem;
    top: 3.6rem;
    transform: rotate(-2.5deg);
    z-index: -2;
}

#about-me .ts-about-image-wrap::after {
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, .22) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .22) 1px, transparent 1px);
    background-size: 1rem 1rem;
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: .75rem;
    bottom: 2.35rem;
    left: 1.15rem;
    right: 0;
    top: 1.5rem;
    transform: rotate(2deg);
    z-index: -1;
}

#about-me .ts-about-portrait {
    aspect-ratio: 863 / 1032;
    background-color: #e9eef2;
    border: .45rem solid #fff;
    border-radius: .5rem;
    box-shadow: 0 1.25rem 2.75rem rgba(31, 40, 52, .2);
    display: block;
    height: auto;
    max-height: 34rem;
    max-width: 100%;
    object-fit: cover;
    object-position: center center;
    width: min(31vw, 24.5rem);
}

#aboutMeAccordion .collapsing {
    transition: none;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    #about-me .ts-about-image-wrap {
        width: min(100%, 25rem);
    }

    #about-me .ts-about-portrait {
        width: min(38vw, 21rem);
    }
}

@media (max-width: 575.98px) {
    #about-me.ts-about-section {
        min-height: 0;
        overflow-x: hidden;
    }

    #about-me .ts-about-image-col {
        min-height: 0;
        overflow-x: hidden;
    }

    #about-me .ts-about-image-wrap {
        display: flex;
        height: auto;
        justify-content: center;
        margin-bottom: 1.5rem;
        padding: 1.5rem 1rem 1.2rem;
        position: relative;
        width: min(100%, calc(100vw - 4rem), 22rem);
    }

    #about-me .ts-about-portrait {
        height: auto;
        max-height: none;
        max-width: min(100%, 20rem);
        object-fit: cover;
        object-position: center center;
        width: auto;
    }
}
.ts-media-page {
    padding-top: var(--ts-fixed-nav-offset);
}

.ts-media-hero {
    padding: var(--ts-section-space) 0;
    position: relative;
}

.ts-media-hero h1 {
    margin-bottom: 1.25rem;
}

.ts-media-hero p {
    color: #334155;
    font-size: 1.125rem;
    line-height: 1.75;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    max-width: 48rem;
    text-align: center;
}

.ts-media-hero-card {
    background: #fff;
    border-left: .35rem solid #f4b200;
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .08);
    padding: 2rem;
}

.ts-media-hero-card strong {
    color: #f4b200;
    display: block;
    font-size: 4rem;
    line-height: 1;
}

.ts-media-hero-card span {
    color: #44546a;
    display: block;
    margin-top: .75rem;
}

.ts-media-summary > div {
    border-right: 1px solid rgba(0, 0, 0, .08);
}

.ts-media-summary > div:last-child {
    border-right: 0;
}

.ts-media-summary strong {
    color: #191919;
    display: block;
    font-size: 1.25rem;
    margin-bottom: .35rem;
}

.ts-media-summary span {
    color: #44546a;
    display: block;
}

.ts-media-entry,
.ts-video-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .04);
    height: 100%;
    padding: 1.5rem;
    text-align: center;
}

.ts-media-entry span {
    color: #f4b200;
    display: block;
    font-size: .8125rem;
    font-weight: 700;
    margin-bottom: .75rem;
    text-transform: uppercase;
}

.ts-media-entry h3,
.ts-video-card h3 {
    color: #191919;
    font-size: 1.125rem;
    line-height: 1.35;
    margin-bottom: .65rem;
    max-width: 100%;
    overflow-wrap: break-word;
    text-align: center;
}

.ts-media-entry p,
.ts-video-card p {
    color: #334155;
    line-height: 1.65;
    margin-bottom: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    text-align: center;
}

.ts-video-card {
    overflow: hidden;
    padding: 0;
}

.ts-video-card h3,
.ts-video-card p {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.ts-video-card h3 {
    margin-top: 1.25rem;
}

.ts-video-card p {
    padding-bottom: 1.25rem;
}

.ts-video-card video {
    background: #111;
    display: block;
    height: 16rem;
    object-fit: contain;
    width: 100%;
}

.ts-youtube-lite {
    background: #111;
    border: 0;
    cursor: pointer;
    display: block;
    height: 15.5rem;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

.ts-youtube-lite img {
    display: block;
    height: 100%;
    object-fit: cover;
    opacity: .86;
    transition: .2s ease;
    width: 100%;
}

.ts-youtube-lite span {
    background: #ff0000;
    border-radius: 50%;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .25);
    height: 4.25rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4.25rem;
}

.ts-youtube-lite span:after {
    border-bottom: .75rem solid transparent;
    border-left: 1.05rem solid #fff;
    border-top: .75rem solid transparent;
    content: "";
    left: 52%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.ts-youtube-lite:hover img,
.ts-youtube-lite:focus img {
    opacity: .72;
    transform: scale(1.03);
}

.ts-youtube-fallback {
    align-items: center;
    background: #111;
    display: flex;
    height: 15.5rem;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.ts-youtube-fallback img {
    height: 100%;
    object-fit: cover;
    opacity: .72;
    width: 100%;
}

.ts-youtube-fallback span {
    background: #ff0000;
    color: #fff;
    font-weight: 700;
    left: 50%;
    padding: .75rem 1rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.ts-video-open-link {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    padding-bottom: 1.5rem;
}

.ts-media-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .04);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.ts-media-card > a:first-child {
    background: #f6f3ee;
    display: block;
}

.ts-media-card img {
    aspect-ratio: 4 / 3;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.ts-media-card__body {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.25rem;
    text-align: center;
}

.ts-media-card h3 {
    font-size: 1.125rem;
    line-height: 1.35;
    margin-bottom: .65rem;
    max-width: 100%;
    overflow-wrap: break-word;
    text-align: center;
}

.ts-media-card p {
    color: #334155;
    flex: 1 1 auto;
    line-height: 1.65;
    margin-bottom: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    text-align: center;
}

.ts-media-link {
    align-self: center;
    color: #f4b200;
    display: inline-block;
    font-weight: 700;
    margin-top: 1rem;
}

.ts-media-page .ts-title h2 {
    color: #090909;
    background-color: rgba(244, 178, 0, 0.1);
    padding: 0.5rem 1.5rem;
    border-radius: 50rem;
    display: inline-block;
    margin-bottom: 0;
    text-align: center;
}

.ts-media-page .ts-title.mt-5 {
    margin-top: calc(var(--ts-section-inner-gap) - 1.5rem) !important;
}

.ts-media-page .ts-block {
    padding-top: var(--ts-section-space);
    padding-bottom: var(--ts-section-space);
}

.ts-media-page .ts-media-hero + .ts-block {
    padding-top: var(--ts-section-inner-gap);
}

.ts-media-page .row {
    align-items: stretch;
}

.ts-media-page [class*="col-"] {
    min-width: 0;
}

.ts-media-page .ts-box {
    padding: 2rem !important;
}

@media (max-width: 767.98px) {
    .ts-media-summary > div {
        border-right: 0;
    }

    .ts-video-card video {
        height: 13rem;
    }

    .ts-youtube-lite {
        height: 13rem;
    }

    .ts-youtube-fallback {
        height: 13rem;
    }
}

@media (max-width: 575.98px) {
    .ts-media-card,
    .ts-video-card {
        margin-left: auto;
        margin-right: auto;
        max-width: calc(100vw - 2rem);
        width: 100%;
    }
}

#ts-hero .ts-hero-portrait-col {
    position: static;
}

#ts-hero .ts-hero-image {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    height: 100%;
    justify-content: flex-end;
    max-width: 56rem;
    pointer-events: none;
    position: absolute;
    right: max(1.5rem, calc((100vw - 1320px) / 2));
    width: min(52vw, 56rem);
    z-index: 1;
}

#ts-hero .ts-hero-image-shape {
    background: linear-gradient(135deg, #ffd540 0%, #f7b733 56%, #ff8a2a 100%);
    border-radius: 5rem;
    bottom: 7%;
    box-shadow: 0 2.5rem 5rem rgba(235, 141, 28, .2);
    height: 58%;
    position: absolute;
    right: 4%;
    transform: rotate(9deg);
    width: 66%;
    z-index: 0;
}

#ts-hero .ts-hero-portrait {
    filter: drop-shadow(0 1.5rem 2rem rgba(66, 43, 22, .18));
    height: auto;
    max-height: 100%;
    max-width: none;
    object-fit: contain;
    position: relative;
    width: min(62vw, 62rem);
    z-index: 1;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #ts-hero .ts-hero-image {
        right: 1rem;
        width: 55vw;
    }

    #ts-hero .ts-hero-portrait {
        width: 62vw;
    }
}

@media (max-width: 991.98px) {
    #ts-hero.ts-full-screen {
        height: auto !important;
    }

    #ts-hero {
        min-height: 0;
        padding: calc(var(--ts-fixed-nav-offset) + var(--ts-section-space)) 0 var(--ts-section-space);
    }

    #ts-hero > .container {
        align-self: flex-start !important;
    }

    #ts-hero .row {
        align-items: flex-start !important;
    }

    #ts-hero .row > .col-lg-6:first-child {
        position: relative;
        z-index: 3;
    }

    #ts-hero .ts-hero-portrait-col {
        justify-content: center;
            margin-top: 0;
            margin-bottom: 2rem;
        min-height: 23rem;
        position: relative;
    }

    #ts-hero .ts-hero-image {
        bottom: auto;
        height: 23rem;
        justify-content: center;
        max-width: 100%;
        position: relative;
        right: auto;
        width: 100%;
    }

    #ts-hero .ts-hero-image-shape {
        bottom: 4%;
        border-radius: 3.5rem;
        height: 72%;
        right: 14%;
        width: 52%;
    }

    #ts-hero .ts-hero-portrait {
        max-height: 23rem;
        width: min(68vw, 24rem);
    }

    /* 1. Fade out the background shapes so the text and logo are readable */
    #ts-hero .ts-background .ts-background-image {
        opacity: 0.1 !important; 
    }
}

@media (max-width: 575.98px) {
    #ts-hero {
        padding: calc(var(--ts-fixed-nav-offset) + var(--ts-section-space)) 0 var(--ts-section-space);
    }

    #ts-hero .row > .col-lg-6:first-child {
        flex: 0 0 100%;
        margin-left: auto;
        margin-right: auto;
        max-width: calc(100vw - 2rem);
        min-width: 0;
    }

    #ts-hero h1 {
        font-size: 2rem;
        line-height: 1.18;
        margin-left: auto;
        margin-right: auto;
        max-width: 23rem;
        overflow-wrap: break-word;
    }

    #ts-hero h2 {
        font-size: 1.25rem;
    }

    #ts-hero p {
        line-height: 1.75;
        margin-left: auto;
        margin-right: auto;
        max-width: min(27rem, calc(100vw - 3rem));
        text-align: left;
    }

    #about-me p,
    #aboutMeAccordion .collapse p,
    #aboutMeAccordion .collapsing p {
        line-height: 1.75;
        margin-left: auto;
        margin-right: auto;
        max-width: min(27rem, calc(100vw - 3rem));
        text-align: left;
    }

    #about-me .pr-3 {
        margin-left: auto;
        margin-right: auto;
        max-width: min(27rem, calc(100vw - 3rem));
        padding-right: 0 !important;
    }

    #about-me .ts-title,
    #aboutMeAccordion {
        max-width: min(27rem, calc(100vw - 3rem));
    }

    #ts-hero .btn {
        margin-bottom: 1rem;
    }

    #ts-hero .ts-hero-portrait-col {
        margin-top: 0;
        margin-bottom: 1.65rem;
        min-height: 21.25rem;
    }

    #ts-hero .ts-hero-image {
        align-items: flex-start;
        height: 21.25rem;
        max-width: 24.5rem;
        overflow: hidden;
    }

    #ts-hero .ts-hero-image-shape {
        bottom: auto;
        border-radius: 2.75rem;
        height: 64%;
        left: 50%;
        right: auto;
        top: 4.9rem;
        transform: translateX(-50%) rotate(7deg);
        width: 68%;
    }

    #ts-hero .ts-hero-portrait {
        filter: drop-shadow(0 1rem 1.4rem rgba(66, 43, 22, .16));
        max-height: none;
        transform: translateY(-.45rem);
        width: min(94vw, 24.75rem);
    }
}

/*-------------------------------------------
  -- Navbar
-------------------------------------------*/

.navbar {
    background-color: transparent;
    box-shadow: none;
    font-size: .875rem;
    font-weight: 500;
    padding-bottom: 2rem;
    padding-top: 2rem;
    transition: .3s ease;
}

.navbar-brand.ts-brand {
    align-items: center;
    color: #111827;
    display: inline-flex;
    padding-bottom: .35rem;
    padding-top: .35rem;
    text-decoration: none;
}

.navbar-brand.ts-brand:hover,
.navbar-brand.ts-brand:focus {
    color: #111827;
    text-decoration: none;
}

.ts-brand-wordmark {
    display: flex;
    flex-direction: column;
    line-height: 1;
    min-width: 0;
}

.ts-brand-name {
    background: linear-gradient(90deg, #0f172a 0%, #111827 62%, #9a6400 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: #111827;
    display: inline-block;
    font-family: "Marcellus", Georgia, serif;
    font-size: 1.62rem;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: .95;
    text-shadow: 0 .05rem .12rem rgba(15, 23, 42, .08);
    -webkit-text-fill-color: transparent;
    white-space: nowrap;
}

.ts-brand-line {
    color: #526173;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-top: .4rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.navbar.in {
    background-color: #fff;
    box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .08);
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.navbar.in .ts-background {
    opacity: 1 !important;
}

.navbar .ts-background {
    background-color: #fff;
    opacity: 0;
    transition: 1s ease;
}

.navbar-light .navbar-nav .nav-link {
    color: #111827;
    font-weight: 600;
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: #000;
}

.navbar-light .navbar-toggler {
    border-color: rgba(17, 24, 39, .45);
}

[class*="navbar-expand"] .navbar-nav .nav-link {
    padding-top: .5rem;
    padding-bottom: .5rem;
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
}


/*-------------------------------------------
  -- Page
-------------------------------------------*/

.ts-page-wrapper {
    background-color: #faf9f6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
}

/*-------------------------------------------
  -- Partners
-------------------------------------------*/

.ts-partners a {
    display: block;
    padding: .625rem .3125rem;
}

/*-------------------------------------------
  -- Plugins
-------------------------------------------*/

.tv-site-widget {
    border: none !important;
}

iframe div {
    border: none;
}

/*-------------------------------------------
  -- Progress
-------------------------------------------*/

.progress {
    background-color: transparent;
    border: .125rem solid #f4b200;
    border-radius: 0;
    height: .625rem;
}

.progress .progress-bar {
    background-color: #f4b200;
}

/*-------------------------------------------
  -- Promo Numbers
-------------------------------------------*/

.ts-promo-numbers h2 {
    font-weight: normal;
}

.ts-promo-numbers h3 {
    font-weight: normal;
}

.ts-promo-number {
    margin-top: 1rem;
    margin-bottom: 1rem;
    position: relative;
}

.ts-promo-number .ts-promo-number-divider:after {
    content: "";
    bottom: 0;
    border: .125rem solid #f4b200;
    border-radius: 50%;
    height: .625rem;
    margin: auto;
    position: absolute;
    right: -0.3125rem;
    top: 0;
    width: .625rem;
}

/*-------------------------------------------
  -- Select
-------------------------------------------*/

select.form-control {
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    border-radius: .25rem;
    cursor: pointer;
    height: 2.8125rem !important;
    margin-top: -0.125rem;
    padding: .5rem;
    -webkit-appearance: none;
       -moz-appearance: none;
    appearance: none;
    text-indent: .0625rem;
    text-overflow: '';
}

select.form-control:focus, select.form-control:hover {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
}

select::-ms-expand {
    display: none;
}

.select-wrapper {
    position: relative;
}

.select-wrapper:before {
    position: absolute;
    display: inline-block;
    font-weight: 900;
    text-rendering: auto;
    top: 0;
    margin: auto;
    bottom: 0;
    right: .9375rem;
    height: 1.875rem;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome\ 5 Free";
    content: "\f0dd";
}

/*-------------------------------------------
  -- Slider
-------------------------------------------*/

.ts-slider {
    height: 100% !important;
}

.ts-slider div {
    height: 100% !important;
}

/*-------------------------------------------
  -- Tabs
-------------------------------------------*/

.nav-tabs {
    border-bottom: none;
}

.nav-tabs h4 {
    font-weight: normal;
    margin-bottom: 0;
}

.nav-tabs .nav-link {
    background-color: transparent;
    border: none;
    border-bottom: .1875rem solid transparent;
    margin-left: .9375rem;
    margin-right: .9375rem;
    padding-right: 0;
    padding-left: 0;
    color: inherit;
    opacity: .5;
}

.nav-tabs .nav-link.active {
    color: #191919;
    background-color: transparent;
    border-bottom: .1875rem solid #f4b200;
    opacity: 1;
}

/*-------------------------------------------
  -- Schools & Parenting Card
-------------------------------------------*/

.ts-schools-parenting-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 250, 235, 0.7) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: .75rem;
    box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .03);
    border: 1px solid rgba(244, 178, 0, 0.2);
    padding: 1.5rem 1rem;
    transition: all .3s ease;
    position: relative;
    overflow: hidden;

    /* Needed for reliable vertical centering */
    min-height: 200px;

    display: flex;
    flex-direction: column;
    align-items: center;    /* Centers horizontally */
    justify-content: center; /* Centers vertically */
    text-align: center;
}

.ts-schools-parenting-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .25rem;
    background-color: #f4b200;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s ease;
}

.ts-schools-parenting-card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 .75rem 2rem rgba(244, 178, 0, 0.12);
    background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(255, 250, 235, 0.9) 100%);
}

.ts-schools-parenting-card:hover::before {
    transform: scaleX(1);
}

.ts-schools-parenting-card .ts-icon {
    color: #f4b200;
    font-size: 2rem;
    left: 50%;
    margin-bottom: 0;
    position: absolute;
    top: 1.5rem;
    transform: translateX(-50%);
    display: inline-block;
}

.ts-schools-parenting-card h4 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.ts-schools-parenting-card p {
    color: #334155;
    margin-bottom: 0;
}

/***********************************************************************************************************************
D. Plugins Styles
***********************************************************************************************************************/

/*-------------------------------------------
  -- Magnific Popup
-------------------------------------------*/

/* overlay at start */

.mfp-fade.mfp-bg {
    opacity: 0;
    background-color: #000;
    -webkit-transition: all .15s ease-out;
       -moz-transition: all .15s ease-out;
            transition: all .15s ease-out;
}

/* overlay animate in */

.mfp-fade.mfp-bg.mfp-ready {
    opacity: .8;
}

/* overlay animate out */

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

/* content at start */

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all .15s ease-out;
       -moz-transition: all .15s ease-out;
            transition: all .15s ease-out;
}

/* content animate it */

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

/* content animate out */

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

/*-------------------------------------------
  -- Owl Carousel
-------------------------------------------*/

.owl-carousel .owl-stage, .owl-carousel .owl-stage-outer,
.owl-carousel .owl-item {
    height: 100%;
}

.owl-carousel .owl-dots {
    text-align: center;
}

.owl-carousel .owl-dots .owl-dot {
    display: inline-block;
    padding: .3125rem;
}

.owl-carousel .owl-dots .owl-dot:hover span,
.owl-carousel .owl-dots .owl-dot.active span {
    opacity: .7;
}

.owl-carousel .owl-dots .owl-dot span {
    background-color: #191919;
    border-radius: 50%;
    display: inline-block;
    height: .625rem;
    opacity: .2;
    transition: .3s ease;
    width: .625rem;
}

.owl-carousel .owl-nav {
    position: absolute;
    top: -1.25rem;
    bottom: 0;
    height: 0;
    margin: auto;
    width: 100%;
}

.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next {
    background-color: rgba(25, 25, 25, .6);
    border-radius: 50%;
    box-shadow: 0 .125rem .3125rem rgba(0, 0, 0, .1);
    color: #fff;
    display: inline-block;
    height: 2.5rem;
    position: absolute;
    text-align: center;
    transition: .3s ease;
    width: 2.5rem;
}

.owl-carousel .owl-nav .owl-prev:after, .owl-carousel .owl-nav .owl-next:after {
    font-family: "Font Awesome\ 5 Free";
    font-weight: 900;
    font-size: 1.375rem;
    line-height: 2.5rem;
    -webkit-font-smoothing: antialiased;
}

.owl-carousel .owl-nav .owl-prev:hover, .owl-carousel .owl-nav .owl-next:hover {
    background-color: rgba(25, 25, 25, .8);
}

.owl-carousel .owl-nav .owl-next {
    right: .3125rem;
}

.owl-carousel .owl-nav .owl-next:after {
    content: "\f105";
    margin-left: .1875rem;
}

.owl-carousel .owl-nav .owl-prev {
    left: .3125rem;
}

.owl-carousel .owl-nav .owl-prev:after {
    content: "\f104";
    margin-right: .0625rem;
}

/***********************************************************************************************************************
E. Template Specific Elements
***********************************************************************************************************************/

/*-------------------------------------------
  -- Centered Slider
-------------------------------------------*/

.ts-carousel-centered .slide {
    margin-bottom: 1rem;
    margin-top: 1rem;
    padding: 1rem;
}

.ts-carousel-centered .owl-item {
    perspective: 1000;
}

.ts-carousel-centered .owl-item .slide {
    opacity: .5;
    transition: .3s ease;
    transform: scale(.95);
}

.ts-carousel-centered .owl-item.active.center .slide {
    opacity: 1;
    transform: scale(1);
}

.ts-carousel-centered .owl-nav .owl-prev,
.ts-carousel-centered .owl-nav .owl-next {
    height: 3.75rem;
    width: 3.75rem;
}

.ts-carousel-centered .owl-nav .owl-prev:after,
.ts-carousel-centered .owl-nav .owl-next:after {
    font-size: 1.375rem;
    line-height: 3.75rem;
}

.ts-carousel-centered .owl-nav .owl-prev:hover,
.ts-carousel-centered .owl-nav .owl-next:hover {
    background-color: rgb(25, 25, 25);
}

.ts-carousel-centered .owl-nav .owl-next {
    right: 1.25rem;
}

.ts-carousel-centered .owl-nav .owl-prev {
    left: 1.25rem;
}

/*-------------------------------------------
  -- Hero Form Floated
-------------------------------------------*/

.floated {
    position: relative;
    width: 100%;
    z-index: 1;
    bottom: -1.875rem;
}

.floated form {
    position: relative;
    padding: 1.875rem 3.75rem;
}

/*-------------------------------------------
  -- Price Box
-------------------------------------------*/

.ts-price-box__promoted {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
    margin-top: -1.25rem;
    margin-bottom: .625rem;
    z-index: 2;
}

.ts-price-box__promoted .ts-title {
    transform: scale(1.2);
}

/*-------------------------------------------
  -- Time Line
-------------------------------------------*/

.ts-time-line__horizontal {
    padding-bottom: .625rem;
    padding-top: .625rem;
    position: relative;
    /* timeline line */
}

.ts-time-line__horizontal ul {
    padding-left: 1.875rem;
    list-style: none;
    position: relative;
}

.ts-time-line__horizontal:after {
    background-color: #474747;
    content: "";
    bottom: 6.875rem;
    height: .1875rem;
    left: 0;
    position: absolute;
    width: 100%;
}

.ts-time-line__horizontal .ts-time-line__item {
    flex: 0 0 auto;
    margin-right: 1.875rem;
    position: relative;
    width: 18.75rem;
}

.ts-time-line__horizontal .ts-time-line__item .ts-box {
    position: relative;
    /* dot */
}

.ts-time-line__horizontal .ts-time-line__item .ts-box:before {
    background-color: #474747;
    bottom: -4.375rem;
    border-radius: 100%;
    content: "";
    left: 1.6875rem;
    height: .75rem;
    position: absolute;
    width: .75rem;
}


.ts-time-line__horizontal .ts-time-line__item .ts-box:after {
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    border-width: .5rem .5rem 0 .5rem;
    bottom: -0.4375rem;
    content: "";
    left: 1.5625rem;
    height: 0;
    position: absolute;
    width: 0;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone {
    width: 4.375rem;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone .ts-box {
    background-color: #f4b200;
    color: #fff;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone .ts-box:after {
    border-color: #f4b200 transparent transparent transparent;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone h5 {
    writing-mode: vertical-lr;
    margin: 0;
}

.ts-time-line__horizontal .ts-time-line__item figure {
    margin-left: 1.875rem;
    margin-top: 4.6875rem;
}

.ts-time-line__horizontal .ts-time-line__item figure small {
    text-transform: uppercase;
    opacity: .4;
}

.ts-time-line__horizontal .ts-time-line__item figure small,
.ts-time-line__horizontal .ts-time-line__item figure h6 {
    font-weight: 600;
}

.ts-time-line__horizontal .owl-stage-outer {
    padding: 1rem 1rem 0 1rem;
}

.ts-time-line__horizontal .owl-stage {
    align-items: flex-end;
    display: flex;
}

.ts-time-line__horizontal .ts-sly-frame.ts-loaded > ul {
    align-items: flex-end;
    display: flex;
}

/*-------------------------------------------
  -- SVG Shapes
-------------------------------------------*/

.ts-svg {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    top: 0;
    z-index: -1;
    height: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    margin: auto;
}

.ts-story:hover {
    color: #fff;
}

.ts-story:hover p {
    color: #fff;
}

.ts-story:hover .ts-background {
    background-color: #000 !important;
}

.ts-story:hover .ts-background-image {
    opacity: .4 !important;
}

.ts-story {
    margin-bottom: 2rem;
    padding: 14rem 2rem 2rem 2rem;
    position: relative;
}

.ts-story .ts-background, .ts-story .ts-background-image {
    transition: .3s ease;
}

.ts-story figure {
    background-color: #fff;
    color: rgba(25, 25, 25, .2);
    font-weight: 500;
    position: absolute;
    top: -0.375rem;
    left: 3rem;
    padding: 1rem;
    transform: rotate(-90deg);
    transform-origin: bottom;
}

/*-------------------------------------------
  -- Other
-------------------------------------------*/

/* Footer push up */

#ts-footer .ts-box {
    margin-top: 0;
}

#ts-footer {
    margin-top: auto;
}

#ts-footer .button {
    color: #f4b200;
    display: block;
    font-size: .6rem;
    margin-top: .35rem;
}

#ts-footer .button:hover {
    color: #fff;
}

.ts-footer-social-simple {
    margin-top: 0;
}

.ts-footer-social-simple a {
    color: #cbd5e1;
    display: inline-flex;
    font-size: 1.2rem;
    justify-content: center;
    margin: 0 .35rem;
}

.ts-footer-social-simple a:hover,
.ts-footer-social-simple a:focus {
    color: #fff;
}

@media (max-width: 47.9375rem) {
    .ts-footer-social-simple {
        margin-top: .75rem;
        text-align: center;
    }
}


#contact .ts-box {
    margin-top: 0;
}

#contact {
    --contact-gold: #f4b200;
    --contact-gold-dark: #9a6400;
    --contact-ink: #191919;
    --contact-muted: #44546a;
    --contact-charcoal: #111827;
    --contact-charcoal-soft: #1f2937;
    --contact-ivory: #fffaf0;
    background:
        linear-gradient(180deg, #faf9f6 0%, #fffaf0 48%, #faf9f6 100%) !important;
    overflow: hidden;
}

.ts-contact-box {
    background:
        linear-gradient(90deg, var(--contact-charcoal) 0%, var(--contact-charcoal-soft) 49.8%, #fff 50%, #fff 100%);
    border: .0625rem solid rgba(25, 25, 25, .1);
    border-radius: .85rem;
    box-shadow: 0 1.65rem 4rem rgba(15, 23, 42, .16);
    overflow: hidden;
    padding: 0;
    position: relative;
}

.ts-contact-box::before {
    background: linear-gradient(90deg, var(--contact-gold) 0%, rgba(244, 178, 0, .45) 45%, rgba(25, 25, 25, .05) 100%);
    content: "";
    height: .25rem;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.ts-contact-box .row {
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
}

.ts-contact-box .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.ts-contact-details {
    background:
        radial-gradient(circle at top right, rgba(244, 178, 0, .2), transparent 18rem),
        linear-gradient(145deg, var(--contact-charcoal-soft) 0%, var(--contact-charcoal) 100%);
    color: rgba(255, 255, 255, .76);
    height: 100%;
    padding: 2.5rem 2.75rem;
    position: relative;
}

.ts-contact-details::after {
    background-image: radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1px);
    background-size: 1rem 1rem;
    bottom: 1.25rem;
    content: "";
    height: 8rem;
    opacity: .5;
    pointer-events: none;
    position: absolute;
    right: 1.5rem;
    width: 8rem;
}

.ts-contact-details h3,
.ts-contact-form-panel h3 {
    margin-bottom: 1.25rem;
}

.ts-contact-details h3 {
    color: #fffaf6;
}

.ts-contact-kicker {
    color: var(--contact-gold);
    display: block;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08rem;
    margin-bottom: .45rem;
    text-transform: uppercase;
}

.ts-contact-details .ts-contact-kicker {
    color: #f4c64e;
}

.ts-contact-details address {
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}

.ts-contact-details figure {
    display: flex;
    gap: 1rem;
    line-height: 1.55;
    margin-bottom: .9rem;
}

.ts-contact-details figure:last-child {
    margin-bottom: 0;
}

.ts-branch-card {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .06) 100%);
    border: .0625rem solid rgba(255, 255, 255, .12);
    border-left: .25rem solid var(--contact-gold);
    border-radius: .6rem;
    box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .13);
    color: rgba(255, 255, 255, .74);
    padding: 1rem;
    transition: transform .25s ease, box-shadow .25s ease;
}

.ts-branch-card:hover {
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .18);
    transform: translateY(-.125rem);
}

.ts-branch-city,
.ts-branch-name {
    display: block;
}

.ts-branch-city {
    color: #fffaf6;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: .25rem;
}

.ts-branch-name {
    color: #f4c64e;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: .35rem;
}

.ts-contact-details .font-weight-bold {
    color: #fffaf6;
    margin-bottom: .25rem;
}

.ts-contact-details a {
    color: #fffaf6;
    overflow-wrap: anywhere;
}

.ts-contact-details a:hover {
    color: #f4c64e;
}

.ts-contact-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(244, 178, 0, .28) 0%, rgba(255, 255, 255, .1) 100%);
    border-radius: 50%;
    box-shadow: inset 0 0 0 .0625rem rgba(255, 255, 255, .16);
    color: #f4c64e;
    display: inline-flex;
    flex: 0 0 2.25rem;
    height: 2.25rem;
    justify-content: center;
    margin-top: .25rem;
    width: 2.25rem;
}

.ts-contact-form-panel {
    background:
        linear-gradient(180deg, #fff 0%, var(--contact-ivory) 100%);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2.5rem 3rem;
}

.ts-contact-form-panel .ts-contact-kicker {
    color: var(--contact-gold);
}

.ts-contact-form-panel h3 {
    color: var(--contact-ink);
}

.ts-contact-heading-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.ts-contact-heading-row h3 {
    margin-bottom: 0 !important;
}

.ts-contact-direct {
    display: grid;
    gap: .75rem;
    grid-template-columns: 1fr;
    margin-bottom: 1.25rem;
}

.ts-contact-direct figure {
    align-items: flex-start;
    background:
        linear-gradient(135deg, #fff 0%, #fffaf0 100%);
    border: .0625rem solid rgba(25, 25, 25, .08);
    border-radius: .65rem;
    box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .06);
    display: flex;
    gap: .85rem;
    margin-bottom: 0;
    padding: 1rem;
}

.ts-contact-direct figure > span:last-child {
    min-width: 0;
}

.ts-contact-email-card a {
    overflow-wrap: normal;
    word-break: normal;
}

.ts-contact-phone-card span:last-child {
    column-gap: 1.5rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(8.5rem, 1fr));
}

.ts-contact-phone-card .font-weight-bold {
    grid-column: 1 / -1;
}

.ts-contact-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.ts-contact-social-links a {
    align-items: center;
    background: var(--contact-charcoal);
    border: .0625rem solid rgba(244, 178, 0, .25);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .95rem;
    height: 2.35rem;
    justify-content: center;
    line-height: 1;
    overflow-wrap: normal;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
    width: 2.35rem;
}

.ts-contact-social-links a:hover,
.ts-contact-social-links a:focus {
    background: var(--contact-gold);
    border-color: var(--contact-gold);
    color: var(--contact-ink);
    transform: translateY(-.1rem);
}

.ts-contact-direct .ts-contact-icon {
    flex-basis: 2rem;
    height: 2rem;
    margin-top: .1rem;
    width: 2rem;
}

.ts-contact-direct .font-weight-bold {
    color: var(--contact-ink);
}

.ts-contact-direct a {
    color: var(--contact-muted);
    display: block;
    font-size: .9rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ts-contact-direct a:hover {
    color: var(--contact-gold-dark);
}

.ts-contact-form-panel form {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    margin-bottom: 0;
}

.ts-contact-form-panel form > .row:first-of-type {
    margin-left: -.75rem;
    margin-right: -.75rem;
}

.ts-contact-form-panel form > .row:first-of-type > [class*="col-"] {
    padding-left: .75rem;
    padding-right: .75rem;
}

.ts-contact-form-panel form > .row:nth-of-type(2) {
    flex: 0 0 auto;
}

.ts-contact-form-panel form > .row:nth-of-type(2) .col-md-12,
.ts-contact-form-panel form > .row:nth-of-type(2) .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
}

.ts-contact-form-panel .form-control {
    background: #fffdf8;
    border: .0625rem solid rgba(25, 25, 25, .11);
    border-radius: .5rem;
    box-shadow: none;
    min-height: 3.25rem;
}

.ts-contact-form-panel textarea.form-control {
    flex: 0 0 auto;
    min-height: 8.5rem;
    resize: vertical;
}

.ts-contact-form-panel .form-control:focus {
    background: #fff;
    border-color: var(--contact-gold);
    box-shadow: 0 0 0 .2rem rgba(244, 178, 0, .16);
}

.ts-contact-form-panel label {
    color: var(--contact-ink);
    font-weight: 600;
}

.ts-contact-form-panel .btn {
    border-radius: .5rem;
    box-shadow: 0 .75rem 1.75rem rgba(244, 178, 0, .22);
    padding: .875rem 1.5rem;
}

#contact .btn-primary {
    background: var(--contact-gold);
    border-color: var(--contact-gold);
    color: #191919;
}

#contact .btn-primary:hover,
#contact .btn-primary:focus,
#contact .btn-primary:active {
    background: var(--contact-charcoal);
    border-color: var(--contact-charcoal);
    color: #fff;
}

.ts-contact-form-panel form > .form-group.clearfix {
    margin-bottom: 0;
    margin-top: 1.25rem;
}

.ts-contact-copyright {
    color: #364151;
}

.ts-project-card-body {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.ts-project-card-body h4 {
    margin-bottom: 0.75rem;
}

.ts-project-card-body p {
    margin-bottom: 0;
    max-width: 22rem;
    text-align: center;
}

.ts-faq-section {
    background:
        radial-gradient(circle at 15% 18%, rgba(244, 178, 0, .13), transparent 18rem),
        linear-gradient(180deg, #fff 0%, #faf9f6 100%);
    overflow: hidden;
}

.ts-faq-section::before {
    background-image: radial-gradient(rgba(25, 25, 25, .06) 1px, transparent 1px);
    background-size: 1.15rem 1.15rem;
    bottom: 0;
    content: "";
    left: 0;
    opacity: .55;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}

.ts-faq-section .container {
    position: relative;
    z-index: 1;
}

.ts-faq-title {
    margin-left: auto;
    margin-right: auto;
    max-width: 44rem;
}

.ts-faq-kicker {
    color: #a86d00;
    display: inline-block;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08rem;
    margin-bottom: .75rem;
    text-transform: uppercase;
}

.ts-faq-title h2 {
    color: #111827;
    font-family: "Marcellus", Georgia, serif;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.12;
}

.ts-faq-title h3 {
    color: #44546a;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
    margin-left: auto;
    margin-right: auto;
    max-width: 34rem;
}

.ts-faq-list {
    display: grid;
    gap: 1rem;
}

.ts-faq-item {
    background: rgba(255, 255, 255, .96);
    border: .0625rem solid rgba(25, 25, 25, .08);
    border-left: .25rem solid rgba(244, 178, 0, .7);
    border-radius: .75rem;
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .08);
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease;
}

.ts-faq-item:hover {
    box-shadow: 0 1.25rem 2.75rem rgba(15, 23, 42, .12);
    transform: translateY(-.1rem);
}

.ts-faq-question {
    align-items: center;
    background: transparent;
    border: 0;
    color: #191919;
    cursor: pointer;
    display: flex;
    font-family: 'Nunito', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    gap: 1rem;
    justify-content: space-between;
    line-height: 1.35;
    padding: 1.25rem 1.45rem;
    text-align: left;
    width: 100%;
}

.ts-faq-question:hover {
    color: #8a5b00;
}

.ts-faq-question:focus {
    box-shadow: inset 0 0 0 .15rem rgba(244, 178, 0, .24);
    outline: 0;
}

.ts-faq-question i {
    align-items: center;
    background: rgba(244, 178, 0, .13);
    border-radius: 50%;
    color: #a86d00;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .85rem;
    height: 2rem;
    justify-content: center;
    transition: transform .25s ease;
    width: 2rem;
}

.ts-faq-question:not(.collapsed) i {
    transform: rotate(180deg);
}

.ts-faq-answer {
    border-top: .0625rem solid rgba(25, 25, 25, .07);
    padding: 1.15rem 1.45rem 1.35rem;
}

.ts-faq-answer p {
    color: #334155;
    line-height: 1.75;
    margin-bottom: 0;
}

@media (max-width: 575.98px) {
    .ts-faq-question {
        font-size: 1rem;
        padding: 1.05rem 1rem;
    }

    .ts-faq-answer {
        padding: 1rem;
    }
}

.ts-tabs-presentation .tab-pane img {
    opacity: 0;
    transition: .3s ease;
    transform: translateY(1.25rem);
}

.ts-tabs-presentation .tab-pane.show.active img {
    opacity: 1;
    transform: translateY(0);
}

/* Hero navigation arrows */

#ts-hero .owl-prev, #ts-hero .owl-next {
    background-color: transparent;
    border: .125rem solid rgba(255, 255, 255, .8);
}

#ts-hero .owl-prev:after, #ts-hero .owl-next:after {
    line-height: 2.25rem;
}

/* Hero slider height */

.ts-hero-slider {
    height: 100% !important;
}

.ts-hero-slider div {
    height: 100% !important;
}

@media (min-width: 36rem) and (max-width: 47.9375rem) {
    html {
        font-size: 85%;
    }

    h1, .ts-h1 {
        font-size: 2.5rem;
    }

    h2, .ts-h2 {
        font-size: 1.625rem;
    }

    h3, .ts-h3 {
        font-size: 1.25rem;
    }

    .ts-column-count-sm-1 {
        column-count: 1;
    }

    .ts-column-count-sm-2 {
        column-count: 2;
    }

    .ts-column-count-sm-3 {
        column-count: 3;
    }

    .ts-column-count-sm-4 {
        column-count: 4;
    }

    .ts-promo-numbers h2 {
        font-size: 2.375rem;
    }
}

@media (max-width: 61.9375rem) {
    .ts-contact-box {
        background: #fff;
    }

    .ts-contact-details,
    .ts-contact-form-panel {
        padding: 2.5rem;
    }

    .ts-contact-direct {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 35.9375rem) {
    .ts-contact-details,
    .ts-contact-form-panel {
        padding: 2rem 1.5rem;
    }

    .ts-contact-details figure {
        gap: .875rem;
    }

    .ts-branch-card,
    .ts-contact-direct figure {
        padding: .95rem;
    }

    .ts-contact-phone-card span:last-child {
        grid-template-columns: 1fr;
    }

    .ts-contact-form-panel .btn {
        width: 100%;
    }
}

/* Mobile Menu Visibility Fix */
@media (max-width: 61.9375rem) {
    .navbar {
        position: fixed;
    }

    .navbar-brand.ts-brand {
        max-width: calc(100vw - 6rem);
    }

    .navbar-collapse {
        background-color: #fff;
        border-radius: .5rem;
        box-shadow: 0 1rem 2rem rgba(0, 0, 0, .1);
        left: 1rem;
        margin-top: 1rem;
        padding: .5rem 1.5rem 1.5rem;
        position: absolute;
        right: 1rem;
        top: 100%;
        z-index: 1000;
    }

    .navbar-collapse .navbar-nav {
        text-align: center !important;
    }

    .navbar-collapse .nav-link {
        color: #111827;
        font-weight: 600;
        text-align: center;
    }

    .navbar-collapse .nav-link:hover,
    .navbar-collapse .nav-link:focus,
    .navbar-collapse .nav-link.active {
        color: #000;
    }
}

@media (max-width: 35.9375rem) {
    .navbar-brand.ts-brand {
        max-width: calc(100vw - 5.75rem);
    }

    .ts-brand-name {
        font-size: 1.25rem;
    }

    .ts-brand-line {
        display: block;
        font-size: .55rem;
        margin-top: .4rem;
    }
}

@media (min-width: 48rem) and (max-width: 61.9375rem) {
    html {
        font-size: 90%;
    }

    h1, .ts-h1 {
        font-size: 3rem;
    }

    h2, .ts-h2 {
        font-size: 1.875rem;
    }

    h3, .ts-h3 {
        font-size: 1.375rem;
    }

    .ts-column-count-md-1 {
        column-count: 1;
    }

    .ts-column-count-md-2 {
        column-count: 2;
    }

    .ts-column-count-md-3 {
        column-count: 3;
    }

    .ts-column-count-md-4 {
        column-count: 4;
    }

    .ts-promo-numbers h2 {
        font-size: 2.5rem;
    }
}

@media (min-width: 62rem) and (max-width: 74.9375rem) {
    html {
        font-size: 95%;
    }

    h1, .ts-h1 {
        font-size: 3.125rem;
    }

    h2, .ts-h2 {
        font-size: 2rem;
    }

    h3, .ts-h3 {
        font-size: 1.375rem;
    }

    .ts-column-count-lg-1 {
        column-count: 1;
    }

    .ts-column-count-lg-2 {
        column-count: 2;
    }

    .ts-column-count-lg-3 {
        column-count: 3;
    }

    .ts-column-count-lg-4 {
        column-count: 4;
    }

    .ts-block {
        padding-bottom: var(--ts-section-space);
        padding-top: var(--ts-section-space);
    }

    .ts-card__image {
        height: 12.5rem;
    }

    .ts-promo-numbers h2 {
        font-size: 2.75rem;
    }
}

@media (min-width: 75rem) {
    html {
        font-size: 100%;
    }

    h1, .ts-h1 {
        font-size: 3.5rem;
    }

    h2, .ts-h2 {
        font-size: 2.25rem;
    }

    h3, .ts-h3 {
        font-size: 1.625rem;
    }

    .ts-column-count-xl-1 {
        column-count: 1;
    }

    .ts-column-count-xl-2 {
        column-count: 2;
    }

    .ts-column-count-xl-3 {
        column-count: 3;
    }

    .ts-column-count-xl-4 {
        column-count: 4;
    }

    .ts-block {
        padding-bottom: var(--ts-section-space);
        padding-top: var(--ts-section-space);
    }

    .ts-card__image {
        height: 15.625rem;
    }

    .navbar.navbar-expand-xl .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-xl .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-xl .ts-background {
        opacity: 0;
    }

    .ts-promo-numbers h2 {
        font-size: 3rem;
    }

    .ts-carousel-centered .owl-nav .owl-next {
        right: 5rem;
    }

    .ts-carousel-centered .owl-nav .owl-prev {
        left: 5rem;
    }

    .floated form {
        padding: 2.5rem 5rem;
    }
}

@media (max-width: 35.9375rem) {
    :root {
        --ts-section-space: 2.5rem;
        --ts-section-inner-gap: 2rem;
        --ts-fixed-nav-offset: 5rem;
    }

    h1, .ts-h1 {
        font-size: 2rem;
        margin-bottom: 1.25rem;
    }

    h2, .ts-h2 {
        font-size: 1.375rem;
    }

    h3, .ts-h3 {
        font-size: 1.125rem;
    }

    [class*="ts-column-count-"] {
        column-count: 1;
    }

    .ts-xs-text-center {
        text-align: center !important;
    }

    .ts-title {
        margin-bottom: 1.875rem;
    }

    .ts-promo-numbers h2 {
        font-size: 2.25rem;
    }

    .ts-block {
        padding-top: calc(var(--ts-section-space) - 2rem);
        padding-bottom: var(--ts-section-space);
    }
}

@media (min-width: 36rem) and (max-width: 61.9375rem) {
    h1, .ts-h1 {
        margin-bottom: 1.875rem;
    }

    .ts-title {
        margin-bottom: 3.125rem;
    }

    .ts-block-inside {
        padding: 2.5rem;
    }
}

@media (min-width: 62rem) {
    h1, .ts-h1 {
        margin-bottom: 2.5rem;
    }

    .ts-title {
        margin-bottom: 5rem;
    }

    .ts-block-inside {
        padding: 3.75rem;
    }

    .navbar.navbar-expand-lg .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-lg .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-lg .ts-background {
        opacity: 0;
    }

    .floated {
        position: absolute;
    }
}

@media (max-width: 47.9375rem) {
    h4, .ts-h4 {
        font-size: 1.125rem;
    }
}

@media (min-width: 48rem) {
    h4, .ts-h4 {
        font-size: 1.25rem;
    }

    .navbar.navbar-expand-md .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-md .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-md .ts-background {
        opacity: 0;
    }
}

@media (max-width: 61.9375rem) {
    .ts-card__image {
        height: 15.625rem;
    }
}

@media (min-width: 36rem) {
    .navbar.navbar-expand-sm .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-sm .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-sm .ts-background {
        opacity: 0;
    }

    .ts-carousel-centered .owl-nav .owl-next {
        right: 2.5rem;
    }

    .ts-carousel-centered .owl-nav .owl-prev {
        left: 2.5rem;
    }
}

/*-------------------------------------------
  -- Consistent Section Title Spacing
-------------------------------------------*/

:root {
    --ts-section-title-gap: 1.5rem;
    --ts-section-title-stack-gap: 2.5rem;
}

.ts-block > .container > .ts-title,
.ts-media-page .ts-block > .container > .ts-title,
#about-me .ts-title {
    margin-top: 0 !important;
    margin-bottom: var(--ts-section-title-gap) !important;
}

.ts-media-page .ts-title.mt-5 {
    margin-top: calc(var(--ts-section-inner-gap) - 1.5rem) !important;
}

.ts-title h1,
.ts-title h2,
.ts-title h3,
.ts-title h4,
.ts-title h5,
.ts-title h6 {
    margin-bottom: 0;
}

.ts-title h2 + h3 {
    margin-top: 1.3rem;
}

#ts-hero h1 {
    margin-top: 0;
    margin-bottom: .5rem;
}

#ts-hero h2 {
    background: linear-gradient(90deg, #0f172a 0%, #111827 60%, #a86d00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: #111827;
    display: inline-block;
    font-family: "Marcellus", Georgia, serif;
    font-weight: 400;
    letter-spacing: 0;
    margin-bottom: var(--ts-section-title-gap) !important;
    margin-top: .75rem;
    -webkit-text-fill-color: transparent;
}

#ts-hero p:first-of-type,
#about-me .ts-title + p {
    margin-top: 0;
}

.ts-contact-details h3,
.ts-contact-form-panel h3 {
    margin-top: 0;
    margin-bottom: var(--ts-section-title-gap);
}

#about-me .row > .col-sm-6.order-2 {
    align-items: flex-start;
}

@media (max-width: 35.9375rem) {
    :root {
        --ts-section-title-gap: 1.25rem;
        --ts-section-title-stack-gap: 2rem;
    }
}

/* Camouflage the trackpad bounce at the top of the page */
html, body {
    background-color: #faf9f6 !important;
}

/*-------------------------------------------
  -- Custom Section Backgrounds
-------------------------------------------*/

.ts-bg-glow-pattern {
    background-color: #faf9f6;
    position: relative;
    z-index: 1;
}

.ts-bg-glow-pattern::before {
    content: '';
    position: absolute;
    width: 22rem;
    height: 22rem;
    background: radial-gradient(circle, rgba(244, 178, 0, 0.15) 0%, rgba(244, 178, 0, 0) 70%);
    border-radius: 50%;
    top: -5rem;
    left: -5rem;
    z-index: -1;
    pointer-events: none;
}

.ts-bg-glow-pattern::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(25, 25, 25, 0.07) 1px, transparent 1px);
    background-size: 1.25rem 1.25rem;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 90%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 90%, transparent 100%);
    z-index: -2;
    pointer-events: none;
}

#numbers {
    padding-bottom: calc(var(--ts-section-space) + 1rem);
}

#our-projects {
    padding-top: var(--ts-section-space);
}
#our-projects {
    padding-bottom: calc(var(--ts-section-space) + 0.4rem);
}

/*-------------------------------------------
  -- Home Hero Responsive Composition
-------------------------------------------*/

#ts-hero {
    background-color: #faf9f6;
    height: auto !important;
    min-height: auto;
    padding: clamp(8rem, 8vh, 7rem) 0 clamp(.75rem, 2vh, 1.25rem);
}

#about-me.ts-about-section {
    padding-top: clamp(1rem, 2.5vw, 1.75rem);
}

.navbar > .container {
    max-width: min(calc(100% - 4rem), 88rem);
}

#ts-hero > .container {
    align-items: flex-start;
    align-self: stretch !important;
    display: flex;
    position: relative;
    width: 100%;
    z-index: 2;
}

#ts-hero .row {
    align-items: flex-start !important;
    column-gap: clamp(1.25rem, 2vw, 2.5rem);
    flex-wrap: nowrap;
    justify-content: center;
    width: 100%;
}

#ts-hero .row > .col-lg-6:first-child {
    flex: 1 1 51rem;
    max-width: none;
    position: relative;
    z-index: 3;
}

#ts-hero .ts-hero-copy-col {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    padding-top: 0;
    text-align: left !important;
}

#ts-hero .ts-hero-copy-col h1,
#ts-hero .ts-hero-copy-col h2,
#ts-hero .ts-hero-copy-col p,
#ts-hero .ts-hero-copy-col .btn {
    margin-left: 0;
    margin-right: 0;
    align-content: center;
    text-align: justify;
}

#ts-hero h1 {
    font-size: clamp(3rem, min(3.55vw, 6.2vh), 4.05rem);
    line-height: 1.13;
    margin-bottom: clamp(.9rem, 2vh, 1.35rem);
    max-width: 52rem;
}

#ts-hero .ts-hero-title-line {
    display: block;
}

@media (min-width: 992px) {
    #ts-hero .row {
        align-items: flex-start !important;
        column-gap: clamp(1.75rem, 2.25vw, 2.75rem);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(27rem, 36rem);
        margin-left: -15px;
        margin-right: -15px;
        transform: none;
        width: auto;
    }

    #ts-hero .row > .col-lg-6:first-child,
    #ts-hero .ts-hero-portrait-col {
        flex: initial;
        max-width: none;
        min-width: 0;
        width: auto;
    }

    #ts-hero .row > .col-lg-6:first-child {
        padding-left: 15px;
        padding-right: 0;
    }

    #ts-hero .ts-hero-copy-col {
        padding-top: clamp(.5rem, 2.4vh, 1.75rem);
    }

    #ts-hero .ts-hero-portrait-col {
        justify-content: flex-start;
        padding-left: 0;
        padding-right: 15px;
    }

    #ts-hero .ts-hero-image {
        height: clamp(31rem, min(42vw, calc(100svh - 11.5rem)), 43rem);
        max-width: 100%;
        width: 100%;
    }

    #ts-hero .ts-hero-title-line {
        white-space: nowrap;
    }
}

#ts-hero h2 {
    font-size: clamp(1.85rem, min(2.2vw, 4.3vh), 2.55rem);
    line-height: 1.12;
    margin-bottom: clamp(.9rem, 2vh, 1.65rem) !important;
}

#ts-hero p {
    color: #2f3b4a;
    font-size: clamp(.98rem, min(1vw, 2vh), 1.08rem);
    line-height: 1.68;
    margin-bottom: clamp(1rem, 2vh, 1.65rem);
    max-width: 45rem;
    text-align: justify;
    text-align-last: left;
}

#ts-hero .btn {
    align-items: center;
    display: inline-flex;
    min-height: clamp(3.35rem, 6vh, 4rem);
    padding-left: 1.9rem;
    padding-right: 1.9rem;
}

#ts-hero .ts-hero-portrait-col {
    align-items: center;
    flex: 0 1 clamp(30rem, 36vw, 36rem);
    justify-content: flex-start;
    min-height: 0;
    position: relative;
}

#ts-hero .ts-hero-image {
    align-items: center;
    bottom: auto;
    display: flex;
    height: clamp(31rem, min(44vw, calc(100svh - 11.5rem)), 46rem);
    justify-content: center;
    max-width: 100%;
    overflow: hidden;
    pointer-events: none;
    position: relative;
    right: auto;
    width: clamp(30rem, 36vw, 36rem);
    z-index: 1;
}

#ts-hero .ts-hero-image::before {
    background: radial-gradient(ellipse at center, rgba(63, 49, 31, .16) 0%, rgba(63, 49, 31, .07) 44%, rgba(63, 49, 31, 0) 74%);
    border-radius: 50%;
    bottom: 4%;
    content: "";
    height: 12%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    right: auto;
    transform: translateX(-50%);
    width: 70%;
    z-index: 1;
}

#ts-hero .ts-hero-image::after {
    display: none;
}

@media (min-width: 992px) {
    #ts-hero .ts-hero-image {
        transform: translateY(clamp(-2.75rem, -4vh, -1.25rem));
    }
}

#ts-hero .ts-hero-image-shape {
    border-radius: clamp(3.25rem, 5vw, 5rem);
    bottom: 8%;
    display: block !important;
    height: 63%;
    right: 1%;
    transform: rotate(8deg);
    width: 76%;
}

#ts-hero .ts-hero-portrait {
    display: block;
    border-radius: 0;
    box-shadow: none;
    filter: none !important;
    height: 109%;
    -webkit-mask-image: none;
    mask-image: none;
    max-height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: bottom center;
    position: relative;
    transform: translateY(-4.5%);
    width: auto;
    z-index: 2;
}

#ts-hero .ts-hero-quote {
    align-items: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, .96) 0%, rgba(255, 247, 224, .97) 100%);
    border: 1px solid rgba(244, 178, 0, .42);
    border-left: .4rem solid #f4b200;
    border-radius: .5rem;
    bottom: clamp(1rem, 4.5%, 2rem);
    box-shadow: 0 1rem 2.35rem rgba(66, 43, 22, .18);
    box-sizing: border-box;
    color: #263241;
    display: flex;
    gap: .65rem;
    left: 50%;
    margin: 0;
    max-width: 25rem;
    padding: .78rem 1rem .8rem .85rem;
    position: absolute;
    transform: translateX(-43%);
    width: min(82%, 25rem);
    z-index: 3;
}

#ts-hero .ts-hero-quote-mark {
    color: #d88600;
    flex: 0 0 auto;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.4rem;
    line-height: .75;
    margin-top: -.2rem;
}

#ts-hero .ts-hero-quote figcaption {
    font-size: clamp(.86rem, min(.92vw, 1.8vh), 1rem);
    font-weight: 700;
    line-height: 1.34;
    margin: 0;
}

#ts-hero .ts-hero-quote figcaption span {
    display: inline;
}

#ts-hero .ts-hero-quote figcaption span + span::before {
    content: " ";
}

#ts-hero .ts-hero-image-shape {
    box-shadow: none !important;
    display: block !important;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #ts-hero h1 {
        font-size: clamp(2.75rem, 4.1vw, 3.35rem);
        max-width: 34rem;
    }

    #ts-hero p {
        font-size: 1rem;
        line-height: 1.68;
        max-width: 34rem;
    }

    #ts-hero .ts-hero-image {
        height: clamp(27rem, min(52vw, calc(100svh - 9rem)), 39rem);
        width: min(43vw, 36rem);
    }
}

@media (max-width: 991.98px) {
    .navbar {
        padding-bottom: 1.35rem;
        padding-top: 1.35rem;
    }

    #ts-hero.ts-full-screen {
        height: auto !important;
    }

    #ts-hero {
        min-height: 0;
        padding: calc(var(--ts-fixed-nav-offset) + 2.25rem) 0 3.25rem;
    }

    #ts-hero > .container {
        align-self: flex-start !important;
    }

    #ts-hero .row {
        align-items: center !important;
        flex-wrap: wrap;
        min-height: 0;
    }

    #ts-hero .row > .col-lg-6:first-child {
        margin-left: auto;
        margin-right: auto;
        max-width: 45rem;
    }

    #ts-hero .ts-hero-copy-col {
        align-items: center;
        text-align: center !important;
    }

    #ts-hero .ts-hero-portrait-col {
        flex: 0 0 100%;
        justify-content: center;
        margin-bottom: clamp(1.35rem, 3vw, 2rem);
        min-height: 0;
    }

    #ts-hero .ts-hero-image {
        align-items: flex-end;
        height: clamp(26rem, 72vw, 35rem);
        max-width: 35rem;
        width: min(96vw, 35rem);
    }

    #ts-hero .ts-hero-image-shape {
        border-radius: clamp(2.35rem, 8vw, 4rem);
        bottom: 5%;
        display: block !important;
        height: 64%;
        left: 50%;
        right: auto;
        transform: translateX(-47%) rotate(7deg);
        width: 74%;
    }

    #ts-hero .ts-hero-portrait {
        height: 108%;
        max-height: 100%;
        transform: translateY(-3.5%);
        width: auto;
    }

    #ts-hero .ts-hero-quote {
        bottom: .25rem;
        max-width: 24rem;
        transform: translateX(-50%);
        width: min(82%, 24rem);
    }

    #ts-hero h1 {
        font-size: clamp(2.35rem, 6.1vw, 3.35rem);
        line-height: 1.15;
        margin-left: auto;
        margin-right: auto;
        max-width: 42rem;
    }

    #ts-hero h2 {
        font-size: clamp(1.65rem, 3.8vw, 2.1rem);
        margin-bottom: 1.35rem !important;
    }

    #ts-hero p {
        font-size: 1rem;
        line-height: 1.78;
        margin-left: auto;
        margin-right: auto;
        max-width: min(39rem, calc(100vw - 3rem));
        text-align: left;
        text-align-last: left;
    }

    #ts-hero .btn {
        margin-top: .25rem;
    }
}

@media (max-width: 575.98px) {
    #ts-hero {
        padding: calc(var(--ts-fixed-nav-offset) + .65rem) 0 2.75rem;
    }

    #ts-hero > .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #ts-hero .ts-hero-portrait-col {
        margin-bottom: 1.2rem;
    }

    #ts-hero .ts-hero-image {
        align-items: flex-end;
        height: clamp(21.5rem, 86vw, 25rem);
        max-width: 23.75rem;
        overflow: hidden;
        width: min(96vw, 23.75rem);
    }

    #ts-hero .ts-hero-image::after {
        display: none;
    }

    #ts-hero .ts-hero-image-shape {
        border-radius: 2.9rem;
        bottom: 1.35rem;
        display: block !important;
        height: 72%;
        left: 50%;
        transform: translateX(-45%) rotate(5deg);
        width: 78%;
    }

    #ts-hero .ts-hero-portrait {
        height: 112%;
        max-height: 100%;
        transform: translateY(0);
    }

    #ts-hero .ts-hero-quote {
        align-items: flex-start;
        bottom: .1rem;
        gap: .5rem;
        padding: .68rem .8rem .7rem .72rem;
        width: min(78%, 18.5rem);
    }

    #ts-hero .ts-hero-quote-mark {
        font-size: 2rem;
    }

    #ts-hero .ts-hero-quote figcaption {
        font-size: .82rem;
        line-height: 1.3;
    }

    #ts-hero .ts-hero-quote figcaption span {
        display: block;
    }

    #ts-hero .ts-hero-quote figcaption span + span::before {
        content: "";
    }

    #ts-hero h1 {
        font-size: clamp(2rem, 7.1vw, 2.35rem);
        line-height: 1.17;
        margin-bottom: 1rem;
        max-width: 24rem;
    }

    #ts-hero h2 {
        font-size: clamp(1.4rem, 5vw, 1.7rem);
        margin-top: .65rem;
    }

    #ts-hero p {
        font-size: .98rem;
        line-height: 1.76;
        max-width: min(28rem, calc(100vw - 2.5rem));
    }

    #ts-hero .btn {
        min-height: 3.55rem;
        padding-left: 1.65rem;
        padding-right: 1.65rem;
    }
}
