/*
Theme Name: Nikola Contracting Theme
Theme URI: https://centralseeding.com
Version: 1.0.0
Description: A custom Beaver Builder Child Theme for Nikola Contracting, circa June 2026.
Author: Zykin Design
Author URI: https://zykindesign.com
template: bb-theme
*/
/* ---------------------------------------------------
/** Fonts
--------------------------------------------------- */
@font-face {
  font-family: 'NC Titillium';
  src: url("fonts/TitilliumWeb-Regular.woff2") format("woff2"), url("fonts/TitilliumWeb-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: auto; }
@font-face {
  font-family: 'NC Titillium';
  src: url("fonts/TitilliumWeb-Bold.woff2") format("woff2"), url("fonts/TitilliumWeb-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: auto; }
* {
  -webkit-font-smoothing: antialiased;
  font-family: 'NC Titillium', sans-serif; }

/* ---------------------------------------------------
/** Colors
--------------------------------------------------- */
/* ---------------------------------------------------
/** Responsive Breakpoints
--------------------------------------------------- */
/* ---------------------------------------------------
/** max-width Helper Function
--------------------------------------------------- */
.max-width-600 {
  max-width: 600px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-700 {
  max-width: 700px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-800 {
  max-width: 800px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-900 {
  max-width: 900px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-1000 {
  max-width: 1000px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-1100 {
  max-width: 1100px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-1200 {
  max-width: 1200px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-1300 {
  max-width: 1300px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-1400 {
  max-width: 1400px;
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important; }

.max-width-left {
  margin-left: 0 !important; }

.max-width-right {
  margin-right: 0 !important; }

.fl-col[class*="max-width-"] {
  max-width: unset; }
  .fl-col[class*="max-width-"] .fl-col-content {
    margin-left: auto;
    margin-right: auto; }

/* ---------------------------------------------------
/** Spacing Helper Functions
--------------------------------------------------- */
.mb-0 {
  margin-bottom: 0 !important; }

.mb-xs {
  margin-bottom: 0.5em !important; }

.mb-s {
  margin-bottom: 1em !important; }

.mb-m {
  margin-bottom: 1.125rem !important; }

.mb-l {
  margin-bottom: 1.5rem !important; }

.mb-xl {
  margin-bottom: 2rem !important; }

/* ---------------------------------------------------
/** Lists
--------------------------------------------------- */
.no-bullets {
  list-style: none;
  padding-left: 0; }
  .no-bullets li {
    font-size: clamp(1rem, 1.3125vw, 1.3125rem);
    line-height: 166.67%;
    margin-bottom: 1rem;
    padding: 0; }

ul li, ol li {
  margin-bottom: 0.75em; }

/* ---------------------------------------------------
/** Objects and Layout
--------------------------------------------------- */
.fixed {
  position: sticky !important;
  top: 60px; }

.fl-row-full-height img[class*="wp-image-"] {
  max-height: 100vh !important; }

.image-max-height-unset img[class*="wp-image-"] {
  max-height: unset !important; }

.fl-builder-shape-layer {
  z-index: 2; }

.z-index-fix {
  z-index: 99;
  position: relative; }

#gallery-1 .gallery-item {
  margin-bottom: 0.5em; }
  #gallery-1 .gallery-item img {
    border: none;
    padding-right: 1em; }

.img-multiply img {
  mix-blend-mode: multiply; }

/* ---------------------------------------------------
/** Buttons
--------------------------------------------------- */
.fl-builder-content a.fl-button,
.facetwp-load-more {
  padding: 1.25em 2em; }

button.fl-menu-mobile-close {
  line-height: 1;
  width: 2.75em;
  margin-bottom: 20px; }

.nav-button {
  background-color: #006EB8;
  border-radius: 3px;
  text-align: center;
  transition: all 0.2s ease;
  margin-left: 20px !important; }
  @media (max-width: 1024px) {
    .nav-button {
      margin-left: 0 !important;
      margin-top: 20px !important; } }
  .nav-button:hover, .nav-button:active, .nav-button:focus {
    background-color: #1897EC; }
    .nav-button:hover .menu-item-text, .nav-button:active .menu-item-text, .nav-button:focus .menu-item-text {
      color: white !important; }
  .nav-button a {
    padding: 20px 25px !important;
    color: white !important;
    font-weight: 700;
    text-align: center; }
  .nav-button.current-menu-item a {
    color: white !important; }

@media (max-width: 768px) {
  .fl-button-group-buttons .fl-button-group-button,
  .fl-button-group-layout-horizontal .fl-button-wrap {
    width: 100%; } }
/* ---------------------------------------------------
/** Typography
--------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  line-height: 105%;
  font-family: 'NC Titillium', sans-serif; }

h1,
.text-xxxl,
.text-xxxl p {
  font-size: clamp(4rem, 5vw, 6rem);
  text-transform: uppercase; }
  h1 .outline,
  .text-xxxl .outline,
  .text-xxxl p .outline {
    color: #1e1e1f !important;
    -webkit-text-stroke: 3px white;
    paint-order: stroke fill; }

.text-xxl,
.text-xxl p {
  font-size: clamp(3rem, 4vw, 4rem); }

h2,
.text-xl,
.text-xl .fl-button *,
.text-xl .fl-button i {
  font-size: clamp(2.5rem, 3vw, 3rem);
  font-weight: 700; }

h3,
.text-l,
.text-l .fl-button *,
.text-l .fl-button i,
.text-l p {
  font-size: clamp(1.75rem, 2vw, 2.5rem);
  font-weight: 700; }

h4 {
  font-weight: 700;
  text-transform: uppercase; }

h4,
.text-m,
p,
.listing-content ul,
.listing-content ol,
#post-content li {
  font-size: clamp(1.25rem, 1.5vw, 1.5rem); }

h5,
.text-s,
.text-s p {
  font-size: clamp(1.125rem, 1.25vw, 1.25rem); }

h6,
.text-xs,
.text-xs p {
  font-size: 1rem; }

.text-xxs {
  font-size: 0.875rem; }

.caps {
  text-transform: uppercase;
  letter-spacing: 0.05em; }

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.1em; }

.fw-bold {
  font-weight: 700; }

.fw-normal {
  font-weight: normal !important; }

a:hover {
  transition: all 0.2s ease;
  text-decoration: none; }

p {
  margin-bottom: 1em; }

.nc-arrow {
  position: relative;
  margin-left: 20px; }
  .nc-arrow::after {
    content: '';
    position: absolute;
    background-image: url("data:image/svg+xml,%3Csvg width%3D%2245%22 height%3D%2266%22 viewBox%3D%220 0 45 66%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M45 32.363L19.0048 66H0L9.23897 54.0844L26.8244 31.4061L11.3896 11.9156L1.95491 0H20.6862L45 32.363Z%22 fill%3D%22%23006EB8%22%2F%3E%3C%2Fsvg%3E");
    width: 50px;
    height: 0.7em;
    top: 0.45em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%; }
  @media (max-width: 1024px) {
    .nc-arrow {
      margin-left: 0; } }

/* ---------------------------------------------------
/** Post & Project Grids
--------------------------------------------------- */
.zd-post-tags {
  margin-bottom: 1em; }

.zd-project-grid,
.zd-blog-grid {
  background: transparent;
  border: unset; }

.zd-post-image,
.zd-blog-grid {
  margin-bottom: 2em; }
  .zd-post-image img,
  .zd-blog-grid img {
    border-radius: 20px; }

.zd-project-grid .zd-post-meta {
  padding: 0 1em; }

/* ---------------------------------------------------
/** Forms
--------------------------------------------------- */
.with_frm_style .vertical_radio .frm_checkbox label,
.with_frm_style .vertical_radio .frm_radio label {
  line-height: 1.8; }

.frm_error_style,
.frm_message {
  margin-bottom: 0.5rem;
  text-align: center;
  color: #111 !important; }

.with_frm_style .frm_error_style,
.with_frm_style .frm_message,
.frm_success_style {
  padding: 30px !important; }

.frm_button_submit {
  padding: 20px 30px;
  border: none;
  font-size: clamp(1rem, 1.3125vw, 1.3125rem);
  border: 0;
  font-weight: 700 !important;
  text-transform: uppercase;
  box-shadow: unset;
  border-radius: 3px;
  letter-spacing: 0.1em;
  background-color: #13354E; }
  .frm_button_submit:hover {
    border: none;
    color: white;
    background-color: #006EB8; }

.cf-turnstile {
  text-align: center; }

.with_frm_style .frm_inside_container > input,
.with_frm_style .frm_inside_container > select,
.with_frm_style .frm_inside_container > textarea {
  border: 2px solid white !important; }

.frm_style_formidable-style.with_frm_style.frm_inline_top .frm_submit::before,
.frm_style_formidable-style.with_frm_style .frm_submit.frm_inline_submit::before {
  display: none !important; }

/* ---------------------------------------------------
/** Responsive Styles
--------------------------------------------------- */
@media (min-width: 768px) {
  .columns-2 {
    columns: 2; } }
@media (min-width: 1024px) {
  .mobile {
    display: none !important; } }
@media (max-width: 768px) {
  .rotate90-mobile {
    transform: rotate(90deg); } }
@view-transition {
  navigation: auto; }

/*# sourceMappingURL=style.css.map */
