/*
Theme Name: Bootscore
Theme URI: https://bootscore.me/
Author: Bootscore
Author URI: https://bootscore.me
Description: Flexible Bootstrap WordPress starter-theme for developers with full WooCommerce support. <a href="https://bootscore.me/category/documentation/" target="_blank">Documentation</a>
Version: 6.3.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
License: MIT License
License URI: https://github.com/bootscore/bootscore/blob/main/LICENSE
Text Domain: bootscore
Tags: featured-images, threaded-comments, translation-ready
Use this theme to make something cool, have fun, and share what you've learned with others.
Bootscore is based on Underscores https://underscores.me/, (C) 2012-2024 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/
/*
All style editing is done via /assets/scss/_bootscore-custom.scss
*/
:root {
--ka-color-bg: #050507;
--ka-color-surface: #111217;
--ka-color-primary: #A21212;
--ka-color-primary-soft: #F73718;
--ka-color-accent: #F9C73F;
--ka-color-text: #f9fafb;
--ka-color-muted: #b7b8b9;
--ka-color-border-subtle: rgba(255, 255, 255, 0.06);
--ka-color-topbar-bg: #000000;
--ka-link-underline: rgba(255, 107, 53, 0.6);
--ka-link-underline-hover: rgba(255, 159, 95, 0.9);
--ka-color-on-primary-strong: #0b0b0b;
--ka-color-on-primary: #050507;
--ka-color-success: #22c55e;
--ka-color-warning: #facc15;
--ka-color-danger: #ef4444;
--ka-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--ka-font-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body {
font-family: var(--ka-font-sans);
color: var(--ka-color-text);
background-color: var(--ka-color-bg);
}
.site-main {
padding-bottom: 0;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--ka-font-heading);
color: var(--ka-color-accent);
font-weight: 700;
}
.text-muted,
.small.text-muted {
color: var(--ka-color-muted) !important;
}
.card p.mb-0.small.text-muted.mt-auto {
color: #ffffff !important;
font-size: 0.9rem;
font-weight: 500;
}
.page-template-page-full-width-image p.small.text-muted.mb-3 {
color: #ffffff !important;
font-size: 0.95rem;
font-weight: 500;
}
p.small.text-muted.mt-2 {
color: var(--ka-color-text) !important;
font-size: 0.95rem;
font-weight: 500;
}
.entry-content > p:empty {
margin: 0;
padding: 0;
display: none;
}
/* Services grid: hide bare paragraphs directly inside the grid columns
(WordPress sometimes injects <p>&nbsp;</p> here, which shows as blank boxes) */
.services-grid-section .row > [class^="col"] > p:not([class]) {
margin: 0;
padding: 0;
display: none;
}
.entry-content ul {
list-style: none;
padding-left: 0;
}
.entry-content ul li {
position: relative;
padding-left: 1.5rem;
}
.entry-content ul li::before {
content: "\2713";
position: absolute;
left: 0;
top: 0.1em;
color: var(--ka-color-accent);
font-weight: 700;
}
span.text-muted.ms-1 {
color: var(--ka-color-text) !important;
}
.card {
background-color: var(--ka-color-surface);
border: 1px solid var(--ka-color-border-subtle);
color: var(--ka-color-text);
}
.card-title {
color: var(--ka-color-accent);
}
.card-text,
.card ul li {
color: var(--ka-color-text);
}
.reviews-section .card {
box-shadow:
0 0 0 1px rgba(0, 0, 0, 0.8),
0 0 36px rgba(249, 199, 63, 0.55);
transition: box-shadow 0.2s ease-out, transform 0.2s ease-out;
}
.reviews-section .card:hover,
.reviews-section .card:focus-within {
box-shadow:
0 0 0 1px rgba(0, 0, 0, 0.9),
0 0 48px rgba(249, 199, 63, 0.75);
transform: translateY(-2px);
}
.card .fa-star {
margin-right: 0.15rem;
vertical-align: middle;
}
.card p.mb-1.text-warning {
display: inline-flex;
align-items: center;
gap: 0.15rem;
}
.card p.mb-1.text-warning br {
display: none;
}
.badge {
font-family: var(--ka-font-sans);
}
.badge.text-bg-primary,
.badge.bg-primary {
background-color: var(--ka-color-primary-soft) !important;
color: var(--ka-color-on-primary-strong) !important;
}
.badge.text-bg-primary:hover,
.badge.text-bg-primary:focus,
.badge.bg-primary:hover,
.badge.bg-primary:focus {
background-color: var(--ka-color-primary) !important;
color: var(--ka-color-on-primary) !important;
}
.service-area-section .badge {
position: relative;
padding-left: 1.5rem;
text-decoration: none;
display: inline-flex;
align-items: center;
line-height: 1.2;
}
.service-area-section .badge br {
display: none;
}
.service-area-section .d-flex.flex-wrap.gap-2 > br,
.service-area-section span.text-muted.ms-1 br {
display: none;
}
.service-area-section .badge::before {
content: "\f3c5";
font-family: "Font Awesome 5 Free";
font-weight: 900;
position: absolute;
left: 0.6rem;
top: 50%;
transform: translateY(-50%);
}
.service-area-section .badge:hover,
.service-area-section .badge:focus {
text-decoration: none;
}
.service-area-section {
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
}
@media (max-width: 991.98px) {
body[class*="page-template-page-blank"] {
overflow-x: hidden;
}
body[class*="page-template-page-blank"] .service-area-section,
body[class*="page-template-page-blank"] .final-cta-section,
body[class*="page-template-page-blank"] .reviews-section,
body[class*="page-template-page-blank"] .services-grid-section {
width: 100%;
margin-left: 0;
transform: none;
}
}
.service-area-section > .container {
max-width: 1320px;
}
.site-header,
#masthead {
background-color: var(--ka-color-surface);
}
.site-header {
border-bottom: 1px solid var(--ka-color-primary);
}
.navbar-brand img {
max-height: 68px;
height: auto;
width: auto;
}
@media (min-width: 992px) {
.navbar-brand img {
max-height: 96px;
}
}
#nav-main.navbar {
background-color: var(--ka-color-surface);
}
#masthead #nav-main .container {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
#offcanvas-navbar.offcanvas {
background-color: var(--ka-color-surface);
color: var(--ka-color-text);
}
#offcanvas-navbar .btn-close {
filter: invert(1);
opacity: 1;
}
.navbar .nav-link {
font-weight: 600;
font-size: 1.05rem;
padding-top: 0.4rem;
padding-bottom: 0.4rem;
}
@media (min-width: 992px) {
.navbar .nav-link {
font-size: 1.18rem;
}
}
.widget-area.top-bar,
#top-bar,
.top-bar {
background-color: var(--ka-color-topbar-bg);
color: var(--ka-color-text);
font-size: 0.875rem;
}
.widget-area.top-bar a,
#top-bar a,
.top-bar a {
color: var(--ka-color-primary-soft);
text-decoration: none;
}
.widget-area.top-bar a:hover,
.widget-area.top-bar a:focus,
#top-bar a:hover,
#top-bar a:focus,
.top-bar a:hover,
.top-bar a:focus {
color: var(--ka-color-primary);
}
.widget-area.top-bar .btn-primary,
#top-bar .btn-primary,
.top-bar .btn-primary {
background-color: var(--ka-color-primary-soft);
border-color: var(--ka-color-primary-soft);
color: var(--ka-color-on-primary-strong);
font-weight: 600;
}
.widget-area.top-bar .btn-primary:hover,
.widget-area.top-bar .btn-primary:focus,
.widget-area.top-bar .btn-primary:active,
#top-bar .btn-primary:hover,
#top-bar .btn-primary:focus,
#top-bar .btn-primary:active,
.top-bar .btn-primary:hover,
.top-bar .btn-primary:focus,
.top-bar .btn-primary:active {
background-color: var(--ka-color-primary);
border-color: var(--ka-color-primary);
color: var(--ka-color-on-primary);
}
.widget-area.top-bar .btn-outline-primary,
#top-bar .btn-outline-primary,
.top-bar .btn-outline-primary {
color: var(--ka-color-primary-soft);
border-color: var(--ka-color-primary-soft);
font-weight: 600;
}
.widget-area.top-bar .btn-outline-primary:hover,
.widget-area.top-bar .btn-outline-primary:focus,
.widget-area.top-bar .btn-outline-primary:active,
#top-bar .btn-outline-primary:hover,
#top-bar .btn-outline-primary:focus,
#top-bar .btn-outline-primary:active,
.top-bar .btn-outline-primary:hover,
.top-bar .btn-outline-primary:focus,
.top-bar .btn-outline-primary:active {
color: var(--ka-color-on-primary);
background-color: var(--ka-color-primary-soft);
border-color: var(--ka-color-primary-soft);
}
.widget-area.top-bar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.35rem 1rem;
}
@media (max-width: 767.98px) {
.top-bar-address-link {
display: none;
}
.top-bar-address.is-open .top-bar-address-link {
display: inline;
}
}
@media (min-width: 768px) {
.top-bar-address-link {
display: inline;
}
}
.top-bar-address-toggle {
color: var(--ka-color-primary-soft);
}
@media (max-width: 767.98px) {
.widget-area.top-bar,
#top-bar,
.top-bar {
position: sticky;
top: 0;
z-index: 1;
}
body .site-header.sticky-top {
position: static !important;
}
}
#offcanvas-navbar.offcanvas {
z-index: 1050;
}
a {
color: var(--ka-color-primary);
text-decoration-color: var(--ka-link-underline);
}
a:hover,
a:focus {
color: var(--ka-color-primary-soft);
text-decoration-color: var(--ka-link-underline-hover);
}
.btn-primary {
background-color: var(--ka-color-primary-soft);
border-color: var(--ka-color-primary-soft);
color: var(--ka-color-on-primary-strong);
font-weight: 600;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
background-color: var(--ka-color-primary);
border-color: var(--ka-color-primary);
color: var(--ka-color-on-primary);
}
.btn-outline-primary {
color: var(--ka-color-primary-soft);
border-color: var(--ka-color-primary-soft);
font-weight: 600;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
color: var(--ka-color-on-primary);
background-color: var(--ka-color-primary-soft);
border-color: var(--ka-color-primary-soft);
}
.btn-sm {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
line-height: 1.2;
}
@media (max-width: 991.98px) {
.nav-toggler.btn {
padding-top: 0.4rem;
padding-bottom: 0.4rem;
padding-left: 0.75rem;
padding-right: 0.75rem;
font-size: 1.05rem;
}
.nav-toggler.btn i {
font-size: 1.1em;
}
}
@media (min-width: 992px) {
.page-template-page-full-width-image .btn-sm {
padding-top: 0.4rem;
padding-bottom: 0.4rem;
padding-left: 1.1rem;
padding-right: 1.1rem;
font-size: 0.95rem;
}
}
/* On the Full Width Image page, use flexbox for buttons to keep labels vertically centered
even if the editor injects extra whitespace or line breaks inside the <a> tag. */
.page-template-page-full-width-image .btn {
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 1.2;
}
.final-cta-section {
background: linear-gradient(135deg, var(--ka-color-surface), #000000);
border-top: 1px solid var(--ka-color-border-subtle);
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
padding-bottom: 3rem !important;
margin-bottom: 0;
}
.final-cta-section > .container {
max-width: 1320px;
}
.final-cta-section h2 {
color: var(--ka-color-accent);
}
.final-cta-section p {
color: var(--ka-color-text);
}
.nav-link {
color: var(--ka-color-muted);
}
.nav-link:hover,
.nav-link:focus {
color: var(--ka-color-primary-soft);
}
.nav-link.active,
.nav-link.show,
.current-menu-item > .nav-link {
color: var(--ka-color-primary);
}
.site-header .nav-link {
color: var(--ka-color-text);
}
.site-header .nav-link:hover,
.site-header .nav-link:focus {
color: var(--ka-color-primary-soft);
}
.site-header .nav-link.active,
.site-header .nav-link.show,
.site-header .current-menu-item > .nav-link {
color: var(--ka-color-accent);
}
.site-header .dropdown-menu {
background-color: var(--ka-color-surface);
border: 1px solid var(--ka-color-border-subtle);
}
.site-header .dropdown-menu .dropdown-item {
font-weight: 600;
font-size: 1.05rem;
color: var(--ka-color-text);
padding-top: 0.4rem;
padding-bottom: 0.4rem;
}
@media (min-width: 992px) {
.site-header .dropdown-menu .dropdown-item {
font-size: 1.18rem;
}
}
.site-header .dropdown-menu .dropdown-item:hover,
.site-header .dropdown-menu .dropdown-item:focus {
color: var(--ka-color-primary-soft);
background-color: transparent;
}
.site-header .dropdown-menu .dropdown-item.active,
.site-header .dropdown-menu .dropdown-item:active {
color: var(--ka-color-accent);
background-color: transparent;
}
/* Separate submenu toggle button (injected by navwalker):
- Mobile/offcanvas: clear tap target
- Desktop: hidden (hover opens submenu)
*/
.site-header .navbar-nav .nav-item {
position: relative;
}
.site-header .navbar-nav .bs-submenu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
margin-left: 0.25rem;
padding: 0.5rem 0.75rem;
border: 1px solid var(--ka-color-border-subtle);
border-radius: 0.5rem;
background-color: transparent;
color: var(--ka-color-text);
}
.site-header .navbar-nav .bs-submenu-toggle:hover,
.site-header .navbar-nav .bs-submenu-toggle:focus {
border-color: var(--ka-color-primary-soft);
color: var(--ka-color-primary-soft);
}
@media (max-width: 991.98px) {
#offcanvas-navbar .navbar-nav .nav-item.dropdown {
display: flex;
flex-wrap: wrap;
align-items: center;
}
#offcanvas-navbar .navbar-nav .nav-item.dropdown > a.nav-link {
flex: 1 1 auto;
min-width: 0;
}
#offcanvas-navbar .navbar-nav .nav-item.dropdown > .bs-submenu-toggle {
margin-left: auto;
flex: 0 0 auto;
}
#offcanvas-navbar .navbar-nav .nav-item.dropdown > .dropdown-menu {
flex: 0 0 100%;
width: 100%;
}
}
@media (min-width: 992px) {
.site-header .navbar-nav .bs-submenu-toggle {
display: none;
}
}
.bootscore-footer-columns,
.bootscore-footer-info {
background-color: var(--ka-color-bg);
color: var(--ka-color-primary);
}
.entry-footer,
#comments {
margin-top: 0;
padding-top: 0;
}
.bootscore-footer .widget-title,
.bootscore-footer h2,
.bootscore-footer h3,
.bootscore-footer h4 {
font-family: var(--ka-font-heading);
color: var(--ka-color-primary-soft);
font-weight: 600;
}
.bootscore-footer .footer-menu-heading {
color: var(--ka-color-text);
}
.bootscore-footer a {
color: var(--ka-color-primary-soft);
text-decoration: none;
}
.bootscore-footer a:hover,
.bootscore-footer a:focus {
color: var(--ka-color-accent);
text-decoration: underline;
}
.bootscore-footer-info {
border-top: 1px solid var(--ka-color-border-subtle);
}
.bootscore-footer .nav-link {
color: var(--ka-color-primary-soft) !important;
font-weight: 600;
padding-top: 0.1rem;
padding-bottom: 0.1rem;
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.bootscore-footer .nav-link:hover,
.bootscore-footer .nav-link:focus {
color: var(--ka-color-accent) !important;
text-decoration: underline;
}
.bootscore-footer-columns {
padding-top: 1.5rem;
padding-bottom: 2.5rem;
}
.bootscore-footer-columns .row > div:nth-child(2) .nav,
.bootscore-footer-columns .row > div:nth-child(3) .nav {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.15rem;
}
.bootscore-footer-columns .row > div:nth-child(2) .nav {
padding-left: 1rem;
}
.footer-brand p,
.footer-contact p {
color: var(--ka-color-text);
font-size: 0.95rem;
font-weight: 500;
}
.footer-contact p.text-muted {
color: var(--ka-color-text);
}
.footer-contact i {
color: var(--ka-color-primary-soft);
}
.footer-social a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2rem;
height: 2rem;
border-radius: 999px;
background-color: var(--ka-color-surface);
color: var(--ka-color-primary-soft);
margin-right: 0.35rem;
}
.footer-social a:hover,
.footer-social a:focus {
background-color: var(--ka-color-primary);
color: var(--ka-color-on-primary-strong);
}
.height-50 {
height: 50vh;
}
.height-75 {
height: 55vh;
}
.height-85 {
height: 85vh;
}
.height-100 {
height: 100vh;
}
.featured-full-width-img {
position: relative;
overflow: hidden;
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
background-size: cover;
background-position: center;
}
.featured-full-width-img__img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}
.page-template-page-full-width-image .featured-full-width-img {
padding-top: 72px;
margin-bottom: 0;
}
.page-template-page-full-width-image h1.entry-title {
display: inline-block;
padding: 0.45rem 1.1rem;
border-radius: 999px;
background-color: var(--ka-color-primary);
color: var(--ka-color-text);
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.85);
}
@media (max-width: 767.98px) {
.page-template-page-full-width-image .featured-full-width-img {
position: relative;
overflow: hidden;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
height: 200px !important;
padding-top: 0;
margin-bottom: 0;
}
.page-template-page-full-width-image .featured-full-width-img::before {
content: "";
position: absolute;
inset: 0;
background-image: inherit;
background-size: cover;
background-position: center;
filter: none;
transform: none;
opacity: 0;
z-index: 0;
}
.page-template-page-full-width-image .featured-full-width-img > * {
position: relative;
z-index: 1;
}
}
@media (max-width: 767.98px) {
h1,
.h1 {
font-size: clamp(1.3rem, 5vw, 1.6rem);
line-height: 1.15;
}
}
@media (min-width: 992px) {
.page-template-page-full-width-image .featured-full-width-img {
height: auto;
padding-top: 32vw;
margin-bottom: 0;
}
}
.container.pb-5 {
padding-bottom: 0;
}
@media (min-width: 992px) {
body.page-template-page-full-width-image #masthead {
position: static !important;
}
.page-template-page-full-width-image .featured-full-width-img {
padding-top: 22vw;
background-position: top center;
}
}
.reviews-section {
background-color: var(--ka-color-primary);
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
}
.reviews-section > .container {
max-width: 1320px;
}
.hero-services-grid {
background-color: var(--ka-color-surface);
border-bottom: 1px solid var(--ka-color-border-subtle);
padding-top: 0.5rem;
}
.hero-service-item {
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--ka-color-text);
text-decoration: none;
}
.hero-service-icon {
width: 3rem;
height: 3rem;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 0.4rem;
background-color: var(--ka-color-primary-soft);
color: var(--ka-color-on-primary-strong);
font-size: 1.4rem;
}
.hero-service-icon img {
width: 1.6rem;
height: 1.6rem;
display: block;
}
.hero-service-item p {
font-size: 0.95rem;
font-weight: 600;
}
@media (min-width: 992px) {
.hero-services-grid {
padding-top: 0.9rem;
padding-bottom: 0.9rem;
}
.hero-service-icon {
width: 3.75rem;
height: 3.75rem;
margin-bottom: 0.55rem;
}
.hero-service-icon img {
width: 2.05rem;
height: 2.05rem;
}
.hero-service-item p {
font-size: 1.05rem;
}
}
.services-grid-section {
background-color: var(--ka-color-surface);
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
}
.services-grid-section > .container {
max-width: 1320px;
}
.service-grid-item {
background-color: var(--ka-color-bg);
border-radius: 0.75rem;
padding: 0.9rem 1.5rem 1.6rem;
text-decoration: none;
border: 1px solid var(--ka-color-border-subtle);
color: var(--ka-color-text);
transition: border-color 0.15s ease-out, box-shadow 0.15s ease-out, transform 0.15s ease-out;
text-align: center;
}
.service-grid-item h3 {
color: var(--ka-color-accent);
font-family: var(--ka-font-heading);
font-weight: 600;
}
.service-grid-item p {
font-family: var(--ka-font-sans);
color: var(--ka-color-text);
}
.service-grid-icon {
width: 2.5rem;
height: 2.5rem;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 0.5rem;
margin-left: auto;
margin-right: auto;
background-color: var(--ka-color-primary-soft);
color: var(--ka-color-on-primary-strong);
}
.service-grid-item:hover,
.service-grid-item:focus {
border-color: var(--ka-color-primary-soft);
box-shadow: 0 0 24px rgba(0, 0, 0, 0.45);
transform: translateY(-2px);
color: var(--ka-color-text);
}
.trust-section {
background-color: var(--ka-color-surface);
}
.faq-section {
background-color: var(--ka-color-bg);
border-top: 1px solid var(--ka-color-border-subtle);
}
.faq-section h3 {
font-family: var(--ka-font-heading);
color: var(--ka-color-accent);
margin-bottom: 0.35rem;
position: relative;
padding-left: 1.75rem;
}
.faq-section p {
margin-bottom: 0;
color: var(--ka-color-text);
}
.faq-section h3::before {
content: "\f05a";
font-family: "Font Awesome 5 Free";
font-weight: 900;
position: absolute;
left: 0;
top: 0.05em;
width: 1.25rem;
height: 1.25rem;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--ka-color-on-primary-strong);
background-color: var(--ka-color-primary-soft);
}
.faq-section .col-md-6 {
background-color: var(--ka-color-surface);
border-radius: 0.75rem;
border: 1px solid var(--ka-color-border-subtle);
padding: 1.1rem 1.35rem;
margin-bottom: 0;
transition: background-color 0.15s ease-out, border-color 0.15s ease-out, transform 0.15s ease-out;
}
.faq-section .col-md-6:hover,
.faq-section .col-md-6:focus-within {
background-color: var(--ka-color-bg);
border-color: var(--ka-color-primary-soft);
transform: translateY(-1px);
}