/*
Theme Name: Fortress Flooring
Theme URI: https://jsmcorp.com/
Author: Jump Start Marketing, Inc.
Author URI: https://jsmcorp.com
Description: This theme was developed for Armor Coat Concrete Solutions and provides custom functionality and design for their needs. 
Version: 0.1

*/

.jsm-btn {background-color: #0000fe !important; color: #fff !important;}
iframe {border: solid 2px #0000fe !important;}
 
div.container p {font-size: 1.2rem !important;}

.content-box h1 {text-align: center; text-transform: uppercase;font-weight: 700 !important;font-size: 2.6rem;color: #0000fe; margin-top: 40px; margin-bottom: 50px;}
.content-box h2 {text-align: center;}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0000fe !important;
    --bs-btn-border-color: #0000fe !important;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0000fe !important;
    --bs-btn-hover-border-color: #fff !important;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0000fe !important;
    --bs-btn-active-border-color: #0000fe !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0000fe !important;
    --bs-btn-disabled-border-color: #0000fe !important;
}
.btn-danger {background-color: #0000fe !important;border: none !important;}
.content-box figure {
    float: right;
    margin-left: 50px;
    border: solid 1px #ccc;
}


#jsm-header-15 {background-color:#0000fe; color:#fff;}
#jsm-header-15 a {text-decoration:none !important; color:#fff !important;}
#jsm-header-15 .row .col-last {text-align: right;}

@media only screen and (max-width: 992px) {
    #jsm-header-15 .col {width:100%;margin-left:auto;margin-right:auto;text-align:center;}

	#jsm-header-10 {position: sticky;top: 80px;}
	li.nav-item {width: 100% !important;text-align: center;}

    figure img {width: 100% !important;}


}
	
	
/* Make both header sections sticky */
#jsm-header-15 {
  position: sticky;
  top: 0;
  z-index: 1030; /* higher than Bootstrap navbar default */
}
#jsm-header-10 {
  position: sticky;
  top: 40px;
  z-index: 1030; /* higher than Bootstrap navbar default */
}

/* Optional: Add shadow for better visual */
#jsm-header-15 {
  z-index: 1031;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
#jsm-header-10 {
  z-index: 1030;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}


#jsm-header-10 .nav-link {font-size: 15px; margin: 0 15px;}
#jsm-header-10 a.nav-link:hover {background-color: #0000fe;color: #fff;}
#jsm-header-10 .jsm-button {font-size: 1.3rem; background-color: #0000fe;color:#fff;}
#jsm-header-10 {border-bottom: solid 1px r#0000fe;}


.dropdown-item:active {background-color: #0000fe;}

 

#jsm-hero-1 .hero-left{
  position: relative;
  background: url('https://www.fortress-flooring.com/wp-content/uploads/2025/09/asphalt-seal-coating-and-line-striping_w1920.webp')
              no-repeat center center / cover;
  min-height: 520px;
  display: flex;
}
#jsm-hero-1 .hero-leftb{
  position: relative;
  background: url('https://www.fortress-flooring.com/wp-content/uploads/2025/09/rubaroc-pool-deck-scaled.webp')
              no-repeat center center / cover;
  min-height: 520px;
  display: flex;
}




#jsm-hero-1 .hero-form{
  background: #0b3a73; /* deep blue panel */
  min-height: 520px;
  color: #fff;
}

/* Keep text nicely readable and not overly wide */
#jsm-hero-1 .content-wrapper{ 
  position: relative; 
  z-index: 2; 
  max-width: 720px;
  width: 100%;
}

/* === Readability Helpers (Left side) === */
#jsm-hero-1 .overlay-multiply{
  position: absolute; inset: 0; z-index: 0;
  background: #0d0eae8c;
  mix-blend-mode: multiply;
}
#jsm-hero-1 .scrim{
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    #0d0eae8a 0%,
    rgba(0,0,0,.65) 35%,
    rgba(0,0,0,.3) 60%,
    rgba(0,0,0,0) 85%
  );
}
#jsm-hero-1 .content-plate{
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(2px);
  border-radius: .75rem;
  padding: 1.25rem 1.5rem;
}

/* Subtle text shadow */
#jsm-hero-1 .hero-left h1,
#jsm-hero-1 .hero-left p{
  text-shadow: 0 2px 6px rgba(0,0,0,.35);
}

/* === Form Styles === */
#jsm-hero-1 .hero-form .form-control,
#jsm-hero-1 .hero-form .form-select{
  border-radius: .6rem;
  border: none;
  padding: .65rem .85rem;
}
#jsm-hero-1 .hero-form .input-group-text{
  border: none;
}
#jsm-hero-1 .letter-1{ letter-spacing: .02em; }

