#lottie {
    position: absolute;
    top: 0;
    /*bottom: 50vh;
    left:0;
    right: 0; */
    z-index: 800;
    height: 100%;
    width: 100%;
}



.tms-app-body {
    cursor: pointer;
    /* height: 50px; */
    background: #fff;
    padding: 5px;
    border-radius: 10px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 10px 0px;
    overflow: hidden;
    transition: all .05s;

}

.tms-app-body label {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    /* height: 100%; */
    background: #fff;
    align-items: center;
    opacity: unset;
}

.tms-app-body label img {
    height: 40px;
}

.tms-app-body.selected {
    border: 2px var(--tm-primary) solid;
    opacity: 0.65;
}

.tms-app-body label:hover {
    opacity: 0.65;
}

.tms-app-body.active {
    border: 2px solid;
}

.tms-app-body img {
    cursor: pointer;
}

.tms-da-selector {
    width: 100%;
}

.tms-da-unknown {
    display: flex;
    height: 40px;
    align-items: center;
    justify-content: center;
    color: var(--tm-black);
    font-size: 110%;
    line-height: 90%;
}

.tm-tingle-score1 {
    color: var(--tm-warning);
}

.tm-tingle-score2 {
    color: var(--tm-success);
}

.tm-tingle-score3 {
    color: var(--tm-info);
}

/* progress */
.circular-chart {
    display: block;
    margin: 10px auto;
    max-width: 80%;
    max-height: 250px;
}

.circle {
    stroke: #3f8585;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    animation: progress 1s ease-out forwards;
}

.circle.substrac {
    stroke: var(--tm-danger);
}

@keyframes progress {
    0% {
        stroke-dasharray: 0 100;
    }
}

svg.circular-chart.substrac {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotateY(-180deg) rotate(12.5deg);
    /* transform: rotateY(150deg); */
    width: 100%;
    height: 100%;
    margin: 0;
}

.blink {
    animation: blinker 1s infinite;
}

.blink10 {
    animation: blinker 1s 2s 3;
}


@keyframes blinker {
    from {
        opacity: 1.0;
    }
    50% {
        opacity: 0.2;
    }
    to {
        opacity: 1.0;
    }
}

.progressMsg.reveal {
    
    animation-fill-mode: forwards;
    animation-name: revealText;
    animation-duration: 3s;
    /* animation-delay: 1s; */
    /* height:0px;
    max-height:3rem; */
}

@keyframes revealText {
    /* from { clip-path: inset(100% 0 0 0); }
    to { clip-path: inset(0 0 0 0); } */
    from { height: 0; }
    to { height: 100px; }
}

/* Lat / Lookup */

input.tms-lat {
    text-transform: uppercase;
    font-size: 1.5em !important;
    line-height: 1 !important;
    font-weight: 700;
    /* padding-bottom: 25px !important; */
    padding: 0.5rem !important;
    color: var(--tm-danger) !important;
    height: 3rem !important
}

input.tms-tid {
    text-transform: uppercase;
    text-align: center;
    font-size: 2em !important;
    line-height: 1 !important;
    font-weight: 700;
    /* padding-bottom: 25px !important; */
    padding: 0.5rem !important;
    color: var(--tm-danger) !important;
    height: 3rem !important;
    border-width: 1px !important;
    
}

/* Score Results */

#tms-wrapper {
    align-items: center;
    vertical-align: middle;
    display: flex;
    flex-direction: column;
    width:100%;
}

.tmsr-wrapper {
    width:100%;
    padding: 1rem;
    margin-bottom: 0.5rem;
    border-radius: 0.5rem;
    border: var(--tm-primary-25) 1px solid;
}

.progressTitle {
    margin-bottom: 0.5rem;
    color: var(--tm-primary);
    font-weight: var(--tm-fw-semi);
    line-height: 1.2;
    text-align: center;
    font-size: calc(1.325rem + 0.45vw);
}

.progressMsg {
    margin-top: 1rem;
    margin-bottom: 1rem;
    height:0;
    max-height: 3.1rem;
    color: var(--tm-score);
    line-height: 1.2;
    text-align: center;
    font-size: calc(1rem + 0.9vw);
    font-weight: var(--tm-fw-semi);
    overflow: hidden;
    display: flex;    
}

/* Custom styles for interest badges */
.interest-badge {
  background-color: var(--tm-background); /* Light background similar to the image */
  color: var(--tm-primary); /* Darker text color */
  height: 2.1rem; /* Adjust height as needed */
  padding: 0;
  padding-left: 1rem;
  border: 1.5px solid var(--tm-primary); /* Light border */
  font-weight: var(--tm-fw-semi);
  display: inline-flex; /* To align content nicely */
  align-items: center; /* Vertically align content */
}

