/*
clover green: #3cb043
neon green: #9bcc78
charcoal grey: #333333
smokey grey: #666666
*/

/* TEXT STYLES */

html, body {
    margin: 0;
    padding: 0;
    font-family: "Montserrat", sans-serif;
}

h1, h2, h3 {
    font-family: "Ubuntu", sans-serif;
    text-transform: capitalize;
    margin: 1rem 0rem;
}

h4, h5, h6 {
    font-family: "Open Sans", sans-serif;
    text-transform: capitalize;
    margin: 1rem 0rem;
}

h1 {
    font-size: 3.25rem;
    font-weight: 700;
}

h2 {
    font-size: 2.75rem;
    font-weight: 500;
}

h3 {
    font-size: 2.25rem;
    font-weight: 400;
}

h4 {
    font-size: 2rem;
    font-weight: 400;
}

h5 {
    font-size: 1.5rem;
    font-weight: 500;
}

h6 {
    font-size: 1.25rem;
    font-weight: 400;
    font-variant: small-caps;
    margin: 0;
}

p {
    font-family: "Open Sans", sans-serif;
    font-size: 1.25rem;
}

.title {
    font-size: 4.5rem;
    margin: 2rem 0rem;
    text-transform: none;
}

.subtitle {
    font-size: 4rem;
    margin: 1rem 0rem;
    text-transform: none;
}

.click-here {
    text-transform: uppercase;
    font-weight: 600 !important;
    font-size: .9rem;
    line-height: 1.5rem;
    border-bottom: 2px solid #9bcc78;
}

.button-md {
    border: 3px solid #3cb043;
    padding: 1rem;
    min-width: 180px;
    text-transform: uppercase;
    font-weight: 800 !important;
}

.button-sm {
    border: 2px solid #3cb043;
    padding: .5rem;
    min-width: 120px;
    font-size: .9rem;
    text-transform: uppercase;
    font-weight: 600 !important;
}

.highlight {
    font-style: oblique;
    border-left: 4px solid #9bcc78;
    padding: 1rem 0rem 1rem 2rem;
}

.desc-md {
    font-size: .95rem;
    line-height: 2rem;
    margin: 0rem !important;
}

.desc-sm {
    font-size: .90rem;
    line-height: 2rem;
    font-weight: 500;
    font-style: oblique;
    margin: 0rem !important;
}

.note {
    font-size: .75rem;
}

.center {
    text-align: center;
}

.fullsize {
    position: relative;
    width: 100%;
    height: 100%;
}

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

/* THEMES & COLOR SCHEMES */

.black {
    color: black;
}

.black-bg {
    background-color: black;
    color: whitesmoke;
}

.black-bg a {
    color: whitesmoke;
    font-weight: 400;
    text-decoration: none;
}

.black-bg a:hover {
    color: #9bcc78;
}

.charcoal-bg {
    background-color: #333333;
    color: white;
}

.charcoal-bg a {
    color: white;
    font-weight: 400;
    text-decoration: none;
}

.charcoal-bg a:hover {
    color: #3cb043;
}

.whitesmoke-bg {
    background-color: #eeeeee;
    color: black;
}

.clover-green-bg {
    background-color: #3cb043;
    color: black;
}

.clover-green {
    color: #3cb043;
}

.neon-green {
    color: #9bcc78;
}

.white-bg {
    background-color: white;
    color: black;
}

.whitesmoke {
    color: whitesmoke;
}

.whitesmoke path {
    fill: whitesmoke;
}

.clover-green path {
    fill: #3cb043;
}

.rust-red path {
    fill: #CD412B;
}

.watermark path {
    fill: #333333;
    opacity: .15;
}

.divider {
    height: 1px;
    margin: 1.5rem 0;
}

.gradient-whitesmoke {
    background: linear-gradient(to right, transparent, whitesmoke, transparent);
}

.gradient-clover-green {
    background: linear-gradient(to right, transparent, #3cb043, transparent);
}

.gradient-black {
    background: linear-gradient(to right, transparent, black, transparent);
}

.greyfill {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.5);
}

/* BASIC LAYOUT */

.hidden {
    display: none !important;
}

.main {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
}

.section {
    width: 100%;
    display: grid;
    justify-content: center;
}

.content-gutters {
    display: grid;
    min-width: 800px;
    width: 100%;
    max-width: 1280px;
}

