
:root{
    --backgroundcolor:#fcfff5;
    --bpmobile:768px;
}


a,a:visited{
    text-decoration: none;
}

body{
    background-color:#fcfff5;
    margin:0px;
}
/*@media(max-width:768px){
    body{
    position: relative;
    overflow-y: auto;
    height: 100vh;
    }
}*/

.dm-serif-display-regular {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: normal;
}

.dm-serif-display-regular-italic {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: italic;
}

.carousel{
/*height:60vh;*/
width: 100%;
overflow:hidden;
display: inline-block;
margin-top:60px;
position: relative;
}

.carouselHeading{
    font-family: "Merriweather", serif;
    font-weight:600;
    color:#090f4B;
    font-size: 4vh;
    padding:0;
    margin:0;
    margin-top:25px;
}

.carouselImage{
    z-index: 1;
    position:relative;
    max-width: 60vw;
    width:100%;
    /*top:-5vw;*/
    transition: transform 0.35s ease, filter 0.35s ease;

}
.carouselImage:hover{
    transform: scale(1.01);
}
.carouselImageMobile{
    z-index: 1;
    position:relative;
    max-width: 100vw;
    display: none;
}

.carouselOverlay{
    width:100%;
    /*height:100%;*/
    position:absolute;
    top:0;
    background-color:#FF000000;
    z-index: 2;
    box-shadow:inset -5px -5px 30px #0009;
    pointer-events: none;
}
/*.carouselOverlay*/

.carouselText{
    color:black;
    font-family: "Merriweather", serif;
    font-weight:300;
    font-size:2vh;
    width:100%;
    margin:0px;
    margin-top:5px;
}

.carouselTextBox{
    position:absolute;
    bottom:10%;
    left:9%;
    z-index:3;
    text-align: left;
    background-color:#fcfff5AA;
    padding-left:40px;
    padding-right:40px;
    padding-top:20px;
    padding-bottom:20px;
    box-shadow: 5px 5px 5px #0005;
    backdrop-filter: blur(5px);
    width:40%;
    transition:.5s;
}
.carouselTextBox:hover{
    transform:scale(1.02);
}
@media(max-width:768px){
    .carousel{
        overflow:visible;
        margin-bottom:30px;
    }
    .carouselHeading{
        font-size: 2rem;
    }
    .carouselImage{
        max-width: 100vw;
        display: none;
    }
    .carouselImageMobile{
        display:block;
    }
    .carouselTextBox{
        width:85%;
        bottom:-50px;
        padding:10px;
        left:0;
        background:linear-gradient(to bottom, #fcfff5AA,#FFF);
    }
    .carouselText{
        font-size:1rem;
    }
}

.caseStudies{
    margin-top:40px;
}
.caseStudies>ul>li>details{
    margin-bottom:20px;
}

.cbBlock{
    text-align:left;
    margin-top:40px;
    position:relative;
}



.contact{
    display: flex;
    gap:2rem;
}

.contactLeft{
    flex:1;
    /*width: 50%;
    margin:0;*/
    padding-left:30px;
}
.contactLeft>h3{
    font-size: 30px;
    font-family: "Merriweather", serif;
    font-weight: 300;
}
.contactLeft>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
}
.contactLeft>div{
    padding-left:30px;
}
.contactLeft>div>h4{
    font-size: 25px;
    font-family: "Merriweather", serif;
    font-weight: 300;
}
.contactLeft>div>div{
    padding-left:30px;
}
.contactLeft>div>div>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight: 300;
    margin:0;
    padding:0;
}
.contactLeft>div>div>input{
    all: unset;
    margin-bottom:20px;
    background-color:white;
    padding:5px;
    box-shadow: inset 1px 1px 5px #0005;
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight: 300;
    margin-top:5px;
}
.contactLeft>div>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight: 300;
    margin:0;
    padding:0;
}
.contactLeft>div>textarea{
    all: unset;
    margin-bottom:20px;
    background-color:white;
    padding:5px;
    box-shadow: inset 1px 1px 5px #0005;
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight: 300;
    margin-top:5px;
    width:90%;
}
.contactLeft>div>div>div{
    text-align: right;
}
.contactLeft>div>div>div>button{
    all: unset;
    margin-right:30%;
    padding:10px;
    padding-left:20px;
    padding-right:20px;
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight: 300;
    background-color: white;
    box-shadow: 2px 2px 7px #0005;
    border-radius: 3px;
    transition:.2s;
    position:relative;
}
.contactLeft>div>div>div>button:hover{
    cursor: pointer;
    transform: scale(1.2);
}