/* Styles for matched interests (if you want a different look when matched) */
.interest-match {
    background-color: var(--tm-primary); /* Lighter background for matched interests */
    color: var(--tm-cream); /* Darker text color for contrast */
    border-color: var(--tm-border-color); /* Darker border for matched interests */
}

.interest-category-header{
    font-size: 0.98rem;
}

.interest-level {
  background-color: var(--tm-background); /* A slightly darker background for the number */
  border: 1.5px solid var(--tm-primary); /* Light border */
  border-radius: var(--tm-border-radius-pill); /* Make it rounded */
  height: 2rem; /* Match the height of the badge */
  width: 2rem; /* Match the width of the badge */
  margin: 0;
  margin-left: 0.5rem; /* Space between name and number */
  font-weight: var(--tm-fw-semi); /* Bolder font for the number */
  color: var(--tm-primary); /* Slightly darker text for the number */
  font-size: var(--tm-font-size); /* Adjust font size for the number */
  display: flex; /* To align content nicely */
  align-items: center; /* Vertically align content */
  justify-content: center; /* Center the number horizontally */
}

#tms-title {
    margin-bottom: 0.5rem;
    text-align: center;
    margin-top: 0;
    font-weight: var(--tm-fw-semi);
    line-height: 1.2;
    color: var(--tm-primary);
}

@media (min-width: 1448px) {
    #tms-title {
      font-size: 1.5rem !important; /* or whatever your .fs-h3 size is */
    }
  }


#tms-pn {
    color: var(--tm-warning);
}

#tms-loc {
}

.tms-about{
    color: var(--tm-primary);
    opacity: 0.4;
}

.tms-interest-label{
    font-weight: 500 !important;
}

#tms-accuracy {
    display:flex;
    flex-direction: column;
}

#tms-idv {
    margin-bottom: 0.5rem;
}

#tms-pgs-title {
    font-size: calc(1.325rem + 0.9vw);
}

#tms-pgs-div {
    position: relative;
}
#tms-cats .tms-cat-w {
    display: flex;
    flex-direction: column;
    width:100%;
    border-bottom: var(--tm-border-color-translucent) 1px solid;
}

#tms-cats {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    
}

#tms-cats .tms-cat-n {
    font-size: 1.1rem;
    font-weight: var(--tm-fw-semi);
    color: var(--tm-primary);
    opacity: 0.75;
    vertical-align: center;
    width:70%;
}

#tms-cats .tms-cat-s {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tm-black);
    vertical-align: center;
    text-align: right;
    width:30%;
    opacity: .65;
    
}

#tms-cats .tms-cat-r1 {
    display: flex;
    flex-direction: row;
    width:100%;
}

#tms-cats .tms-cat-r2 {
    padding-left:1rem;
}

#tms-cats {
    color: var(--tm-warning);
}

.tm-pn-about{
    color: var(--tm-warning);
}
.tms-plus-invite {
    margin:5px;
    padding: 5px 10px;
    border: var(--tm-border-color-translucent) 1px solid;
    border-radius: var(--tm-border-radius);
    background-color: var(--tm-danger-10);
    
}
.tms-plus-invite a {
    text-decoration: none;
}
.tms-plus-invite .tm-si {
    font-size: 0.75em;
    font-style: italic;
}

/* .tms-progress-circle-score {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
} */

.tmsp-heading {
    font-weight: var(--tm-fw-semi);
    margin-top: 0;
    margin-bottom: 0.25rem;
    line-height: 1.2;
    color: var(--tm-danger);
    font-size: 1.1rem;
}

/* mapbox */

.mapboxgl-ctrl-geocoder--input {
    background-color: var(--tm-light) !important;
}

.mapboxgl-ctrl-geocoder {
    box-shadow: none !important;
}

.mapboxgl-ctrl-geocoder svg {
    display: none;
}

#da-other-btn {
    margin: auto;
    cursor: pointer;
}