.merge-two {
    grid-column: 1 / 3;
}

.auto-columns {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.auto-columns-left {
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
    column-gap: 30px;
}

.auto-columns-right {
    display: grid;
    grid-auto-flow: column;
    justify-content: end;
    column-gap: 30px;
}

.min-columns {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min-content;
}

.two-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 30px;
}

.three-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.feature-right {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 10px;
}

.feature-left {
    display: grid;
    grid-template-columns: 2fr 1fr;
}

.auto-rows {
    display: grid;
    grid-auto-flow: row;
}

.two-rows {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
}

.left {
    justify-self: start;
}

.middle {
    align-items: center;
    justify-items: center;
    justify-content: center;
}

.middle-top {
    align-items: start;
    justify-items: center;
}

.middle-bottom {
    align-items: end;
    justify-items: center;
}

.rounded-corners-lg {
    display: grid;
    border-radius: 45px;
    overflow: hidden;
}

.rounded-corners-md {
    display: grid;
    border-radius: 30px;
    overflow: hidden;
}

.rounded-corners-sm {
    display: grid;
    border-radius: 15px;
    overflow: hidden;
}

.rounded-corners-xsm {
    display: grid;
    border-radius: 6px;
    overflow: hidden;
}

.parallax {
    width: 100%;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.carousel {
    transition: transform 0.3s ease-in-out;
}

.overlay {
    position: relative;
}

.underlay {
    position: absolute;
    width: 100%;
    height: 50%;
}

.backdrop {
    display: grid;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
    z-index: 1000; /* Ensures it's above other content */
}

.bar-10 {
    height: 10vh;
}

.bar-50 {
    height: 50vh;
}

.bar-90 {
    height: 90vh;
}

/* SPACING */

.margin-top-md {
    margin-top: 3vh;
}

.margin-top-sm {
    margin-top: 1.5vh;
}

.gap-md {
    grid-gap: 5vh 2.5vw;
}

.gap-sm {
    grid-gap: 3vh 1.5vw;
}

.gap-xsm {
    grid-gap: 1.5vh .75vw;
}

.column-lg {
    max-width: 50vw;
}

.column-md {
    max-width: 25vw;
}

.column-sm {
    max-width: 20vw;
}

.padding-md {
    padding: 5vh 3.5vw;
}

.padding-sm {
    padding: 3.5vh 2vw;
}

.padding-xsm {
    padding: 2vh 1vw;
}

.vertical-padding-lg {
    padding: 12vh 0;
}

.vertical-padding-md {
    padding: 6.5vh 0;
}

.vertical-padding-md p {
    margin: 2rem 0rem;
}

.vertical-padding-sm {
    padding: 3.5vh 0;
}

.vertical-padding-xsm {
    padding: 1.5vh 0;
}

.horizontal-padding-xlg {
    padding: 0px 6.5vw;
}

.horizontal-padding-lg {
    padding: 0px 5vw;
}

.horizontal-padding-md {
    padding: 0px 4vw;
}

.horizontal-padding-sm {
    padding: 0px 3vw;
}

/* SIZING */

.logo {
    display: grid;
    align-items: center;
}

.logo-lg {
    width: 120px;
    height: 120px;
}

.logo-md {
    width: 80px;
    height: 80px;
}

.logo-sm {
    width: 40px;
    height: 40px;
}

.logo-xsm {
    width: 24px;
    height: 24px;
}

.icon-lg {
    font-size: 6rem;
    text-align: center;
}

.icon-md {
    font-size: 4rem;
    text-align: center;
}

.icon-sm {
    font-size: 2rem;
    text-align: center;
}

.fill {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: cover;
}

.fullsize {
    width: 100%;
    height: auto;
}

.stretch {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

/* NAVBAR FORMATTING */

.sticky {
    position: sticky;
    top: 0;
    z-index: 1;
}

.navbar {
    display: grid;
    grid-auto-flow: column;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}

.navbar-links {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(80px, auto);
    gap: 10px;
    padding: 10px;
    justify-items: center;
}

.navbar-links p {
    font-size: 1.15rem;
    margin: .75rem 1rem;
}

.social-links {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(40px, auto);
    gap: 10px;
    padding: 10px;
    justify-items: center;
}

/* PAGE CUSTOMIZATIONS */

.cs-bgimg {
    background-image: url("images/bosskill-background.png");
    min-height: 400px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}