html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body, #horse_content_root  {
    background-color: var(--sbc_cream);
}
#horse_content_root {
    padding-bottom: 2rem;
    .text_header {
        padding: 12rem 7rem 2rem 6rem;
        text-wrap: pretty;
        width: 100%;
        .title {
            font-size: 4rem;
        }
        .figures_text_header_description > * {
            padding: 0.5rem 0;
        }
        .figures_text_header_description *:first-child {
            padding: 1.5rem 0 0.5rem 0;
        }
        a {
            color: var(--sbc_cherry_red) !important;
            text-decoration: underline;
            font-weight: bold;
        }
    }
    .horse_card_wrapper {
        display: grid;
        justify-content: center;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
        
        .horse_card {
            display: grid;
            justify-content: center;
            align-items: center;
            gap: 1.2em;
            background-color: var(--sbc_slate_blue);
            text-align: center;
            border-radius: 1rem;
            padding: 2rem;
            width: 100%;

            .img_wrapper {
                background-color: white;
                border-radius: 1rem;
                width: 100%;
            }

            img {
                max-width: 100%;
                height: 12rem;
                object-fit: contain;
                padding: .5rem;
            }
            h2 {
                font-weight: 700;
            }
            .learnmore {
                align-self: end;
            }
            a:hover {
                background-color: var(--sbc_salmon);
            }
        }
    }
}

/* ====================== BREAK POINTS ======================*/
@media only screen and (max-width: 800px) {
    body {
        max-height: 100vh;
    }
}
@media only screen and (max-width: 1350px) {
    #horse_content_root {
        .horse_card_wrapper {
            grid-template-columns: 1fr 1fr;
            padding: 0 5rem 2rem 5rem;
        }
    }
}
@media only screen and (max-width: 950px) {
    #horse_content_root {
        .text_header {
            padding: 12rem 3rem 2rem 3rem;
        }
        .horse_card_wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            grid-template-columns: 1fr;
            padding: 0 2rem 2rem 2rem;
            max-width: 30rem;
            margin: auto;
        }
        .button {
            display: block;
        }
    }
}
@media only screen and (max-width: 400px) {
    #horse_content_root {
        .text_header {
            padding: 12rem 2rem 2rem 2rem;
            text-align: center;
        }
        .horse_card_wrapper {
            width: 100vw;
            .horse_card {
                max-width: 85vw;
            }
        }
    }
}