*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
}

img,
video {
    max-width: 100%;
    height: auto;
}

iframe {
    display: block;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.responsive-ad {
    position: relative;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

.responsive-ad > iframe {
    display: block;
    border: 0;
}

.container,
.container-fluid,
.row,
[class*="col-"] {
    min-width: 0;
}

input,
select,
textarea,
button,
.form-control,
.btn {
    max-width: 100%;
}

.table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive > .table {
    min-width: 640px;
    margin-bottom: 0;
}

th,
td,
code,
a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 575.98px) {
    .container,
    .container-fluid {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }

    .jumbotron {
        padding: 2rem 0 !important;
    }

    .jumbotron h1,
    .display-4 {
        font-size: clamp(1.75rem, 9vw, 2.25rem) !important;
        line-height: 1.2;
    }

    h1 {
        font-size: 1.85rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    h3 {
        font-size: 1.25rem;
    }

    .form-container,
    .stats,
    .card-body {
        padding: 1rem;
    }

    .navbar-brand {
        max-width: calc(100% - 64px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .navbar-nav .nav-link {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .table {
        font-size: 0.875rem;
    }

    .site-footer {
        padding-right: 12px;
        padding-left: 12px;
    }
}