.contactRight{
    flex:1;
    /*width:50%;*/
    padding-left: 60px;
    border-left:solid 2px #090f4B;
    padding-bottom:50px;
}
.contactRight>h3{
    font-size: 30px;
    font-family: "Merriweather", serif;
    font-weight: 300;
}
.contactRight>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
}
.contactRight>div>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
}
@media(max-width:768px){
    .contact{
        display: block;
    }
    .contactMap{
        width:90%;
    }
    .contactMap>iFrame{
        width:100%;
    }
    .contactRight{
        border:none;
        margin-top:60px;
    }
    .contactRight>div{
        width:80%;
    }
}

.contentBody{
    text-align: left;
    width:70vw;
    margin-left:15vw;
    padding:0%;
    margin-top:20px;
}
@media(max-width:768px){
    .contentBody{
        width:100vw;
        margin:0;
    }
}

.dragBlock{
    top:10vh;
    left:85vw;
    z-index:5;
}

.floatingBlock{
    position: sticky;
    display: block;
    top:500px;
    z-index: 4;
    transition: .5s;
}
.floatingBlock:hover{
    transform:scale(1.02);
}
.floatingBlockWrapper{
    position:absolute;
    height:90%;
    right:10vw;
}
.floatingContact{
    background-color:#ebefe3;
    box-shadow: 4px 4px 8px #0005;
    width:400px;
    padding:20px;
    border-radius: 2px;
}
.floatingContact:hover{
    background-color: #e0e3d9;
}
.floatingContact>h4{
    font-family: "Merriweather", serif;
    font-size:25px;
    font-weight: 300;
    padding-top:10px;
    padding-bottom:10px;
    margin:0;
    color:#090f4B;
}
.floatingContact>p{
    font-family: "Merriweather", serif;
    font-size:18px;
    font-weight: 300;
}
.floatingContact>a{
    font-family: "Merriweather", serif;
    font-size:18px;
    font-weight: 300;
    text-decoration: underline;
    color:#090f4B;
}
.floatingContactMobile{
    background-color:#ebefe3;
    box-shadow: 4px 4px 8px #0005;
    width:400px;
    padding:20px;
    border-radius: 5px;
    display: none;
    width: fit-content;
    font-family: "Merriweather", serif;
    font-size:18px;
    font-weight: 700;
    color: black;
}
@media(max-width:768px){
    .floatingBlockWrapper{
        right:0;
    }
    .floatingContact{
        display: none;
    }
    .floatingContactMobile{
        display: block;
    }
}

h1{
    font-family: "DM Serif Display", serif;
    font-weight: 400;
    color:#090f4B;
    margin:0;
    font-size:50px;
}
@media(max-width:768px){
    .cbBlock>p{
        margin-left:20px;
        margin-top:10px;
        width:80%;
    }
    .contentBody>h1{
        margin-left:20px;
        margin-top:10px;
    }
}

h2{
    font-family: "Merriweather", serif;
    font-size:50px;
    color:#090f4B;
    font-weight:400;
    margin-bottom:20px;
}

.hamburgerButton{
    display: none;
    background-color: white;
    /*width:30px;
    height:30px;*/
    padding:17px;
    padding-left:20px;
    padding-right:20px;
    border-radius: 10px;
    box-shadow: 3px 3px 15px #0003;
    text-align: center;
    position:sticky;
    top:6rem;
    z-index: 3;
}
.hamburgerButton:hover{
    cursor: pointer;
}
.hamburgerButton div{
    height:4px;
    width:24px;
    border-radius: 3px;
    background-color: #090f4B;
    display: block;
    margin-top:2px;
    margin-bottom:2px;
}
.hamburgerButton span{
    padding:0;
    height:1px;
    display:block;
    width:5px;
    margin:0;
}
.hamburgerMenu{
    display: none;
    text-align: center;
    background-color: var(--backgroundcolor);
    box-shadow:0px 3px 15px #0003;
    padding-top:15px;
}
.hamburgerMenu .pageButtons{
    display: block;
    margin:0;
    padding:0;
    margin-top:5px;
    margin-bottom:5px;
    margin-left:15px;
    margin-right:15px;
    border-top: solid 1px #090f4B;
    padding:10px;
    
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
    margin-bottom:5px;
}
.hamburgerMenu .pageButtons:first-of-type{border-top:none;}
:has(>.hamburgerButton){
}
:has(>*>.hamburgerButton){
    display: none;
}
@media(max-width:768px){
    .hamburgerButton{
        display: block;
    }
    :has(>*>.hamburgerButton){
        display:block;
    }
}

.headerBar{
    box-shadow: 0px 0px 30px #00000088;
    margin: 0;
    display: block;
    padding-bottom:10px;
    z-index: 4;
    position:sticky;
    top:0;
    background-color: #FCFFF5;
    width:100vw;
}
@media(max-width:768px){
    .headerBar{
        text-align: center;
    }
}

.headingSubtext{
    position:absolute;
    bottom:-18px;
    color:#090f4B;
    left:52px;
}
@media(max-width:768px){

}