#da-other-btn:hover {
    outline: 2px var(--tm-border-color) solid;
    filter: drop-shadow(0px 7px 10px var(--tm-border-color)); /*test effect*/
}

    .btn-lat-intention {
        width: 100px;
        cursor: pointer;
        margin: 0px 5px;
    }

    .btn-lat-intention.no {
        background-color: var(--tm-danger);
    }

    .btn-lat-intention.maybe {
        background-color: var(--tm-warning);
    }

    .btn-lat-intention.yes {
        background-color: var(--tm-primary);
    }

    #lat-intention-modal {
        position: fixed;
        top:0;
        width: inherit;
        height: 100vh;
        z-index: 960;
        background-color: var(--tm-cream-25);
    }

    #lat-intention-modal-btns {
        background-color: var(--tm-blue);
        outline: 1px solid var(--tm-primary);
        text-align: center;
        position: fixed;
        bottom: 0;
        width: inherit;
        padding: 20px 0px;
    }

    .lat-build-container {
        /*display: flex;*/
        /*flex-direction: column;*/
    }

    .lat-element {
        display: flex;
        flex-direction: row;
        border-radius: 8px;
        /*height: 2rem;*/
        margin-top: 1rem;
        /*margin-bottom: 1rem;*/
        place-items: baseline;
        flex: 1;
        /*box-sizing: border-box;*/
        box-shadow: inset 0px 0px 0px 1px var(--tm-primary);
        overflow: hidden;
    }

    .lat-score {
        font-weight: bold;
        place-content: center;
        font-size: 1.5rem;
        flex: 1 0 15%;
        text-align: center;
    }

    .lat-profilename {
        font-weight: bold;
        color: var(--tm-orange);
        /*flex: 1 0 max-content;*/
    }

    .lat-profileinfo{
        flex: 1 0 65%;
        vertical-align: baseline;

    }

    .lat-location {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        margin-left: 8px;
        font-size: .7rem;
        max-width: 8rem;
        min-width: 8rem;
    }


    .lat-check {
        flex-basis: 2rem;
        text-align: center;
        /* margin: 3%; */
        margin-top: auto;
        padding: 0 2%;
    }

    .lat-plus {
        /*position: absolute;*/
        /*width: 40px;
        background-color: var(--tm-primary);
        flex: 2 1 auto;
        right: 30px;*/
    }

    .lat-accuracy {
        text-align: center;
        flex: 1 0 15%;
    }

    .lat-application {
        font-size: .5rem;
        /*flex-basis: 14rem;*/
        flex: 1 0 67%;
    }

    .lat-check-label {
        font-size: .5rem;
    }

    .lat-container {
        display: flex;
        width: 100%;
    }

    #tm-score-button{
        display: flex;
        align-items: center;
    }

    #tm-score-button > a {
        flex-basis: 95%;
    }

    #tm-score-button > i {
        font-size: 1.5em;
    }

    #tm-score-button > a> .fa-chevron-left{
        font-size: 1.5em;
    }

    #root-login-btn-container {
        align-self: center;
        width: 50%;
        font-size: 1.1rem;
    }

    .profile-panel {
        /*background-color: rgb(255, 255, 155);*/
        width: 100%;
        max-width: 40rem;
        min-height: 100px;
        border-radius: 0.625rem;
        padding: 25px 15px 25px 15px;
        background-color: #fffbf4;
        /* padding: 1rem; */
        position: relative;
        border: 1px solid var(--tm-border-color-translucent);
    }

    
    .interest-container {
        border: 1px solid var(--tm-primary);
    }
    
    .interest-description {
        color: black;
        display: block;
    }
    
    .interest-description-examples {
        color: black;
        display: block;
    }
    
    .interest-container {
        border-radius: 0.625rem;
    }

/* Store Buttons */
.store-buttons {
    margin: 2rem 0;
}

.store-button {
    display: inline-block;
    transition: transform 0.2s ease;
}

.store-button:hover {
    transform: scale(1.05);
}

.store-img {
    height: 48px;
    width: auto;
    border-radius: 8px;
}

/* Interest Pills */

/* badge  */

.interest-pill {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  color: var(--tm-badge-color);
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
  /* border-radius: var(--tm-border-radius-pill) !important; */
}

/* .rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--tm-border-radius-pill) !important;
} */

.intensity-circle {
  height: 2rem;
  width: 2rem;
  line-height: 2rem;
  text-align: center;
  border-radius: 50%;
  font-size: 1rem;
  z-index: -1;
  /* clip-path: inset(0 50% 0 0); Show only left half */
}

.pie-percent-1 {
    font-size: 1.5rem;
    font-weight: bold;
    fill: var(--tm-primary);
  }

.tms-score-breakdown{
    flex-grow: 1;
}

.tms-progress-bar-wrapper{
    height: 10px;
    flex-grow: 1;
}

.score-border-red {
  border: 1px solid var(--tm-red) !important;
}
.score-border-warning {
  border: 1px solid var(--tm-warning) !important;
}
.score-border-primary {
  border: 1px solid var(--tm-primary) !important;
}

.score-bg-red {
  background-color: var(--tm-red) !important;
}
.score-bg-warning {
  background-color: var(--tm-warning) !important;
}
.score-bg-primary {
  background-color: var(--tm-primary) !important;
}

.score-color-red {
  color: var(--tm-red) !important;
}
.score-color-warning {
  color: var(--tm-warning) !important;
}
.score-color-primary {
  color: var(--tm-primary) !important;
}

@media (max-width: 576px) {
    .store-img {
        height: 40px;
    }
}