/*
 Theme Name:   Stermer Brothers Theme - GeneratePress Child
 Theme URI:    https://www.stermerbrothers.com/
 Description:  Custom coded child theme provided by EZMarketing.
 Author:       Zach Heindel
 Author URI:   https://www.ezmarketing.com/
 Template:     generatepress
 Version:      0.1
*/
/*------- 

@Site Configuration 
@Header
@Footer
@Site Wide Modules
@Page Specific Modules
@Animation
@Media Queries

Colors:
#353333 - black
#46191A - dark red
#912020 - light red
#EDE9E7 - light grey
#FED42C - yellow
#FFFFFF - true white
#F3F3F3 - cloud white

Typography:
font-family: 'Oswald', sans-serif;
font-family: 'Dosis', sans-serif;
-------*/
/*------- 
@Site Configuration 
-------*/
html, body {
  font-family: 'Dosis', sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  scroll-behavior: smooth;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Oswald', sans-serif;
}
p, a {
  font-family: 'Dosis', sans-serif;
}
#content a {
  font-weight: 700;
}
.wp-block-cover.alignfull {
  padding-top: 85px;
  padding-bottom: 85px;
}
.alignfull .wp-block-cover__inner-container {
  max-width: 1240px;
  padding-left: 20px;
  padding-right: 20px;
}
.alignfull .wp-block-columns {
  margin-bottom: 0px;
}
a.wp-block-button__link {
  border-radius: 0px;
  transition: all .25s ease-out !important;
}
a.wp-block-button__link:hover {
  box-shadow: inset 0px 0px 1px #282626ad;
}
.btn-white a.wp-block-button__link:hover {
  background: white;
}
.wp-block-media-text .wp-block-media-text__content {
  padding-top: 85px;
  padding-bottom: 85px;
}
.wp-block-media-text p:last-child {
  margin-bottom: 0px;
}
.wp-block-media-text__content {
  max-width: 675px;
}
.wp-block-media-text__content-left-shift .wp-block-media-text__content {
  margin-left: 30%;
}
.hero-animation {
  overflow: hidden;
}
.hero-animation img {
  -webkit-animation: zoom-bg 25s ease-out infinite alternate both;
  animation: zoom-bg 25s ease-out infinite alternate both;
}
.zoom-bg {
  -webkit-animation: zoom-bg 25s ease-out infinite alternate both;
  animation: zoom-bg 25s ease-out infinite alternate both;
}
@-webkit-keyframes zoom-bg {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  100% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transform-origin: center;
    transform-origin: center;
  }
}
@keyframes zoom-bg {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  100% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transform-origin: center;
    transform-origin: center;
  }
}
/*------- 
@Header
-------*/
.top-bar {
  background: rgb(127, 21, 21);
  background: linear-gradient(180deg, rgba(127, 21, 21, 1) 0%, rgba(118, 12, 13, 1) 50%, rgba(107, 1, 3, 1) 100%);
}
.top-bar .inside-top-bar {
  padding-left: 0px;
  padding-right: 0px;
}
.top-bar #block-7 {
  margin-left: 0px;
  width: 100%;
}
#block-7 .wp-block-columns {
  margin-bottom: 0px;
}
#block-7 .wp-block-columns p {
  margin-bottom: 0px;
}
#block-7 .wp-block-columns p a {
  text-decoration: none;
}
.top-bar .wp-block-column:last-child {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.top-bar .wp-block-column:last-child .hour {
  margin-right: 30px;
}
.facebook {
  margin-left: 40px;
  color: #3578E5 !important;
  font-size: 130%;
}
.facebook:hover {
  color: #3B5998 !important;
}
#primary-menu a {
  font-weight: 700;
  padding-left: 15px;
  font-size: 16px;
}
#menu-primary-menu .nav-btn a {
  background: var(--contrast-3);
  color: var(--base-3);
  line-height: inherit;
  padding: 10px 20px;
  display: inline-block;
  border-radius: 0px;
  border: 1px solid #bd3b3b;
  transition: all .25s ease-out !important;
  text-decoration: none;
  cursor: pointer;
  text-align: center;
  word-break: break-word;
  box-sizing: border-box;
  font-size: 16px;
}
#menu-primary-menu .nav-btn a:hover {
  background-color: var(--base-2);
  color: var(--contrast-2);
  border: 1px solid #ffdf61;
  box-shadow: inset 0px 0px 1px #282626ad;
}
button.menu-toggle span.gp-icon.icon-menu-bars {
  border-radius: 360px !important;
  border: 1px solid #B4B4B4 !important;
  background: rgb(180, 180, 180) !important;
  background: linear-gradient(356deg, rgba(180, 180, 180, 1) 0%, rgba(255, 255, 255, 1) 100%) !important;
  box-shadow: inset 0px 0px 10px #9d9d9d !important;
  padding: 15px;
}
button.menu-toggle span.gp-icon.icon-menu-bars:hover {
  opacity: .75 !important;
}
/*------- 
@Footer
-------*/
.site-footer {
  position: relative;
}
footer.site-info {
  position: absolute;
  bottom: 15px;
  background-color: transparent;
  width: 100%;
}
#block-10 {
  padding-left: 0px;
}
#nav_menu-2 {
  padding-left: 0px;
}
#footer-widgets {
  background: url("images/footer-bg.png") center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 30px;
  padding-bottom: 30px;
}
#footer-widgets .inside-footer-widgets {
  margin-left: 0px;
  flex-direction: column;
}
#footer-widgets {
  position: relative !important;
}
#footer-widgets a {
  font-size: 16px;
  text-decoration: none;
}
#footer-widgets a:before {
  color: #6f1d1d;
}
.footer-address {
  display: flex;
  justify-content: space-between;
}
.footer-address p {
  margin-bottom: 0px;
}
#block-10 figure {
  margin-top: 0px;
}
#menu-footer-menu {
  display: flex;
  flex-direction: column;
  max-height: 230px;
  flex-wrap: wrap;
  max-width: 680px;
  margin-top: 30px;
  margin-bottom: 60px;
}
#menu-footer-menu li:before {
  content: '-';
  color: #912020;
  margin-right: 5px;
}
#menu-primary-menu-1 .sub-menu {
  margin-left: 0px;
}
.copyright-bar {
  font-size: 12px !important;
  position: relative;
  left: 10px;
}
.wp-block-gallery img {
  min-height: 140px;
  border: 2px solid transparent;
}
.wp-block-gallery img:hover {
  opacity: .9;
}
/*------- 
@Site Wide Modules
-------*/
.geo {
  margin-top: 2px;
}
.geo a:before {
  font-family: "Font Awesome 6 Pro";
  content: '\f3c5';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  margin-right: 5px;
  transition: all .25s ease-out;
  font-weight: 700;
  color: #000000b8;
}
.hour a:before {
  font-family: "Font Awesome 6 Pro";
  content: '\f017';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  margin-right: 5px;
  transition: all .25s ease-out;
  font-weight: 700;
  color: #000000b8;
}
.phone a:before {
  font-family: "Font Awesome 6 Pro";
  content: '\f095';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  margin-right: 5px;
  transition: all .25s ease-out;
  font-weight: 700;
  color: #000000b8;
}
.email a:before {
  font-family: "Font Awesome 6 Pro";
  content: '\f0e0';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  margin-right: 5px;
  transition: all .25s ease-out;
  font-weight: 700;
  color: #000000b8;
}
.paoc-cb-popup-body {
  max-width: 670px;
}
.paoc-popup-margin.paoc-popup-mheading {
  text-align: center;
  text-decoration: underline;
  color: var(--contrast-3);
  margin-bottom: 30px;
  display: table;
  border-collapse: separate;
  white-space: nowrap;
  width: 100%;
}
.paoc-popup-margin.paoc-popup-mheading:before {
  border-top: 1px solid #ede9e7;
  content: '';
  display: table-cell;
  width: 50%;
  top: 23px;
  position: relative;
}
.paoc-popup-margin.paoc-popup-mheading:after {
  border-top: 1px solid #ede9e7;
  content: '';
  display: table-cell;
  width: 50%;
  top: 23px;
  position: relative;
}
.paoc-popup-content hr {
  margin-bottom: 20px;
  margin-top: 20px;
}
.paoc-popup-margin.paoc-popup-content ul {
  list-style: none;
  margin-left: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.paoc-popup-margin.paoc-popup-content ul li {
  font-size: 20px;
  width: 33%;
  margin-bottom: 17px;
  color: #000000;
}
.h2-doublelines {
  display: table;
  border-collapse: separate;
  white-space: nowrap;
  width: 100%;
}
.h2-doublelines:before {
  border-top: 1px solid #ede9e7;
  content: '';
  display: table-cell;
  width: 50%;
  top: 23px;
  position: relative;
}
.h2-doublelines:after {
  border-top: 1px solid #ede9e7;
  content: '';
  display: table-cell;
  width: 50%;
  top: 23px;
  position: relative;
}
.h2-alt {
  font-family: 'Dosis', sans-serif;
  font-size: 20px;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: 1px;
}
.link-arrow a:after {
  font-family: "Font Awesome 6 Pro";
  content: '\f178';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: #912020;
  margin-left: 15px;
  transition: all .25s ease-out;
}
.link-arrow a:hover:after {
  margin-left: 20px;
}
.card-wrapper {
  gap: 20px !important;
  width: 100%;
  flex-flow: wrap;
  justify-content: center;
}
.card-container {
  -webkit-perspective: 500px;
  perspective: 500px;
  cursor: pointer;
}
.card-container:hover .card {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}
.card {
  height: 330px;
  margin: 10px;
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.front, .back {
  position: absolute;
  width: 100%;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.card p {
  font-weight: 500;
}
.card .link-arrow span {
  font-weight: 700;
}
.card .link-arrow span:after {
  font-family: "Font Awesome 6 Pro";
  content: '\f178';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: #912020;
  margin-left: 15px;
  transition: all .25s ease-out;
}
.card .link-arrow span:hover:after {
  margin-left: 20px;
}
.card .front h3 {
  font-weight: 800;
}
.back {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  background-repeat: no-repeat;
  background-size: cover;
}
.card .back p {
  font-family: 'Oswald', sans-serif;
  color: white;
  font-size: 1.5vw;
  padding: 3.5px 15px;
  border-radius: 5px;
  border: 1px solid white;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}
.cb1 {
  background: #353333 url(images/fireplaces-card.jpg) center;
}
.cb2 {
  background: #353333 url(images/accessories-card.jpg) center;
}
.cb3 {
  background: #353333 url(images/stove-card.jpg) center;
}
.cb4 {
  background: #353333 url(images/grill-card.jpg) center;
}
.inner-service-boxes {
  gap: 10px !important;
}
.inner-service-boxes .wp-block-column {
  border: 1px solid #ede9e7;
  padding: 20px;
  background: white;
}
.inner-service-boxes figure {
  width: 100%;
}
.inner-service-boxes img {
  width: 100%;
}
.inner-service-boxes img:hover {
  opacity: .9;
}
.inner-service-boxes .wp-block-column hr {
  height: 3px;
  margin-top: 0px;
  margin-bottom: 15px;
  max-width: 43px;
}
.inner-service-boxes .wp-block-column p:last-child {
  margin-bottom: 0px;
}
.specialul {
  list-style: none;
  margin-left: 20px;
}
.specialul li:before {
  font-family: "Font Awesome 6 Pro";
  content: '\f178';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: #912020;
  margin-right: 15px;
  transition: all .25s ease-out;
}
.specialul li {
  margin-bottom: 7.5px;
  text-indent: -1em;
  padding-left: 1em;
}
.specialul li:last-child {
  margin-bottom: 0px;
}
#main .su-tabs {
  background: transparent;
}
#main .su-tabs-nav span {
  border-bottom: 1px solid #3533332e;
  max-width: 90%;
}
#main .su-tabs-nav span:last-child {
  border-bottom: 0px solid transparent;
}
/*------- 
@Page Specific Modules
-------*/
.hero h1 {
  animation: blaze 12.65s linear infinite alternate;
  -moz-animation: blaze 12.65s linear infinite alternate;
  -webkit-animation: blaze 12.65s linear infinite alternate;
  -o-animation: blaze 12.65s linear infinite alternate;
}
.hero .hero_text {
  font-size: 130%;
  margin-top: 17px;
  display: block;
}
.specials_acf-wrapper .wp-block-column .the_flex {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}
.specials_acf-wrapper .wp-block-column .the_flex #specials_acf {
  width: 32%;
  flex-basis: 32%;
}
.specials_acf-wrapper .wp-block-column .the_grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 20px 20px;
  grid-template-areas:
    "specials_1 specials_2 specials_4 specials_4"
    "specials_3 specials_3 specials_5 specials_5";
}
.the_grid .specials_1 {
  grid-area: specials_1;
}
.the_grid .specials_2 {
  grid-area: specials_2;
}
.the_grid .specials_3 {
  grid-area: specials_3;
}
.the_grid .specials_4 {
  grid-area: specials_4;
}
.the_grid .specials_5 {
  grid-area: specials_5;
}
#specials_acf:before {
  content: "";
  position: absolute;
  background: #353333bf;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  box-shadow: inset 0px 0px 50px #000000a3;
  border-radius: 5px;
}
#specials_acf {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 10px;
  position: relative;
}
.coupwrap {
  border: 2px dashed white;
  padding: 30px 10px;
  z-index: 2;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  border-radius: 5px;
}
#specials_acf h2, #specials_acf h3, #specials_acf h4, #specials_acf p {
  text-align: center;
  z-index: 2;
  position: relative;
  margin-bottom: 5px;
}
#specials_acf h2 {
  font-size: 25px;
  padding: 3.5px 15px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}
