/* Fireside Concepts template (original CSS reproducing the previous site's look) */
:root { --ink:#232323; --link:#785447; --bar:#e8e8e8; --dark:#232323; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.fc { margin:0; font-family:"Nunito", system-ui, sans-serif; font-weight:400; font-size:1rem; line-height:1.4; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
body.fc a { color:var(--link); text-decoration:none; transition:color .2s; }
body.fc a:hover { color:var(--ink); }
body.fc h1 { font-size:2rem; } body.fc h2 { font-size:1.625rem; } body.fc h3 { font-size:1.5rem; } body.fc h4 { font-size:1.125rem; } body.fc h5, body.fc h6 { font-size:1rem; }
body.fc h1, body.fc h2, body.fc h3, body.fc h4, body.fc h5, body.fc h6 { font-family:"Nunito", sans-serif; font-weight:700; color:#000; line-height:1.285; margin:1.9rem 0 1rem; padding:0; }
body.fc strong { color:#000; }
body.fc img { max-width:100%; height:auto; }
body.fc p:last-child { margin-bottom:0; }

/* ---- header / menu ---- */
#fc-nav { background:#fff; position:relative; z-index:50; }
.fc-nav-grid { display:grid; grid-template-columns:33.333% 33.333% 33.333%; align-items:start; }
.fc-nav-menu { padding:8px 15px 8px 25px; }
.fc-nav-menu ul.mod-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0 29px; }
.fc-nav-menu ul.mod-menu > li { position:relative; }
.fc-nav-menu ul.mod-menu > li > a, .fc-nav-menu ul.mod-menu > li > span { display:block; color:var(--ink); font-size:16px; line-height:1.4; padding:3px 0 4px; }
.fc-nav-menu ul.mod-menu > li.active > a, .fc-nav-menu ul.mod-menu > li > a:hover { color:var(--link); }
.fc-nav-menu ul.mod-menu > li.current > a { color:var(--link); }
.fc-logo { padding:0 0 0 32px; }
.fc-logo img { display:block; width:312px; max-width:100%; }
.fc-burger { display:none; }
/* mega dropdown under Categories */
.fc-nav-menu li.deeper > ul.mod-menu__sub { display:none; list-style:none; margin:0; padding:18px 20px; position:fixed; left:0; right:0; background:#fff; box-shadow:0 8px 18px rgba(0,0,0,.12); column-count:5; column-gap:24px; z-index:60; }
.fc-nav-menu li.deeper:hover > ul.mod-menu__sub, .fc-nav-menu li.deeper:focus-within > ul.mod-menu__sub { display:block; }
.fc-nav-menu ul.mod-menu__sub li { break-inside:avoid; padding:3px 0; }
.fc-nav-menu ul.mod-menu__sub a { color:var(--ink); font-size:15px; }
.fc-nav-menu ul.mod-menu__sub a:hover { color:var(--link); }
.fc-nav-menu ul.mod-menu__sub > li > a { font-weight:700; }
.fc-nav-menu ul.mod-menu__sub ul { list-style:none; margin:0 0 4px 12px; padding:0; }
.fc-nav-menu ul.mod-menu__sub ul a { font-weight:400; font-size:14px; }

/* ---- hero slideshow ---- */
#fc-hero .moduletable { margin:0; }
.fc-hero { position:relative; width:100%; overflow:hidden; background:#000; }
.fc-hero .fc-slide { display:none; position:relative; }
.fc-hero .fc-slide.is-active { display:block; }
.fc-hero .fc-slide > img { display:block; width:100%; height:auto; }
.fc-hero .fc-mask { position:absolute; inset:0; background:#000; pointer-events:none; }
.fc-hero .fc-slide-text { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:0 6%; }
.fc-hero .fc-slide-text h1, .fc-hero .fc-slide-text h2 { color:#fff; }
.fc-hero .fc-prev, .fc-hero .fc-next { position:absolute; top:50%; transform:translateY(-50%); background:#333; color:#fff; border:0; width:42px; height:54px; font-size:18px; cursor:pointer; opacity:0; transition:opacity .2s; }
.fc-hero:hover .fc-prev, .fc-hero:hover .fc-next { opacity:.9; }
.fc-hero .fc-prev { left:0; border-radius:0 4px 4px 0; } .fc-hero .fc-next { right:0; border-radius:4px 0 0 4px; }

/* ---- tile grids (home, category landing pages) ---- */
#fc-showcase .moduletable { margin:0; }
#fc-showcase .moduletable > h3 { text-align:center; font-size:1.25rem; margin:2rem 0 1.1rem; }
.fc-tiles { display:grid; gap:0 6px; }
.fc-tiles.fc-cols-2 { grid-template-columns:repeat(2,1fr); }
.fc-tiles.fc-cols-3 { grid-template-columns:repeat(3,1fr); }
.fc-tiles.fc-cols-4 { grid-template-columns:repeat(4,1fr); }
.fc-tile { position:relative; display:block; overflow:hidden; background:#000; aspect-ratio:16/9; }
.fc-tiles.fc-cols-2 .fc-tile { aspect-ratio:3/2; }
.fc-tile img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.fc-tile:hover img { transform:scale(1.04); }
.fc-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0) 45%); pointer-events:none; }
.fc-tile .fc-tile-title { position:absolute; left:0; right:0; bottom:20px; z-index:2; text-align:center; color:#fff; font-weight:700; font-size:1.25rem; text-transform:uppercase; text-shadow:0 1px 4px rgba(0,0,0,.6); padding:0 10px; }
.fc-cols-2 .fc-tile .fc-tile-title, .fc-cols-4 .fc-tile .fc-tile-title { text-transform:none; }
body.fc a.fc-tile, body.fc a.fc-tile:hover { color:#fff; }

/* ---- gallery ---- */
.fc-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:20px 15px; padding:30px 15px 20px; align-items:start; }
.fc-gallery img { width:100%; height:auto; border-radius:8px; display:block; }

/* ---- main area ---- */
#fc-main { padding:0 25px; }
.fc-main-row { display:block; }
.fc-main-row.has-aside { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); gap:40px; }
.fc-content { min-height:40px; padding-bottom:30px; }
.page-header h1, .page-header h2, .com-content-article h1.page-title, .com-content-category-blog > h1 { font-size:1.625rem; margin:1.9rem 0 1rem; }
.com-content-article .page-header h1, .com-content-article .page-header h2 { font-size:1.625rem; }
.com-content-article__body { margin-top:.5rem; }
.fc-content .com-content-article h1, .fc-content .com-content-article__body h1 { font-size:2rem; }
.fc-content table.responsive-table { width:100%; border-collapse:collapse; }
.fc-content table.responsive-table td { width:50%; vertical-align:middle; text-align:center; padding:0; }
.fc-content table.responsive-table td img { max-width:100%; }
.fc-aside .moduletable > h3 { display:none; }
.fc-aside h2 { font-size:1.625rem; margin-top:1.9rem; }

/* blog (Video Archive) */
.blog-items { display:grid; gap:20px 30px; }
.blog-items.columns-3, .blog-items.masonry-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.blog-items.columns-2, .blog-items.masonry-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.blog-item .item-content h2, .blog-item .item-content h3 { font-size:1.125rem; margin:1.1rem 0 .6rem; }
.blog-item .item-content h2 a, .blog-item .item-content h3 a { color:#000; }
.blog-item .item-content img { width:100%; height:auto; display:block; }
.readmore { margin:.6rem 0 0; } .readmore a.btn { font-size:.75rem; color:var(--ink); background:none; border:0; padding:4px 13px; box-shadow:none; } .readmore a.btn .icon-chevron-right { display:none; }
.com-content-category-blog .pagination { margin-top:1.5rem; }
.com-content-category-blog .counter { text-align:right; color:#6c757d; }

/* ---- forms (rebuilt contact forms) ---- */
form.fc-form { max-width:1230px; padding:6px 25px 40px; }
.fc-form .fc-field { margin-bottom:26px; }
.fc-form label, .fc-form .fc-legend { display:block; font-weight:700; margin-bottom:8px; font-size:1.0625rem; }
.fc-form .fc-req { margin-left:4px; font-weight:400; }
.fc-form input[type=text], .fc-form input[type=email], .fc-form textarea { width:100%; border:0; background:#f4f6f7; padding:16px 14px; font:inherit; border-radius:3px; }
.fc-form textarea { min-height:150px; resize:vertical; }
.fc-form .fc-check label, .fc-form label.fc-radio { font-weight:400; display:block; margin-bottom:6px; }
.fc-form .fc-submit { display:block; width:100%; border:0; background:#000; color:#fff; font:700 1.0625rem "Nunito",sans-serif; padding:18px; border-radius:30px; cursor:pointer; }
.fc-form .fc-submit:hover { background:#333; }
.fc-form .fc-hp { position:absolute; left:-9999px; height:0; overflow:hidden; }

/* ---- footer ---- */
#fc-bottom { background:var(--bar); padding:42px 10px 28px; margin-top:0; }
.fc-bottom-a .moduletable + .moduletable { margin-top:1.6rem; }
.fc-bottom-grid { display:grid; grid-template-columns:22% 22% 25% 31%; }
.fc-bottom-grid > div { padding:0 15px; }
#fc-bottom .moduletable > h3 { font-size:1rem !important; margin:0 0 1.2rem; }
.fc-support img { width:88px; height:auto; display:block; margin:0 0 20px; }
.fc-support p { margin:0 0 1rem; max-width:210px; }
ul.fc-address, ul.fc-links { list-style:none; margin:0; padding:0; }
ul.fc-address li { margin:0 0 0; padding:0; }
ul.fc-address i { color:var(--link); width:1.4em; text-align:left; margin-right:.2em; }
ul.fc-links li { margin:0 0 .6rem; }
ul.fc-links li i { color:var(--link); margin-right:.2rem; vertical-align:middle; }
ul.fc-hours li { margin:0 0 .9rem; }
ul.fc-certs li { margin-bottom:.9rem; }
ul.fc-certs a { display:inline-block; }
ul.fc-links:not(.fc-certs):not(.fc-social):not(.fc-hours) a { color:var(--ink); }
ul.fc-social { margin-top:.6rem; } ul.fc-social li { margin:0 0 .9rem; padding-left:35px; } ul.fc-social li i { display:none; }
.fc-bottom-c .moduletable + .moduletable { margin-top:1rem; }
.fc-bottom-d .moduletable { text-align:center; }
.fc-bottom-d .moduletable > h3 { text-align:left; }
#fc-copyright { background:var(--dark); color:#fff; }
#fc-copyright .fc-copy { padding:14px 25px; font-size:.9375rem; }
#fc-copyright a { color:#fff; } #fc-copyright a:hover { color:#ccc; }

/* ---- responsive ---- */
@media (max-width: 900px) {
  .blog-items.masonry-3 { grid-template-columns:repeat(2,1fr); }
  .fc-nav-grid { grid-template-columns:1fr; }
  .fc-logo { padding:0 25px 10px; order:-1; }
  .fc-burger { display:block; position:absolute; right:14px; top:10px; background:none; border:0; font-size:26px; color:var(--ink); }
  .fc-nav-menu { display:none; } .fc-nav-menu.is-open { display:block; }
  .fc-nav-menu ul.mod-menu { flex-direction:column; }
  .fc-nav-menu li.deeper > ul.mod-menu__sub { position:static; display:block; box-shadow:none; column-count:1; padding:0 0 0 12px; }
  .fc-tiles.fc-cols-3, .fc-tiles.fc-cols-4 { grid-template-columns:repeat(2,1fr); }
  .fc-hero .fc-slide-text h1 { font-size:34px !important; } .fc-hero .fc-slide-text h2 { font-size:20px !important; }
  .fc-main-row.has-aside { grid-template-columns:1fr; gap:0; }
  .blog-items.columns-3 { grid-template-columns:repeat(2,1fr); }
  .fc-gallery { grid-template-columns:repeat(2,1fr); }
  .fc-bottom-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .fc-tiles.fc-cols-2, .fc-tiles.fc-cols-3, .fc-tiles.fc-cols-4 { grid-template-columns:1fr; }
  .blog-items.columns-3, .fc-gallery { grid-template-columns:1fr; }
  .fc-hero .fc-slide-text { display:none; }
}
