﻿h2, h3, p {
    padding: 0;
    margin: 0;
    margin-bottom: var(--pill-gap);
}

.flow-root {
    /* stops margin from escpaing and collpasing */
    display: flow-root;
}

.main-padded-content {
    margin: var(--large-gap) var(--medium-gap);
}

.main-box-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: var(--large-gap);
    align-items: stretch;
}

    .main-box-container.large {
        gap: var(--d-large-gap);
    }

    .main-box-container > div {
        display: flex;
        flex-direction: column;
    }

    .main-box-container > .compensate-btn {
        padding-bottom: calc(var(--medium-gap) + var(--btn-h));
    }

    .main-box-container > .highlight-col {
        position: relative;
    }

.highlight-col > svg {
    position: absolute;
    top: calc(-1 * var(--large-gap));
    left: calc(-2 * var(--d-large-gap));
    width: calc(100% + 3 * var(--d-large-gap));
    height: calc(100% + 1 * var(--d-large-gap));
    max-width: 100vw;
    z-index: -1;
    pointer-events: none;
}

        .highlight-col > .framed-box,
        .highlight-col > .btn-primary,
        .highlight-col > .medium-gap {
            position: relative;
            z-index: 1;
        }

.framed-box {
    border: 1px solid var(--text-color);
    padding: var(--medium-gap);
    background-color: var(--white-bg);
    flex: 1;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.framed-box-highlight {
    border-image: linear-gradient(
        to bottom,
        #FF8C00 0%,
        #FF0037 33%,
        #FF0037 66%,
        #FF8C00 100%
    ) 1;
}

.framed-content {
    padding: var(--medium-gap);
    padding-bottom: var(--large-gap);
    background-color: var(--gray-bg);
    flex: 1; /* take leftover space */
}

.main-text-center{
    text-align: center;
}

.main-icon-list{
    display: flex;
    flex-direction: column;
    gap: var(--pill-gap);
}

.main-icon-span-pair{
    display: flex;
    gap: var(--pill-gap);
}

.main-icon-span-pair > img{
    aspect-ratio: 1;
    height: 2.4rem;
}

.main-flex-container-container{
    display: flex;
    flex-wrap: wrap;
    gap: var(--large-gap);
}

.main-curved-container {
    background-color: var(--white-bg);
    border-radius: var(--medium-gap);
    box-shadow: 0 4px 12px 4px rgba(0, 0, 0, 0.25);
    padding: var(--large-gap) var(--medium-gap);
    text-align: center;
}

/**************************************************************************
    Price Calculator
*/

.price-calculator {
    display: flex;
    gap: var(--d-large-gap);
    justify-content: space-between;
}

    .price-calculator > .form-group {
        flex: 1;
        width: min(100%, 400px);
        min-width: 300px;
    }

        .price-calculator label{
            margin: 0;
        }

    .price-calculator > .framed-box {
        max-width: min(100%, 400px);
        min-width: 300px;
    }

@media (max-width: 1200px) {
    .main-box-container.large {
        gap: var(--large-gap);
    }

}

@media (max-width: 700px) {
    .main-box-container > .compensate-btn {
        padding-bottom: 0;
    }

    .price-calculator {
        gap: var(--medium-gap);
        flex-wrap: wrap;
    }

        .price-calculator > .framed-box {
            width: 100%;
            max-width: none;
        }
}
