*{box-sizing:border-box;padding:0;margin:0;}
html,body,button{font-family:Montserrat,sans-serif;color:#000;letter-spacing: -0.01em;}
html{
    font-size: .85rem;
    line-height: 1rem;
    font-weight: 500;
}
html,body{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    background: #f5f5f7;
}
html,body.dark, body.dark .card, body.dark .item{
    background: #222224;
    color: #fff;
}
body.dark section{
    background: #121212;
}
body.dark .item main{
    background: #363638;
}
body.dark .service-icon, body.dark .carouselTop button{
    filter: invert(1);
}
body.dark footer{
    color: #909090;
}
.webtop{
    padding-top: 8rem;
}
h1{
    line-height: 2.5rem;
    font-size: 2.5rem;
}
h2{
    line-height: 2.25rem;
    font-size: 2.25rem;
}
h3{
    line-height: 2rem;
    font-size: 2rem;
}
h4{
    line-height: 1.75rem;
    font-size: 1.75rem;
}
h5{
    line-height: 1.5rem;
    font-size: 1.5rem;
}
h6{
    line-height: 1.25rem;
    font-size: 1.25rem;
}
.h7{
    line-height: 0.85rem;
    font-size: 0.85rem;
}
.left{
    text-align: left;
}
.gray{
    color: #888;
}
.blue{
    color: #306fdb;
}
.orange{
    color: #ff791c;
}
.bot05rem{
    margin-bottom: 0.5rem;
}
.bot1rem{
    margin-bottom: 1rem;
}
.bot15rem{
    margin-bottom: 1.5rem;
}
.bot2rem{
    margin-bottom: 2rem;
}
.bot25rem{
    margin-bottom: 2.5rem;
}
.bot3rem{
    margin-bottom: 3rem;
}
.bot35rem{
    margin-bottom: 3.5rem;
}
.bot4rem{
    margin-bottom: 4rem;
}
.full{
    width: 100%;
    padding-left: 24px;
    padding-right: 24px;
}
li{
    list-style: none;
    line-height: 2rem;
}
a{
    display: block;
    text-decoration: none;
    color: #000;
}
nav{
    display: inline-flex;
    align-items: center;
    position: fixed;
    font-weight: 500;
    padding: 0 24px;
    height: 5.5rem;
    width: 100%;
    z-index: 1;
    backdrop-filter: blur(12px);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    background: rgba(0,0,0, 0.85);
    color: #fff;
    top: 0;
}
#logo{
    height: 2.5rem;
    width: 2.5rem;
    margin-right: .8rem;
}
#theme-toggle{
    margin-left: auto;
    cursor: pointer;
    height: 1.25rem;
    width: 1.25rem;
}
#nav-toggle{
    cursor: pointer;
    height: 2.5rem;
    width: 2.5rem;
    margin-left: 0.8rem;
}
.navRight{
    display: none;
}
.navRight a{
    font-size: 1.05rem;
    line-height: 1.05rem;
    height: 1.05rem;
    margin-left: 0.95rem;
    color: #fff;
    display: inline-block;
}
#navLinks{
    position: absolute;
    top: 5.5rem;
    left: 0;
    opacity: 0;
    width: 100%;
    transition: opacity 128ms linear;
    display: flex;
    flex-direction: column;
    justify-content: baseline;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.6);
    height: 100vh;
    font-weight: 600;
}
#navLinks.active{
    pointer-events: auto;
    opacity: 1;
}
#navLinks a{
    font-size: 2rem;
    line-height: 2rem;
    padding: 1rem 24px;
    background: #000;
    color: #fff;
}
#navLinks a:first-child{
    padding-top: 2rem;
}
#navLinks a:last-child{
    padding-bottom: 3rem;
}
nav a:hover, #navLinks a:hover{
    color: #ff791c;
}
.vid{
    position: relative;
    margin-top: 5.5rem;
    overflow: hidden;
    padding-top: 56.25%;
    width: 100%;
    margin-bottom: 16px;
}
iframe{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 107vw;
    height: 107vh;
    transform: translate(-50%, -50%);
}
section{
    width: 100%;
    padding-top: 4rem;
    padding-bottom: 4rem;
    background: #fff;
    margin-bottom: 16px;
    text-align: center;
}
section:last-of-type{
    margin-bottom: 0;
}
section p{
    line-height: 1.6rem;
}
.mainBt{
    margin: 3.5rem auto 0 auto;
    background: #306fdb;
    width: fit-content;
    padding: 1.6rem 2rem;
    border-radius: 96px;
}
.mainBt:hover{
    background: #1F55B2;
}
.mainBt > *{
    color: #fff;
    text-decoration: none;
    font-size: 1.05rem;
    cursor: pointer;
    background: none;
    font-weight: 500;
    border: none;
}
.col{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.card{
    position: relative;
    border-radius: 36px;
    background: #f5f5f7;
    margin-bottom: 10px;
    color: #000;
    border-top: 1px solid rgba(255,255,255,.3);
    border-left: 1px solid rgba(255,255,255,.2);
    border-right: 1px solid rgba(255,255,255,.1);
    box-shadow:
        inset 0 1px 4px rgba(255, 255, 255,.1),
        inset 0 -2px 8px rgba(255,255,255,.2),
        0 8px 24px rgba(0,0,0,.15);
}
.card main{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
}
.service-icon{
    display: none;
    width: 3.5rem;
    height: 3.5rem;
}
.sm-gap{
    gap: 4rem;
}
.card-pad{
    padding: 0 2rem;
}
.portait img{
    justify-content: center;
    height: 14rem;
    width: 14rem;
    background: #383d40;
    border-radius: 50%;
    border: 4px solid #ff791c;
}
.signature{
    font-family: "Satisfy", cursive;
    font-weight: 600;
    font-style: normal;
    font-size: 3rem;
}
.w2 .aspect-ratio, .w3 .aspect-ratio{
    padding-top: 0%; /* Aspect Ratio */
}
.w4 .aspect-ratio{
    padding-top: 100%; /* Aspect Ratio */
}
.w2 > *:first-child{
    margin: 0 0 2rem 0;
}
.w2 .card main, .w3 .card main{
    position: relative;
    padding: 3rem 2rem;
}
.w3 > *{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
}
.w3 > *:last-child{
    margin-bottom: 0;
}
.w4 > *{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc(50% - 32px);
}
.w4 .card main{
    position: absolute;
    padding: 2rem 2rem;
}
.w4 > *:nth-child(2n+1){
    margin-right: 10px;
}
.w4:nth-child(2n){
    margin-bottom: 10px;
}
footer{
    width: 100%;
    text-align: center;
    padding: 4rem 0;
    font-size: .85rem;
    color: #707070;
}
.carouselTop{
    display: inline-flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    padding: 0 24px;
    margin-bottom: 1em;
}
.carouselTop button{
    border: 0;
    font-size: 1.25rem;
    font-weight: 700;
    width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
    border-radius: 50%;
    color: #626263;
    margin-left: 0.2rem;
    background: #DFDFE2;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
#chevron{
    width: 1.25rem;
    height: 1.25rem;
}
.carousel{
    overflow-x: scroll;
    white-space: nowrap;
    scroll-snap-type: x mandatory;
    font-size: 0;
    scrollbar-width: none;
    scroll-padding: 0 24px;
    margin-bottom: 3rem;
}
.left-spacer{
    display: inline-block;
    scroll-snap-align: start;
    position: relative;
    width: calc(((100vw - 896px) / 2.75) + 24px);
    min-width: 24px;
}
.right-spacer{
    display: inline-block;
    position: relative;
    min-width: 8px;
    width: calc(((100vw - 896px) / 2.75) + 8px);
}
.item{
    background: #f5f5f7;
    scroll-snap-align: start;
    display: inline-block;
    position: relative;
    font-size: 1rem;
    border-radius: 28px;
    width: calc(100vw - 64px);
    max-width: 384px;
    margin-right: 16px;
    overflow: hidden;
}
.item img{
    padding-top: calc(100% + 6rem); /* Aspect Ratio */
}
.item main{
    position: absolute;
    background: #EBEBEF;
    bottom: 0;
    width: 100%;
    height: 6rem;
    padding: 1.5rem;
    font-weight: 600;
    text-align: left;
}
.item p{
    font-size: 1.1rem;
    line-height: 1.1rem;
    color: #888;
}
.item .new{
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 0.75rem;
    border-radius: 96px;
    font-weight: 500;
    background: #306fdb;
    color: #fff;
}
.add-yours{
    background: #306fdb;
    scroll-snap-align: start;
    display: inline-block;
    position: relative;
    font-size: 1rem;
    border-radius: 28px;
    width: calc(100vw - 64px);
    max-width: 384px;
    margin-right: 16px;
    overflow: hidden;
}
.add-yours img{
    padding-top: calc(100% + 6rem); /* Aspect Ratio */
}
.add-yours div{
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 3.25rem;
    font-size: 2.5rem;
    color: #fff;
    font-weight: 700;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
@media (min-width:896px){
    html{
        font-size: .95rem;
    }
    .vid{
        padding-top: 30%;
    }
    .card{
        margin-bottom: 0;
    }
    .w2 .card main, .w3 .card main{
        position: absolute;
    }
    .w2 .aspect-ratio, .w3 .aspect-ratio{
        padding-top: 100%; /* Aspect Ratio */
    }
    li{
        line-height: 1.75rem;
    }
    .service-icon{
        display: unset;
    }
    #navLinks a, .navRight a{
        transition: color 64ms linear;
    }
    .navRight{
        display: block;
    }
    #nav-toggle{
        display: none;
    }
    .carousel{
        scroll-padding: 0 calc(((100vw - 896px) / 2.75) + 24px);
    }
    .full, nav{
        padding-left: calc(((100vw - 896px) / 2.75) + 24px);
        padding-right: calc(((100vw - 896px) / 2.75) + 24px);
    }
    .mainBt{
        transition: background 64ms linear;
    }
    .w2 > *{
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc(50% - 48px);
    }
    .w2 > *:first-child{
        margin: 0 2rem 0 0;
    }
    .w3 > *{
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc(33.33% - 16px);
        margin: 0 16px 0 0;
    }
    .w3 > *:last-child{
        margin: 0;
    }
    .w4 > *{
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc(25% - 16px);
    }
    .w4 > *:nth-child(1), .w4 > *:nth-child(2), .w4 > *:nth-child(3){
        margin-right: 16px;
    }
    .w4 > *:nth-child(4){
        margin-right: 0;
    }
}