#jsm-hero-1 button {font-size: 1.3rem;background-color: #FF7F7F !important; color: #fff !important;}

/* === Responsive Tweaks === */
@media (max-width: 991.98px){
  #jsm-hero-1 .hero-left,
  #jsm-hero-1 .hero-form{ min-height: 0; }

  #jsm-hero-1 .scrim{
    background: linear-gradient(180deg,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.55) 40%,
      rgba(0,0,0,.15) 80%);
  }
  
}




    /* ===== Scoped styles just for this section ===== */
    #jsm-sealcoat-1 { background:#f7f9fb; }
    #jsm-sealcoat-1 .kicker{ color:#0b3a73; font-weight:700; text-transform:uppercase; font-size:.85rem; letter-spacing:.08em; }
    #jsm-sealcoat-1 .section-title{ letter-spacing:.3px; }
    #jsm-sealcoat-1 .lead{ font-size:1.15rem; color:#3b4654; }
    #jsm-sealcoat-1 .img-figure{ border-radius:14px; overflow:hidden; box-shadow:0 6px 24px rgba(10,31,68,.12); }
    #jsm-sealcoat-1 .img-figure img{ width:100%; height:100%; object-fit:cover; display:block; }

    /* Checklists */
    #jsm-sealcoat-1 .checklist{ list-style:none; padding-left:0; margin:0; }
    #jsm-sealcoat-1 .checklist li{ display:flex; align-items:flex-start; gap:.6rem; padding:.35rem 0; }
    #jsm-sealcoat-1 .checklist svg{ flex:0 0 20px; margin-top:.15rem; }

    /* Numbered steps */
    #jsm-sealcoat-1 .step-list{ counter-reset: step; list-style:none; padding-left:0; }
    #jsm-sealcoat-1 .step-list li{ position:relative; padding-left:2.75rem; margin:.75rem 0; }
    #jsm-sealcoat-1 .step-list li::before{
      counter-increment: step; content: counter(step);
      position:absolute; left:0; top:.15rem; width:2rem; height:2rem; border-radius:50%;
      display:grid; place-items:center; font-weight:700; background:#0b3a73; color:#fff;
      box-shadow:0 4px 12px rgba(11,58,115,.28);
    }

    /* Cards */
    #jsm-sealcoat-1 .card{ border:0; border-radius:16px; box-shadow:0 6px 24px rgba(10,31,68,.08); height:100%; overflow:hidden; }
    #jsm-sealcoat-1 .card .ratio{ width:100%; }
    #jsm-sealcoat-1 .badge-soft{ background:#eaf3ff; color:#0b3a73; border-radius:999px; padding:.35rem .7rem; font-weight:600; font-size:.85rem; }

    /* Process (bulletproof) */
    #jsm-sealcoat-1 .process-card{
      display:flex; flex-direction:column; background:#fff; border:1px solid #e6e8eb;
      border-radius:14px; overflow:hidden;
    }
    @media (min-width:992px){
      #jsm-sealcoat-1 .process-card{ flex-direction:row; }
    }
    #jsm-sealcoat-1 .process-media{
      position:relative; flex:1 1 48%;
      max-height:420px; min-height:280px; background:#000;
    }
    #jsm-sealcoat-1 .process-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
    #jsm-sealcoat-1 .process-body{
      flex:1 1 52%; padding:1.25rem 1.25rem 1.5rem;
      display:flex; align-items:center;
    }
    #jsm-sealcoat-1 .process-title{ margin:0 0 .75rem; }
    #jsm-sealcoat-1 .process-steps{ margin:0; padding:0; list-style:none; }
    #jsm-sealcoat-1 .process-steps li{ display:flex; gap:.65rem; align-items:flex-start; margin:.5rem 0; }
    #jsm-sealcoat-1 .step-dot{
      flex:0 0 28px; height:28px; border-radius:50%; display:grid; place-items:center;
      background:#0b3a73; color:#fff; font-weight:700; font-size:.9rem;
    }

    /* Simple service cards (equal-height) */
    #jsm-sealcoat-1 .svc-card{height:100%;border:1px solid #e6e8eb;border-radius:14px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
    #jsm-sealcoat-1 .svc-media{width:100%;aspect-ratio:16/9;overflow:hidden}
    #jsm-sealcoat-1 .svc-media img{width:100%;height:100%;object-fit:cover;display:block}
    #jsm-sealcoat-1 .svc-body{padding:1rem 1.125rem 1.25rem}
    #jsm-sealcoat-1 .thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}
    #jsm-sealcoat-1 .thumb{border-radius:10px;overflow:hidden;border:1px solid #e6e8eb}
    #jsm-sealcoat-1 .thumb img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}

    /* CTA */
    #jsm-sealcoat-1 .cta{ background:#0f119d; color:#fff; border-radius:16px; }
    #jsm-sealcoat-1 .cta .btn{ border-radius:999px; padding:.7rem 1.25rem; }

    #jsm-sealcoat-1 h1 {color: #0000fe;text-align: center; text-transform: uppercase;}







    





