﻿:root {
    --BorderWidthMed: 15px;
    --BorderWidthSml: 10px;
}

html {
    font-size: 14px;
    overflow-x: hidden;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.List_NoBullet {
    list-style-type: none;
}

.List_Spaced li{
    margin-bottom: 0.5em;
}

.SplitContainer {
    display: flex; /* Makes the container a flex container */
    gap: 20px; /* Adds space between columns */
}

.AlignedContainer {
    display: flex;
    justify-content: center; 
}

.PaddedChildren > * {
    padding-bottom: 10px;
}

.SplitContainerColumn1_1 {
    flex: 1;
}

.SplitContainerColumn2_1 {
    flex: 2;
}

.SplitContainerColumn3_1 {
    flex: 3;
}


.AutoScaleHeight {
    max-width: 100%;
    height: auto;
}


.ColumnWidth_W {
    width: 15%;
}

.ColumnWidth_M {
    width: 10%;
}

.FieldHeader {
    font-weight: bold;
}

.Text_SuccessMessage {
    color: green;
    font-weight: bold;
}

.button-link {
    display: inline-block;
    background: #000;
    border-radius: 4px;
    font-family: "arial-black";
    font-size: 14px;
    color: #FFF;
    padding: 8px 12px;
    cursor: pointer;

}

    .button-link:hover {
        background-color: #0056b3;
        border-color: #0056b3;
        text-decoration: none;
    }

    .button-link:active {
        background-color: #004494;
        border-color: #004494;
    }

    .button-link:focus {
        outline: none;
    }


.form-control-like-select {
    display: block;
    width: 100%; /* matches .form-control */
    padding: 0.375rem 2.25rem 0.375rem 0.75rem; /* Bootstrap 5 default padding for form-select */
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    appearance: none; /* removes default browser arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
}

    /* Optional: match focus style exactly like form-control */
    .form-control-like-select:focus {
        color: #212529;
        background-color: #fff;
        border-color: #86b7fe;
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    }

    /* Optional: small/large variants if you use them on inputs */
    .form-control-like-select.form-control-sm {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
        border-radius: 0.25rem;
        background-position: right 0.25rem center;
        background-size: 12px 9px;
    }

    .form-control-like-select.form-control-lg {
        padding: 0.5rem 1rem;
        font-size: 1.25rem;
        border-radius: 0.5rem;
        background-position: right 1rem center;
        background-size: 20px 15px;
    }

.FontSizeSmall {
    font-size: 80%
}

.MaxWidth {
    display: inline-block; /* or display: block; */
    max-width: 100%;
}

.MediumWidth {
    display: inline-block; /* or display: block; */
    max-width: 75%;
}

.SmallWidth {
    display: inline-block; /* or display: block; */
    max-width: 50%;
}

.clickable-row {
    cursor: pointer;
}

    .clickable-row:hover {
        background-color: #f5f5f5;
    }

.MarginBottomMedium {
    margin-bottom: 5vh;
}

.MarginBottomSmall {
    margin-bottom: 2vh;
}

.CannotEdit {
    pointer-events: none;
    opacity: 0.5;
}

.FlexBoxTopLeft {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap; 
    width: 100%;
}

.ServiceBox {
    width: 300px;
    height: 200px;
    border-width: var(--BorderWidthSml);
    border-style: solid;
    border-color: #EBEBEB;
    border-radius: 25px;
    padding: 15px;
    margin: 10px;

    background-color: #FAFAFA;
}

.ServiceBox > h1{
    font-family: Impact;
    color: #101010;
    font-size: 18px;
    text-align: left;
    letter-spacing: 1.5px;
}

.ServiceBoxSubject {
    width: 80%;
    height: 80px;
    border-bottom-style: solid;
    border-bottom-width: 2px;
    border-bottom-color: black;
}

    .ServiceBoxSubject > p {
        font-size: 50px;
        text-align: left;
        font-weight: bold;
    }

.PaddedMed {
    padding: 15px
}


.CenteredWidthSection {
    display: grid;
    place-items: center;
    padding-top: 30vh;
}

.RoundedPerfectSml {
    display: block;
    place-items: center;
    position: relative;
    top: 20px;
    left: max(-10%, 0px);
    width: 100%;
    height: 75vh;
    border-width: var(--BorderWidthMed);
    border-radius: 25px;
    border-style: solid;
    border-color: #EFEFEF;
}

.DisableTextSelect {
    -webkit-user-select: none; 
    user-select: none; 
}

.BlurredMed {
    filter: blur(2px);
}

.SuccessText {
    color: green;
}

.ErrorText {
    color: red;
}

.AlignContentsHoriziontally {
    display: flex;
    justify-content: center;
}

.WideAvg {
    width: 100%;
}

.CenterAlignedText {
    text-align: center;
}

.ColumnGapsMed {
    column-gap: 10px;
}

.FullWidthTable {
    width: 45vw;
    position: relative;
    /*left: -50px;*/
   
}

.WidthColumn {
    width: 20vw;
    padding-left: 40px;
}

.WideSelectMed {
    width: 200px;
}

.HoverMenu {
    position: fixed;
    transform: translate(0px, 10px);
    border-style: solid;
    border-color: gray;
    background-color: #F1F1F1;
    border-radius: 12px;
    width: 200px;
    padding: 20px;
}

.PushFromTopMed {
    margin-top: 10px;
}

.AlignContentsLeft {
    text-align: left;
}


.ShrinkToFit {
    display: block;
    width: 100%;
    font-size: clamp(10px, 5vw, 32px);
    white-space: nowrap;
}