#specials_acf h3 {
  font-size: 20px;
  text-transform: uppercase;
}
#specials_acf h4 {
  font-size: 46px;
}
.ul123 {
  margin-left: 20px;
}
.ul123 li::marker {
  font-weight: 700;
  color: #912020;
  text-decoration: underline;
}
.ul123 li {
  margin-bottom: 15px;
  font-size: 15px;
  font-weight: 700;
}
#gform_wrapper_1 {
  color: black;
}
.justify p {
  text-align: justify;
}
.banner-center {
  max-width: 96% !important;
  margin: 0 auto !important;
  display: block !important;
}
.pbCaptionText .title span {
  padding: 3.5px 15px;
  border-radius: 5px;
  border: 1px solid white;
  position: relative;
  top: 8px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}
/*------- 
@Animation
-------*/
.fire {
  animation: animation 1s ease-in-out infinite alternate;
  -moz-animation: animation 1s ease-in-out infinite alternate;
  -webkit-animation: animation 1s ease-in-out infinite alternate;
  -o-animation: animation 1s ease-in-out infinite alternate;
}
.burn {
  animation: animation .65s ease-in-out infinite alternate;
  -moz-animation: animation .65s ease-in-out infinite alternate;
  -webkit-animation: animation .65s ease-in-out infinite alternate;
  -o-animation: animation .65s ease-in-out infinite alternate;
}
/* 
  0% {
    text-shadow: 0 0 20px #fefcc9, 10px -10px 30px #feec85, -20px -20px 40px #ffae34, 20px -40px 50px #ec760c, -20px -60px 60px #cd4606, 0 -80px 70px #973716, 10px -90px 80px #451b0e;
  }
  100% {
    text-shadow: 0 0 20px #fefcc9, 10px -10px 30px #fefcc9, -20px -20px 40px #feec85, 22px -42px 60px #ffae34, -22px -58px 50px #ec760c, 0 -82px 80px #cd4606, 10px -90px 80px #973716;
  }
*/
@keyframes blaze {
  0% {
    text-shadow: 0px 0px 14px #000, 0px -4px 10px #9A811C, 0px -5px 20px #9A4E1C, 0px -5px 40px #791A19;
  }
  25% {
    text-shadow: 0px 0px 14px #000, 1px -2px 12px #9A4E1C, -2px -7px 25px #9A811C, 2px -10px 50px #46191a;
  }
  50% {
    text-shadow: 0px 0px 14px #000, 0px -4px 10px #46191a, 0px -5px 20px #791A19, 0px -5px 40px #9A4E1C;
  }
  100% {
    text-shadow: 0px 0px 14px #000, 1px -2px 12px #9A4E1C, -2px -7px 25px #9A4E1C, 2px -10px 50px #791A19;
  }
}
@-moz-keyframes blaze {
  0% {
    text-shadow: 0px 0px 14px #000, 0px -4px 10px #9A811C, 0px -5px 20px #9A4E1C, 0px -5px 40px #791A19;
  }
  25% {
    text-shadow: 0px 0px 14px #000, 1px -2px 12px #9A4E1C, -2px -7px 25px #9A811C, 2px -10px 50px #46191a;
  }
  50% {
    text-shadow: 0px 0px 14px #000, 0px -4px 10px #46191a, 0px -5px 20px #791A19, 0px -5px 40px #9A4E1C;
  }
  100% {
    text-shadow: 0px 0px 14px #000, 1px -2px 12px #9A4E1C, -2px -7px 25px #9A4E1C, 2px -10px 50px #791A19;
  }
}
@-webkit-keyframes blaze {
  0% {
    text-shadow: 0px 0px 14px #000, 0px -4px 10px #9A811C, 0px -5px 20px #9A4E1C, 0px -5px 40px #791A19;
  }
  25% {
    text-shadow: 0px 0px 14px #000, 1px -2px 12px #9A4E1C, -2px -7px 25px #9A811C, 2px -10px 50px #46191a;
  }
  50% {
    text-shadow: 0px 0px 14px #000, 0px -4px 10px #46191a, 0px -5px 20px #791A19, 0px -5px 40px #9A4E1C;
  }
  100% {
    text-shadow: 0px 0px 14px #000, 1px -2px 12px #9A4E1C, -2px -7px 25px #9A4E1C, 2px -10px 50px #791A19;
  }
}
/*------- 
@Media Queries
-------*/
.show-mobile {
  display: none;
}
.gp-icon svg {
  top: 0px;
}
@media only screen and (max-width: 1280px) {
  #masthead .inside-header {
    padding: 20px;
  }
  .top-bar .inside-top-bar {
    padding: 10px 20px;
  }
  .footer-widgets-container {
    padding: 20px;
  }
  .wp-block-media-text__content-left-shift .wp-block-media-text__content {
    margin-left: 0px !important;
  }
}
@media only screen and (max-width: 781px) {
  #block-7 .wp-container-1.wp-block-column {
    width: 24% !important;
    flex-basis: 24% !important;
  }
  #block-7 .wp-container-2.wp-block-column {
    width: 64% !important;
    flex-basis: 64% !important;
    gap: 0px !important;
    justify-content: space-between;
  }
  aside#block-7 .wp-container-3.wp-block-columns {
    display: flex !important;
    flex-direction: row !important;
    gap: 0px !important;
    align-items: center !important;
  }
  .wp-container-1.wp-block-column {
    margin-right: 20px;
  }
  .top-bar .wp-block-column:last-child .hour {
    margin-right: 0px;
  }
  .geo a {
    margin-bottom: 7px !important;
  }
  .hour a {
    margin-bottom: 7px !important;
  }
  .hide-mobile {
    display: none;
  }
  .show-mobile {
    display: inline-block;
  }
  #footer-widgets a {
    font-size: 18px;
    margin-top: 9px !important;
    margin-bottom: 9px !important;
  }
  .top-bar .inside-top-bar {
    padding: 2px 20px 10px 20px;
  }
  a.facebook {
    margin-top: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .home .specials_acf-wrapper .wp-block-column .the_grid {
    display: flex !important;
    flex-direction: column !important;
  }
  .footer-address {
    flex-direction: column;
  }
  .card .back p {
    font-size: 18px !important;
  }
  .h2-doublelines {
    display: block;
    white-space: pre-wrap;
  }
}
@media only screen and (max-width: 600px) {
  #callnowbutton.cnb-single {
    width: 40px !important;
    height: 40px !important;
  }
  #block-7 .wp-block-columns p a {
    font-size: 11px;
  }
  .hero br {
    display: none;
  }
  .hero .hero_text {
    font-size: inherit;
    margin-top: 0px;
    display: inline-block;
  }
  h1 {
    font-size: 35px;
  }
  h2 {
    font-size: 28px;
  }
  h3 {
    font-size: 23px;
  }
  p {
    font-size: 18px;
  }
  a {
    font-size: 20px;
  }
  a.facebook {
    margin-top: 0px;
  }
	.site-header .header-image {
    width: 190px;
}
}
body.error404 div#page {
    padding-top: 15vh;
    padding-bottom: 15vh;
    background-color: #fffcfc !important;
    max-width: 100%;
    padding-left: 20%;
    padding-right: 20%;
}