#jsm-section-33 {border-bottom: solid 6px #000;}
#jsm-section-33 .slider1 { 
background-image:url('https://www.fortress-flooring.com/wp-content/uploads/2025/09/garage-floor-scaled.webp'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:500px;
}
#jsm-section-33 .slider2 { 
background-image:url('https://armorcoatconcretesolutions.com/wp-content/uploads/2025/08/bg-concrete-floor-motorcycle.webp'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:500px;
}
#jsm-section-33 .slider3 { 
background-image:url('https://armorcoatconcretesolutions.com/wp-content/uploads/2025/08/cms_3x2_epoxy-vinyl-flake_2x.1d9aff1e7b5f919fe0fc38861dfe659b.jpg'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:500px;
} 
#jsm-section-33 .slider4 { 
background-image:url('https://armorcoatconcretesolutions.com/wp-content/uploads/2025/08/slider-epoxy.webp'); 
background-position: center center;
background-repeat: no-repeat;
background-size: cover;   
height:500px;
} 
#jsm-section-33 .carousel-caption {top: 20%;}
#jsm-section-33 h1 {font-size: 3.5rem;font-weight: 700;text-shadow: 1px 1px #000;}
#jsm-section-33 .carousel-caption p {font-size: 1.4rem; text-shadow: 1px 1px #000;}    
#jsm-section-33 .carousel-caption p.bgtext {background-color: #00000030;padding:5px;}


.cta-section {
  background: url('https://armorcoatconcretesolutions.com/wp-content/uploads/2025/08/bg-texture2.webp') no-repeat center center;
  background-size: cover;
  background-color: #000;
  color: #fff !important;
}

.feature-box {
  background-color: #000; /* Change this color */
  padding: 2rem;
  border-radius: 0.5rem;
  text-align: center;
  background-image: url('https://armorcoatconcretesolutions.com/wp-content/uploads/2025/08/footerbg.webp');
  background-size: cover;
  background-position: center;
  color: #000; /* Adjust for text contrast */
}






.flip-box {
  perspective: 1000px;
  width: 100%;
  height: 360px;
  margin-bottom: 30px;
  position: relative;
}

.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}

.flip-box-front,
.flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  backface-visibility: hidden;
  top: 0;
  left: 0;
}

/* Front side */
.flip-box-front {
  background-size: cover;
  background-position: center;
  color: #fff;
  z-index: 2;
  position: relative;
}

.flip-box-front::before {
  content: "";
  position: absolute;
  inset: 0;
  /*background: rgba(0, 0, 0, 0.5);*/
  z-index: 1;
}

.flip-box-front h4,
.flip-box-front p {
  position: relative;
  z-index: 2;
  text-align: center;
}

/* Back side */
.flip-box-back {
  /*background-color: #333;*/
  color: #fff;
  transform: rotateY(180deg);
  z-index: 1;
  text-align: center;
}
div.container p {
  font-size: 1rem;
}

.flip-box-back .btn {
  margin-top: auto;
}


.jsm-cta {
  background-color: #2b2b2b; /* dark gray like the original */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url('https://fortressfloors.com/wp-content/uploads/2023/01/garage-floor-coatings.jpg'); /* optional image */
}
.jsm-cta h2,
.jsm-cta p {
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5); /* make white text readable on dark background */
}



  .core-values-section {
    background: url('https://fortressfloors.com/wp-content/uploads/2021/01/concrete-bg.jpg') no-repeat center center;
    background-size: cover;
    padding: 60px 0;
    color: #000;
    text-align: center;
  }

  .core-values-section h2 {
    font-size: 2rem;
    font-weight: 600;
  }

  .core-values-section .section-divider {
    width: 100%;
    height: 1px;
    border-top: 1px dashed #aaa;
    margin: 20px 0 40px;
  }

  .core-values-section .value-icon {
    font-size: 40px;
    color: #333;
    margin-bottom: 10px;
  }

  .core-values-section .value-title {
    font-weight: 500;
    font-size: 1.1rem;
  }

  .core-values-section .btn-primary {
    background-color: #0000fe;
    border-color: #fff;
    padding: 10px 25px;
    margin-top: 30px;
  }