.headingSubtextSpan{
    display: inline-block;
    width:30px;
}

input[type="number"] {
  -moz-appearance: textfield; /* Firefox */
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none; /* Chrome, Safari, Edge */
  margin: 0;
}

.inputWrapper{
    margin:0;
    padding:0;
    display: inline-block;
    position:relative;
}

li{
    list-style: none;
    padding:0;
    margin:0;
}

.linkBox{
    background-color: #d3d3d3;
    text-align: left;
    margin-top:40px;
    padding:40px;
    padding-top:30px;
    margin-bottom:50px;
}
.linkBox:hover{
    background-color:#cecece;
}
.linkBox>ul>li{
    margin-bottom:20px;
}

.linkBoxHeader{
    font-weight:300;
    font-size:30px;
    margin-top:0;
}

.linkBoxLink{
    color:#090f4B;
    margin-bottom:25px;
    font-size:20px;
    text-decoration: underline;
    font-family: "Merriweather", serif;
}

.listBlock{
    margin-left:30px;
}

.llcSpan{
    font-size: 30px;
}

.logoDrop2{
    position:relative;
    top:10px;
}

.logoText{
    display:inline-block;
    margin-left:10vw;
    margin-right:15vw;
    position:relative;
}
@media(max-width:768px){
    .logoText{
        margin-left:0px;
        margin-right:0px;
        width:100%;
        text-align: center;
    }
    .logoText h1{
        font-size: 3.5rem;
    }
    .logoText p{
        font-size: 1.25rem;
        width:100%;
        left:.9rem;
        bottom:-1.45rem;
    }
}

.mandate-ach {
  /*margin-top: 1.5rem;*/
  font-size: 0.9rem;
  line-height: 1.4;
}
.mandate-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
}
.mandate-checkbox input {
  margin-top: 0.2rem;
}
.mandate-text {
  padding: 0.75rem;
  background: #f7f7f7;
  border-radius: 4px;
  border: 1px solid #ddd;
  white-space: pre-wrap;
}


.mainText{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
}

.pageButtonDiv{
    display: inline-block;
    text-align: right;
    font-size:25px;
    font-family: "DM Serif Display", serif;
}
@media(max-width:768px){
    .pageButtonDiv{
        display: none;
        background-color: red;
    }
}

.pageButtons{
    margin-right:3vw;
    padding-top:10px;
    padding-bottom:10px;
    padding-left:15px;
    padding-right:15px;
    border-radius: 3px;
    color:#090f4B;
}
.pageButtons:hover{
    background-color: #ebefe3;
    box-shadow: 1px 1px 2px #0003;
    text-decoration: underline;
    cursor: pointer;
}

