html { font-size: 14px; }

@media (min-width: 768px) {
    html { font-size: 16px; }
}

html { position: relative; min-height: 100%; }
body { background-color: #000; margin-bottom: 60px; --bs-text-opacity: 1; color: rgba(var(--bs-light-rgb),var(--bs-text-opacity)); }
main { min-height: 100vh; }
main > section { padding-top: 3rem; padding-bottom: 3rem; }
main > section:first-child { padding-top: 0; padding-bottom: 0; }
main > section:nth-child(2) { padding-top: 0; }

.navbar-dark .navbar-brand { font-size: 0; }
.navbar { box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); }

/* Video section */
.video-block { overflow: hidden; position: relative; }
.video-block img { width: 100%; display: block; }

.video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 5rem;
    color: var(--bs-info);
    cursor: pointer;
    transition: color 0.3s ease, transform 0.2s ease;
    z-index: 2;
}
.video-play-icon:hover { color: var(--bs-light); transform: translate(-50%, -50%) scale(1.1); }

.video-iframe-container { position: relative; overflow: hidden; padding-bottom: 56.25%; height: 0; }
.video-iframe-container iframe { position: absolute; width: 100%; height: 100%; top: 0; left: 0; border: 0; }

/* CTA selection block */
.selection-block > div { transition: transform ease 600ms; z-index: 2; }
.selection-block > div:hover { transform: scaleY(1.05); }
.selection-block > div:hover a { color: var(--bs-info) !important; }
.selection-block > div:nth-child(3n+1) { background-color: #0a58ca; }
.selection-block > div:nth-child(3n+2) { background-color: #084298; }
.selection-block > div:nth-child(3n+3) { background-color: #052c65; }

/* FAQ accordion */
#faq h2.text-center { font-size: 2.5rem; }
.accordion-flush .accordion-item { margin-bottom: 0.75rem; }
.accordion-flush .accordion-button { background-color: var(--bs-dark); color: var(--bs-light); font-size: 1.25rem; padding: 1.25rem 1.5rem; border-radius: 0.375rem !important; }
.accordion-flush .accordion-button.collapsed { background-color: var(--bs-dark); }
.accordion-flush .accordion-button::after { filter: invert(1); }
.accordion-flush .accordion-body { color: var(--bs-light); font-size: 1.1rem; padding: 1.25rem 1.5rem; }