#jsm-section-51 {background-color: #000; color: #fff;}	


#jsm-section-26{
    background-color: #000;
    color:#fff;
    background-image:url('https://armorcoatconcretesolutions.com/wp-content/uploads/2025/08/bg-texture3-1.webp');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;  
    transition: background 0.3s, border-radius 0.3s, opacity 0.5s;
}	
#jsm-section-26 .accordion {width: 70%; background-color: #212529d1; color: #fff;}
#jsm-section-26 .panel {width: 70%;border: solid 1px #ccc;}
#jsm-section-26 .accordion {
  cursor: pointer;
  padding: 18px;
  width: 70%;
  margin-left: auto !important;
  margin-right: auto !important; 
  border: none; 
  text-align: left;
  outline: none;
  font-size: 1.1rem;
  transition: 0.4s; 
}
#jsm-section-26 .accordion:after {
  /*content: '\002B';*/
  color: #000;
  font-weight: bold;
  float: right;
  /*margin-left: 5px;*/
}
#jsm-section-26 .panel {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  background-color: #ffffffba;
  color:#000;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
#jsm-section-26 .panel p {margin: 30px 40px;}
#jsm-section-26 .panel ul {margin: 10px 40px 40px 40px;}
#jsm-section-26 .panel ul li {margin: 0 0 30px 10px;}
#jsm-section-26 div.container h2 {text-align: center; color: #fff;} 




.carousel-control-prev.outside-arrow {
  left: -140px;
  top: 50%;
  transform: translateY(-50%);
}
.carousel-control-next.outside-arrow {
  right: -140px;
  top: 50%;
  transform: translateY(-50%);
}
.text-primary {
    --bs-text-opacity: 1;
    color: #0000fe !important;
}


/* Keep Bootstrap defaults for First Section only, even if other carousels use flex */
#jsm-section-51 .jsm-image-carousel .carousel-item { 
  display: none; 
  position: relative; 
  transition: transform .6s ease-in-out; 
}

/* During slide animations Bootstrap uses next/prev classes—show them too */
#jsm-section-51 .jsm-image-carousel .carousel-item.active,
#jsm-section-51 .jsm-image-carousel .carousel-item-next,
#jsm-section-51 .jsm-image-carousel .carousel-item-prev {
  display: block !important; /* beat any global 'display:flex' overrides */
}

/* Just in case a global rule set flex on items, neutralize it here */
#jsm-section-51 .jsm-image-carousel .carousel-item {
  align-items: unset !important;
  justify-content: unset !important;
}






@media only screen and (max-width: 992px) {
    #jsm-section-33 .carousel-caption {top: 5% !important;} 
    #jsm-section-33 .carousel-caption h1 {font-size: 2.3rem;text-align: center;} 
    #jsm-section-33 .carousel-caption p {font-size: 1.4rem; text-align: center;} 

	.col-6 {width: 100%;text-align: center;}
	footer {text-align: center;}
 
	.wp-block-heading, a.dropdown-item {text-align: center;}
	img.img-fluid.rounded.shadow, .col-5, .col-7 {width: 100% !important;}
	a.navbar-brand img {height: auto !important;width: 100% !important;}
	button.navbar-toggler {margin-left: auto;margin-right: auto;}
	iframe {width: 100%; margin-left: auto; margin-right: auto;}
    .row.py-0.mx-4 {margin-left: 0 !important;}
    figure.alignright.is-resized {margin: 0;}
	h1.display-5.fw-bold.mb-3, h2, p {text-align: center !important;}

	a.btn.btn-primary.btn-lg {width: 100%;}

#jsm-section-26 .accordion, #jsm-section-26 .panel {width: 100%;}

}


@media (max-width: 991px) {
  .outside-arrow {
    display: none;
  }
}

.flip-box {
  perspective: 1000px;
  width: 100%;
  animation: zoomIn 0.6s ease;
}

.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}

.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  overflow: hidden;
  border-radius: 10px;
  background-color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flip-box img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.flip-box-back {
  transform: rotateY(180deg);
  background-color: #333;
}
div.flip-box-back p {
    font-size: 1rem !important;
}
 

/* Optional: animation */
@keyframes zoomIn {
  0% {
    transform: scale(0.85);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}



#jsm-footer-5 {background-color: #000 !important; color: #fff !important;}
#jsm-footer-5 a{color: #fff !important; text-decoration: none !important;}