.paymentBlock{
    padding-left:30px;
}
.paymentBlock>div>div>button{
    background-color:#DDD;
    padding:10px;
    padding-left:20px;
    padding-right:20px;
    margin:0;
    border:none;
    box-shadow: 3px 3px 5px #0005;
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
}
.paymentBlock>div>div>button:hover{
    background-color:#EEE;
    cursor: pointer;
}
.stateSelector{
    display: inline-block;
    background-color: white;
    padding:6px;
    box-shadow: 1px 1px 5px #0005;
    border:none;
    border-radius: 3px;
}
.paymentACH{
    padding-left:30px;
}
.paymentACH .checkbox{
    margin-bottom:10px;
    box-shadow: 1px 1px 3px #0003;
    background-color: #e0e3d9;
    padding-left: 20px;
    padding-bottom:10px;
}
.checkbox:hover{
    background-color: #FFF;
    cursor: pointer;
}
.checkbox>div{
    background-color:#EEE;
    border-style: solid 1px #999;
    border-radius: 3px;
    box-shadow: 2px 2px 2px #0003;
    width:20px;
    height:20px;
    display: inline-block;
}
.checkbox>div:hover{
}
.checkbox>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
    display: inline-block;
    margin-left:20px;
}
.paymentACH>div>div:first-of-type>div{
    display: inline-block;
    margin-right:60px;
}
.paymentACH>div>div:nth-of-type(2)>div{
    display: block;
}
.paymentACH>div>div:nth-of-type(2)>div>div{
    display: inline-block;
    margin-right:20px;
}
.paymentACH>div>div:nth-of-type(2)>div:first-of-type{
    display:block;
}
.paymentACH>div>div{
    margin-bottom:50px;
    display: block;
    /*margin-left:60px;*/
}
.paymentACH h4{
    font-size:23px;
    font-family: "Merriweather", serif;
    font-weight:400;
    margin-bottom:5px;
}
.paymentACH input{
    background-color: white;
    box-shadow: inset 2px 2px 5px #0005;
    border-style: none;
    border-radius: 3px;
    margin-bottom:5px;
    padding:5px;
    padding-top:7px;
    padding-left:15px;
    padding-right:15px;
    width:180px;
    border:solid 1px #EEE;
}
.paymentACH p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
    margin-bottom:5px;
}
.paymentCard{
    padding-left:30px;
}
.paymentCard .address2block>div{
    display: inline-block;
}
.paymentCard .checkbox{
    margin-bottom:10px;
    box-shadow: 1px 1px 3px #0003;
    background-color: #e0e3d9;
    padding-left: 20px;
    padding-bottom:10px;
}
.paymentCard .checkbox p{
    margin-bottom:5px;
}
.paymentCard>div{
    margin-bottom:50px;
}
.paymentCard>div>div>div>div>div{
    margin-right:20px;
}
.paymentCard .dollarsign{
    display: inline-block;
    margin-right:5px;
    font-size: 20px;
    font-family: "Merriweather", serif;
    font-weight: 300;
    margin-bottom: 5px;
    margin-top: 0;
}
.paymentCard>p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
    margin-bottom:5px;
}
.paymentCard h4{
    font-size:23px;
    font-family: "Merriweather", serif;
    font-weight:400;
    margin-bottom:5px;
}
.paymentCard input{
    background-color: white;
    box-shadow: inset 2px 2px 5px #0005;
    border-style: none;
    border-radius: 3px;
    margin-bottom:5px;
    padding:5px;
    padding-top:7px;
    padding-left:15px;
    padding-right:15px;
    width:180px;
    border:solid 1px #EEE;
}
.paymentCard>div{
}
.paymentCard>div+div>button{
    /*margin-top:20px;*/
}
.paymentCard>div>div>div{
    display: inline-block;
    margin-right:40px;
}
.paymentCard>div>div>div input{
    background-color: white;
    box-shadow: inset 2px 2px 5px #0005;
    border-style: none;
    border-radius: 3px;
    margin-bottom:5px;
    padding:5px;
    padding-top:7px;
    padding-left:15px;
    padding-right:15px;
}
.paymentCard>div>div>div p{
    font-size:20px;
    font-family: "Merriweather", serif;
    font-weight:300;
    margin-bottom:5px;
}

.pbContainer{
    float:left;
    overflow:hidden;
}

.serviceListing{
    margin-bottom:10px;
}

.serviceListing>summary{
    background-color:#e0e3d9;
    box-shadow: 4px 4px 4px #0005;
    font-size: 30px;
    font-family: "Merriweather",serif;
    font-weight: 300;
    padding:10px;
    padding-left:20px;
    color:#090f4B;
    position:relative;
    border:solid 3px #e0e3d9;
    z-index: 2;
}
.serviceListing>summary:hover{
    cursor: pointer;
    background-color: #ebefe3;
}

.serviceListingButton{
    font-family: "Merriweather", serif;
    display: inline-block;
    background-color: #ebefe3;
    border:solid 2px #ebefe3;
    border-radius: 3px;
    box-shadow: 2px 2px 2px #0005;
    margin-right:30px;
    transition:.25s;
}
.serviceListingButton:hover{
    background-color: #fafff1;
    cursor: pointer;
    transform:scale(1.02);
}

.serviceListingButtonHeader{
    padding:20px;
    margin:0;
}

.serviceListingContent{
    background-color:#e0e3d9;
    box-shadow:2px 2px 2px #0005;
    font-family:"Merriweather", serif;
    font-size:20px;
    position:relative;
    top:-10px;
    padding:30px;
    padding-top:40px;
    padding-bottom:20px;
    z-index: 1;
    margin-left:20px;
    margin-right:20px;

    max-height: 0;
    overflow: hidden;
    transition: max-height 1s ease;
}
.serviceListing[open] .serviceListingContent {
  max-height: 1000px; /* large enough to fit your content */
}


/*Don't touch this block, it took a while to get rid of the disclosure triangles::*/
.serviceListing>summary::marker,
.serviceListing>summary::-webkit-details-marker {
  display: none;
}
summary{
    list-style:none;
}
summary::marker{
    display:none;
}
/* Safari / WebKit / fallback */
summary::-webkit-details-marker {
  display: none;
}

.span20{
    margin:0;
    padding:0;
    height:20px;
}

ul{
    list-style: none;
    padding:0;
    margin:0;
}

.videoContainer{
    margin-top:40px;
}
@media(max-width:768px){
    .videoContainer{
        margin:0;
        padding:0;
        width: 100%;
        text-align: center;
        margin-top:40px;
        margin-bottom:60px;
    }
}

.videoThumb{
    width:300px;
    box-shadow: 3px 3px 5px #0005;
    margin-left:10px;
    margin-right:10px;
}
.videoThumb:hover{
    filter: brightness(70%);
    transition: filter 0.3s ease;
    cursor: pointer;
    transform: scale(1.02);
}