/* ==========================================================================
   Base Styles (supplements Tailwind preflight)
   ========================================================================== */

html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 100px;
}

#application {
  scroll-margin-top: 146px;
}

body {
    -webkit-font-smoothing: unset;
    line-height: 1.4;
    overflow-x: hidden;
    background-color: #000000;
    color: #ffffff;
    font-size: 16px;
    font-family: 'Whitney';
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

img {
    max-width: 100%;
    vertical-align: middle;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: inherit;
    font-weight: lighter;
    line-height: 1.4;
    margin-top: .2rem;
    margin-bottom: .5rem
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: inherit;
    text-decoration: none;
    font-weight: inherit
}

.float-content-wrap h1,
.float-content-wrap h2,
.float-content-wrap h3,
.float-content-wrap h4,
.float-content-wrap h5,
.float-content-wrap h6 {
    clear: inherit;
}

dl, ol, ul {
    margin-top: 0;
    margin-bottom: 1rem;
}

ul li {
    line-height: 1.2;
    margin-bottom: .55rem;
}

li>a:hover {
	text-decoration: underline;
}

.float-content-wrap .image-float {
    padding-bottom: 10px;
    padding-left: 50px;
    float: right;
    max-width: 640px;
    height: auto;
}

.h1,
h1 {
    font-size: 3.6rem
}

.h2,
h2 {
    font-size: 3.4rem
}

.h3,
h3 {
    font-size: 1.6875rem
}

.h4,
h4 {
    font-size: 1.4375rem
}

.h5,
h5 {
    font-size: 1.125rem
}

.h6,
h6 {
    font-size: 1.1rem
}

p {
    font-family: inherit;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    text-rendering: optimizeLegibility;
}

.homepanel{
	text-align: center;
    min-height: 1520px;
    max-width: 1280px;
    margin: 12px auto 0;
    position: relative;
    background-position: 50% 10%;
    background-size: cover;
    background-attachment: unset !important;
	background-repeat: no-repeat !important;
	background-position: 50% 10% !important;
	position: relative;
}

.overlay,
.overlay-light {position: relative;}

.homepanel::after,
.overlay::after,
.overlay-light::after {
	content: '';
	position: absolute;
	inset: 0;
}

.homepanel::after,
.overlay::after {
	background-color: rgba(0,0,0,.8)
}

.overlay-light::after {
	background-color: rgba(0,0,0,.35)
}

.homepanel>div,
.homepanel>section,
.overlay>div,
.overlay>section,
.overlay-light>div,
.overlay-light>section {
    position: relative;
    z-index: 1;
}

.homepanel form {
 text-align: center;
}

.homepanel .form-wrapper{
	background-color: transparent;
}

.btn {
    display: inline-block;
    margin: 0;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    white-space: nowrap;
    text-decoration: none;
    line-height: normal;
    position: relative;
    padding: 8px;
    font-family: Whitney, sans-serif;
    font-size: .85rem;
    font-weight: 300;
    padding: .5rem;
    white-space: nowrap;
    text-transform: uppercase;
    -webkit-transition: background-color .3s ease-out;
    transition: background-color .3s ease-out;
}

.btn-inverse {
    color: #fff;
    border-color: #00a885;
    background-color: #00a885
}

.btn-inverse:hover {
    background-color: transparent !important;
    cursor: pointer !important;
    color: #00a885 !important;
}

/* a {
    color: #6d6d6d;
    text-decoration: none
}

a:focus,a:hover {
    color: #474747;
    text-decoration: underline
} */

.site-container {
    max-width: 1000px;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.col-gap {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

.blog-container {
	padding-top: 3rem;
}

.about-trent {
    padding: 3rem 0
}


/* ==========================================================================
   Reusable Button Components
   ========================================================================== */

.btn-theme {
    display: inline-block;
    color: #fff;
    border: 1px solid #00a885;
    box-shadow: none;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 300;
    padding: 0.5rem;
    white-space: nowrap;
    transition: background-color 0.3s ease-out;
    text-decoration: none;
    cursor: pointer;
    background: transparent;
}

.btn-theme:hover {
    background-color: #00a885;
    border-color: #00a885;
    color: #fff;
    text-decoration: none;
}

.btn-inverse {
    color: #fff;
    border-color: #00a885;
    background-color: #00a885;
}

.btn-inverse:hover {
    background-color: transparent;
    cursor: pointer;
    color: #00a885;
}

footer ul li:first-child {
    font-weight: 600;
}

main {
    margin-top: 179px;
}

.pill-inner-radius {
    -webkit-mask-image:
        radial-gradient(circle 18px at 0 50%, transparent 99%, black 100%),
        linear-gradient(black, black);
    -webkit-mask-composite: destination-in;
    -webkit-mask-repeat: no-repeat;
}

.about {
    padding-top: 1.5625rem;
    padding-bottom: 3.125rem;
}

.about p {
    margin-bottom: 1.25rem;
}


.float-content-wrap h1,
.float-content-wrap h2,
.float-content-wrap h3,
.float-content-wrap h4,
.float-content-wrap h5,
.float-content-wrap h6 {
    clear: inherit;
}

.float-content-wrap .image-float {
    padding-bottom: 10px;
    padding-left: 50px;
    float: right;
    max-width: 640px;
    height: auto;
    margin: 0;
}

/* Lightbox thumbnail strip — inactive slides dimmed */
#lightbox-thumb-slider .slick-slide {
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

#lightbox-thumb-slider .slick-current {
    opacity: 1;
}

#lightbox .slick-list,
#lightbox .slick-track {
    height: 100%;
}

/* Employment Form */
.form-wrapper p {
	margin-bottom: 0;
}

.form-wrapper input[type=submit],.btn,input.wpcf7-form-control.wpcf7-submit {
    display: inline-block;
    margin: 0;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    white-space: nowrap;
    text-decoration: none;
    line-height: normal;
    position: relative;
    padding: 8px;
    font-family: Whitney,sans-serif;
    font-size: .85rem;
    font-weight: 300;
    padding: .5rem;
    white-space: nowrap;
    text-transform: uppercase;
    -webkit-transition: background-color .3s ease-out;
    transition: background-color .3s ease-out
}

 .form-wrapper input[type=submit].focus, .form-wrapper input[type=submit]:focus, .form-wrapper input[type=submit]:hover,.btn.focus,.btn:focus,.btn:hover,input.wpcf7-form-control.wpcf7-submit.focus,input.wpcf7-form-control.wpcf7-submit:focus,input.wpcf7-form-control.wpcf7-submit:hover {
    text-decoration: none
}

 .form-wrapper input[type=submit].active, .form-wrapper input[type=submit]:active,.btn.active,.btn:active,input.wpcf7-form-control.wpcf7-submit.active,input.wpcf7-form-control.wpcf7-submit:active {
    outline: 0;
    background-image: none;
    -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
    box-shadow: inset 0 3px 5px rgba(0,0,0,.125)
}

 .form-wrapper input[type=submit].disabled, .form-wrapper input[type=submit][disabled],.btn.disabled,.btn[disabled],fieldset[disabled]  .form-wrapper input[type=submit],fieldset[disabled] .btn,fieldset[disabled] input.wpcf7-form-control.wpcf7-submit,input.wpcf7-form-control.wpcf7-submit.disabled,input.wpcf7-form-control.wpcf7-submit[disabled] {
    cursor: disabled;
    opacity: .65;
    -webkit-box-shadow: none;
    box-shadow: none
}

 .form-wrapper input[type=submit],.btn-theme,input.wpcf7-form-control.wpcf7-submit {
    color: #fff;
    border: 1px solid #00a885;
    -webkit-box-shadow: none;
    box-shadow: none
}

 .form-wrapper input[type=submit]:hover,.btn-theme:hover,input.wpcf7-form-control.wpcf7-submit:hover {
    background-color: #00a885;
    border-color: #00a885;
    color: #fff
}

.container {
    overflow-x: auto
}

.form-wrapper {
    border-radius: 8px;
    padding: 1.5rem;
    border: 1px solid #00a885;
    background: #000;
    margin-bottom: 1.5rem;
    text-align: initial;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-touch-action: auto;
    touch-action: auto
}

.form-wrapper div.wpcf7 {
    min-width: initial
}

.form-wrapper br {
    display: none !important
}

.form-wrapper .mandatory {
    float: right
}

.form-wrapper .info-block {
    margin-top: 2.5rem
}

.form-wrapper .info-block p {
    margin: 0;
}

.form-wrapper .info-block form.wpcf7-form span.wpcf7-not-valid-tip {
    position: absolute;
    width: 120px;
    color: #e27c79
}

.form-wrapper .info-block h6 {
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
}

.form-wrapper .info-block.ib-full h6 {
    margin-left: 0;
}

.form-wrapper .info-block.ib-full .label-row {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.form-wrapper .info-block.ib-full .flex:not(.label-row) {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items:flex-start;
}

.form-wrapper .info-block.ib-full .edu-label span {
    line-height: 1.125rem;
    padding: .5625rem 0;
    font-size: .875rem
}

.form-wrapper .info-block .label-row {
    background: #333;
    padding: .25rem 0;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.form-wrapper .info-block .label-row h6 {
    margin: .3rem .3rem .35rem 0
}

.form-wrapper .info-block .label-row p {
    margin: 0
}

.form-wrapper .info-block:last-of-type {
    text-align: center
}

.form-wrapper .info-block:last-of-type input[type=submit] {
    background: 0 0;
    border-radius: 0
}

.form-wrapper .info-block .radio-botton-group span.radio-label {
    display: block
}

.form-wrapper .info-block .radio-botton-group label {
    display: inline-block;
    margin-right: 1rem
}

.form-wrapper .info-block .duration {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
}

.form-wrapper .info-block .duration > div.flex {
    gap: 15px;
}

.form-wrapper .info-block .duration label {
    display: inline-block;
    padding: 0;
}

.duration-label{margin: 0 !important; padding: 0;}

.form-wrapper .info-block .duration label input[type=text] {
    width: 100%;
}

.form-wrapper input[type=date],
.form-wrapper input[type=email],
.form-wrapper input[type=tel],
.form-wrapper input[type=text],
.form-wrapper textarea {
    color: #fff;
    border: 1px solid #595959;
    background: #000;
    padding: .25rem;
    height: inherit;
    margin: 0;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    -webkit-appearance: none;
    border-radius: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .15s linear;
    transition: all .15s linear;
    display: block;
    font-size: 16px;
    height: 1.625rem;
    width: 100%;
    margin-top: .25rem;
    font-size: 16px
}

.form-wrapper textarea {
    min-height: 100px
}

.form-wrapper .radio-label,
.form-wrapper label {
    line-height: 1.125rem;
    font-size: .875rem;
    text-align: left;
    font-weight: 400;
    display: block
}

.authorization-acceptance .wpcf7-list-item {
    margin-left: 0
}

.wpcf7-list-item {
	margin: 0;
}

.authorization-acceptance .wpcf7-list-item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.authorization-acceptance .wpcf7-list-item label input[type=checkbox] {
    -webkit-appearance: checkbox;
    display: block
}

.authorization-acceptance .wpcf7-list-item label .wpcf7-list-item-label {
    display: inline-block;
    width: calc(100% - 15px);
    padding-left: 10px
}

/* Form layout utilities — scoped to avoid specificity conflicts */
.form-wrapper .flex          { display: flex; }
.form-wrapper .flex-wrap     { flex-wrap: wrap; }
.form-wrapper .w-full        { width: 100%; }
.form-wrapper .w-1\/2        { width: 50%; }
.form-wrapper .w-1\/3        { width: 33.333333%; }
.form-wrapper .w-1\/4        { width: 25%; }
.form-wrapper .w-\[8\.333\%\]  { width: 8.333%; }
.form-wrapper .w-\[16\.666\%\] { width: 16.666%; }
.form-wrapper .field-wrapper { margin-left: -0.5rem; margin-right: -0.5rem; }
.form-wrapper .px-2          { padding-left: 0.5rem; padding-right: 0.5rem; }
.form-wrapper .text-center   { text-align: center; }

@media (max-width: 575px) {
    .form-wrapper .mandatory {
        float: none;
        display: block;
        margin-top: .5rem
    }
}

/* Generic Form Styling */
form.wpcf7-form div.wpcf7-acceptance-missing,form.wpcf7-form div.wpcf7-mail-sent-ok,form.wpcf7-form div.wpcf7-response-output,form.wpcf7-form div.wpcf7-validation-errors {
    color: #fff
}

form.wpcf7-form input.wpcf7-form-control.wpcf7-submit {
    background: 0 0;
    border-radius: 0
}

form.wpcf7-form span.wpcf7-not-valid-tip {
    color: #d9534f;
    font-size: 13px
}

form.wpcf7-form div.wpcf7-mail-sent-ok {
    border-color: #00a885!important
}

/* Panel */
.panel {
    border-radius: 8px;
    border: 1px solid #00a885;
    color: #333;
    padding: 1.25rem;
    margin-bottom: 4.25rem;
    background: 0 0
}

.panel p {
    margin-bottom: 0
}

.form-wrapper .wpcf7-form-control-wrap {
	margin-bottom: 1rem;
	display: block;
}

.wpcf7-form input:not([type=submit], [type=radio], [type=checkbox]),.wpcf7-form textarea {
    -webkit-appearance: none;
    border-radius: 0;
    background-color: #fff;
    font-family: inherit;
    border-style: solid;
    border-width: 1px;
    border-color: #ccc;
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    color: rgba(0,0,0,.75);
    display: block;
    font-size: .875rem;
    padding: .5rem;
    height: 2.3125rem;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .15s linear;
    transition: all .15s linear;
    font-size: 16px
}

input.wpcf7-not-valid{
	border-color: #eb0f09 !important;
}

.panel .wpcf7-form textarea {
    height: auto;
    max-height: 123px
}

.panel .wpcf7-form span.wpcf7-not-valid-tip {
    margin-top: -.5rem;
    margin-bottom: .5rem
}

.panel .wpcf7-form .wpcf7-form-control-wrap {
    display: block
}

/* End Panel */

/* Blog Content Styling  */
/* Here */
.content-box {
    border: 1px solid #fff;
    padding: 1rem .75rem
}

body.search-results .post,body.single-post .post {
    padding-bottom: 2rem
}

body.search-results .post ul,body.single-post .post ul {
    list-style: disc;
    padding-left: 20px
}

body.search-results .post ul li ul,body.single-post .post ul li ul {
    list-style: circle;
    padding-left: 20px
}

body.search-results .post ul li ul li ul,body.single-post .post ul li ul li ul {
    list-style: square;
    padding-left: 20px
}

body.search-results .post p>img,body.single-post .post p>img {
    display: block;
    margin: .5rem auto
}

body.search-results .post a,body.single-post .post a {
    color: #fff;
    opacity: .85;
    text-decoration: underline
}

body.search-results .post a:focus,body.search-results .post a:hover,body.single-post .post a:focus,body.single-post .post a:hover {
    opacity: 1
}

body.search-results .post pre,body.single-post .post pre {
    color: #fff
}

body.search-results .post h2,body.single-post .post h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem
}

body.search-results .post hr,body.single-post .post hr {
    border-top-color: #fff;
    margin: 2rem 0
}

body.search-results .post strong,body.single-post .post strong {
    font-weight: 700
}

body.search-results .post .post-picture-content,body.single-post .post .post-picture-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

body.search-results .post .post-picture-content .post-desc,body.single-post .post .post-picture-content .post-desc {
    width: 70%;
    padding-right: 15px
}

body.search-results .post .post-picture-content .post-pic,body.single-post .post .post-picture-content .post-pic {
    width: 30%;
    text-align: center
}

.homepanel {
    text-align: center;
    min-height: 1520px;
    max-width: 1280px;
    /* margin: 12px auto 0; */
    position: relative;
    /* background-position: 50% 10%;
    background-size: cover */
}

.homepanel h2 {
    margin: 1rem 0 .5rem;
    line-height: 1
}

.homepanel .container {
    padding-top: 10px
}


.error-page {
    text-align: center;
    padding: 1rem 1rem 3.5rem
}

.error-page img {
    max-width: 500px;
    height: auto;
	margin: 0 auto;
}

#company-culture h5 {
    margin: 2.5rem 0 1.5rem
}

#company-culture h5+h5 {
    margin-top: 1.5rem
}

