/*
 * GammaSH — hand-authored theme, mobile-first.
 * Layered on top of Bootstrap 5 (CDN). Ports the visual identity of the
 * original "Start Bootstrap Creative" theme without its Bootstrap 3 LESS.
 */

:root {
    --gsh-primary: #f05f40;
    --gsh-primary-dark: #d94b2d;
    --gsh-dark: #222222;
}

html,
body {
    height: 100%;
    width: 100%;
}

body {
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Merriweather', Georgia, serif;
}

hr {
    border-top: 3px solid var(--gsh-primary);
    max-width: 50px;
    opacity: 1;
}

hr.light {
    border-color: #fff;
}

a {
    color: var(--gsh-primary);
    transition: color 0.15s ease-in-out;
}

a:hover,
a:focus {
    color: var(--gsh-primary-dark);
}

p {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.25rem;
}

section {
    padding: 60px 0;
}

@media (min-width: 768px) {
    section {
        padding: 100px 0;
    }
}

aside {
    padding: 40px 0;
}

@media (min-width: 768px) {
    aside {
        padding: 50px 0;
    }
}

.no-padding {
    padding: 0;
}

.bg-primary {
    background-color: var(--gsh-primary) !important;
}

.bg-dark {
    background-color: var(--gsh-dark) !important;
    color: #fff;
}

.text-primary {
    color: var(--gsh-primary) !important;
}

.text-faded {
    color: rgba(255, 255, 255, 0.7);
}

.icon-lg {
    font-size: 3.5rem;
}

/* Navigation */

#mainNav {
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    transition: background-color 0.15s ease-in-out;
}

#mainNav .navbar-brand {
    color: var(--gsh-primary);
    font-weight: 700;
    text-transform: uppercase;
}

#mainNav .navbar-brand:hover,
#mainNav .navbar-brand:focus {
    color: var(--gsh-primary-dark);
}

#mainNav .nav-link {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--gsh-dark);
}

#mainNav .nav-link:hover,
#mainNav .nav-link.active {
    color: var(--gsh-primary);
}

/* Homepage / section header hero */

header {
    position: relative;
    width: 100%;
    background: var(--gsh-dark) center / cover no-repeat;
    background-image: url('../img/header.jpg');
    text-align: center;
    color: #fff;
}

header .header-content {
    padding: 70px 15px;
    width: 100%;
}

header .header-content-inner h1 {
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 0;
    font-size: 1.75rem;
}

header .header-content-inner hr {
    margin: 30px auto;
}

header .header-content-inner p {
    font-weight: 300;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    header {
        min-height: 100vh;
        display: flex;
        align-items: center;
    }

    header .header-content {
        padding: 0 50px;
    }

    header .header-content-inner {
        max-width: 1000px;
        margin: 0 auto;
    }

    header .header-content-inner h1 {
        font-size: 3rem;
    }

    header .header-content-inner p {
        font-size: 1.125rem;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Section headings */

.section-heading {
    margin-top: 0;
}

/* Area/product listing */

.product-row {
    padding-top: 1.5rem;
}

.product-heading {
    border-bottom: 1px solid #e7e7e7;
    padding-bottom: 0.75rem;
    margin: 1.5rem 0 1.5rem;
    font-size: 1.5rem;
}

.product-heading small {
    display: block;
    font-size: 65%;
    color: #777;
    margin-top: 0.25rem;
}

.btn-facebook {
    background-color: #0d8af0;
    border-color: #0d8af0;
    color: #fff;
}

.btn-facebook:hover {
    background-color: #0a6fc2;
    border-color: #0a6fc2;
    color: #fff;
}

/* Service boxes (download page, homepage services) */

.service-box {
    max-width: 400px;
    margin: 30px auto 0;
}

@media (min-width: 992px) {
    .service-box {
        margin: 20px auto 0;
    }
}

.service-box p {
    margin-bottom: 0;
}

/* Portfolio grid */

.portfolio-box {
    position: relative;
    display: block;
    max-width: 650px;
    margin: 0 auto;
}

.portfolio-box .portfolio-box-caption {
    color: #fff;
    opacity: 0;
    display: block;
    background: rgba(240, 95, 64, 0.9);
    position: absolute;
    inset: 0;
    text-align: center;
    transition: opacity 0.15s ease-in-out;
}

.portfolio-box .portfolio-box-caption-content {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.portfolio-box .project-category,
.portfolio-box .project-name {
    padding: 0 15px;
}

.portfolio-box .project-category {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.875rem;
}

.portfolio-box .project-name {
    font-size: 1.125rem;
}

.portfolio-box:hover .portfolio-box-caption {
    opacity: 1;
}

.portfolio-box:focus {
    outline: none;
}

@media (min-width: 768px) {
    .portfolio-box .project-category {
        font-size: 1rem;
    }

    .portfolio-box .project-name {
        font-size: 1.375rem;
    }
}

/* Call to action */

.call-to-action h2 {
    margin: 0 auto 20px;
}

/* Buttons */

.btn {
    border-radius: 300px;
    font-weight: 700;
    text-transform: uppercase;
}

.btn-xl {
    padding: 15px 30px;
}

.no-resize {
    resize: none;
}

.btn-primary {
    --bs-btn-bg: var(--gsh-primary);
    --bs-btn-border-color: var(--gsh-primary);
    --bs-btn-hover-bg: var(--gsh-primary-dark);
    --bs-btn-hover-border-color: var(--gsh-primary-dark);
    --bs-btn-active-bg: var(--gsh-primary-dark);
    --bs-btn-active-border-color: var(--gsh-primary-dark);
    --bs-btn-focus-shadow-rgb: 240, 95, 64;
}

.btn-outline-light {
    --bs-btn-color: #fff;
    --bs-btn-border-color: #fff;
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
    --bs-btn-hover-color: var(--gsh-dark);
}

/* Selection color */

::selection {
    color: #fff;
    background: var(--gsh-dark);
}