.application-form .site-container{
	max-width: 833px;
}
.free-estimate .site-container {
	max-width: 666px;
}

.homepanel  .form-wrapper div.wpcf7 {
	min-width: initial;
}

.homepanel .main-form-wrap {
	background-attachment: unset;
	background-repeat: no-repeat;
	background-position: 50% 10%;
}

.wrapper h5 {
    font-weight: 500;
    line-height: 25px;
    margin-bottom: 1rem
}

/* Responsive */
@media (max-width: 767px) {
    main {
        margin-top: 70px;
    }

    .about-trent figure {
        max-width:100% !important;
        float: none !important;
        padding: 0 !important;
    }

    .about-trent img h2 {
        font-size: 1.9rem
    }

    .about-trent img h3 {
        font-size: 1.25rem
    }

	[id] {
		scroll-margin-top: 70px;
	}

    body.search-results .post h2,body.single-post .post h2 {
        font-size:1.75rem
    }

    body.search-results .post .post-picture-content .post-desc,body.search-results .post .post-picture-content .post-pic,body.single-post .post .post-picture-content .post-desc,body.single-post .post .post-picture-content .post-pic {
        width: 100%;
        padding-right: 0
    }

    .wrapper h2,
	.wrapper .h2{
        font-size: 1.9rem;
    }

    .wrapper h5 {
        line-height: 22px;
        font-size: 1rem
    }

    .homepanel {
        min-height: 640px;
		overflow-x: hidden;
    }
	
	.homepanel .bg-image img{
		width: 150%;
        transform: translateX(-50%);
        margin-left: 50%;
        object-position: 60% 0;
        object-fit: cover;
        max-width: initial;
	}

    .homepanel h2 {
        font-size: 1.75rem;
    }

    .homepanel p {
        line-height: 1.4;
    }

    /* Form — 1-column on mobile */
    .form-wrapper .w-1\/2,
    .form-wrapper .w-1\/3 {
        width: 100%;
    }

    /* ib-full table sections (Education, Employers, References) scroll horizontally
       rather than collapsing — their multi-column label rows don't make sense stacked */
    .form-wrapper .info-block.ib-full {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Duration from/to fields stack vertically */
    .form-wrapper .info-block .duration {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .form-wrapper .info-block .duration label {
        width: 100%;
    }
    .form-wrapper .info-block .duration label:first-of-type {
        margin-left: 0;
    }
    .form-wrapper .info-block .duration label input[type=text] {
        width: 100%;
    }

    /* Education — override horizontal scroll, stack as labelled cards */
    .form-wrapper .info-block.ib-edu {
        overflow-x: visible;
    }
    .form-wrapper .info-block.ib-edu .label-row {
        display: none;
    }
    .form-wrapper .info-block.ib-edu .field-wrapper {
        border-top: 1px solid #595959;
        padding-top: 0.5rem;
        margin-top: 0.5rem;
    }
    .form-wrapper .info-block.ib-edu .edu-label {
        width: 100%;
        padding: 0.25rem 0.5rem;
        font-weight: 700;
        font-size: 0.875rem;
        color: #fff;
        border-bottom: 1px solid #595959;
        margin-bottom: 0.25rem;
    }
    .form-wrapper .info-block.ib-edu .field-wrapper > div:not(.edu-label) {
        width: 100%;
    }
    .form-wrapper .info-block.ib-edu [data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: 0.75rem;
        color: #999;
        margin-bottom: 0.125rem;
    }
}

@media(max-width: 575px){ 
	.homepanel {
        min-height: 520px;
    }
}