/*
Theme Name: SPS Building 
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/
/*************** ADD CUSTOM CSS HERE.   ***************/
/* Geomanist Font Import */
@font-face {
  font-family: Geomanist;
  src: url("./fonts/Geomanist-Black.otf");
  font-weight: 900; }

@font-face {
  font-family: Geomanist;
  src: url("./fonts/Geomanist-Bold.otf");
  font-weight: 800; }

@font-face {
  font-family: Geomanist;
  src: url("./fonts/Geomanist-Book.otf");
  font-weight: 700; }

@font-face {
  font-family: Geomanist;
  src: url("./fonts/Geomanist-Regular.otf");
  font-weight: 400; }

@font-face {
  font-family: Geomanist;
  src: url("./fonts/Geomanist-Light.otf");
  font-weight: 200; }

@font-face {
  font-family: Geomanist;
  src: url("./fonts/Geomanist-ExtraLight.otf");
  font-weight: 100; }

.pt-1 {
  padding-top: 0.25rem !important; }

.pt-2 {
  padding-top: 0.5rem !important; }

.pt-3 {
  padding-top: 0.75rem !important; }

.pt-4 {
  padding-top: 1rem !important; }

.pt-5 {
  padding-top: 1.5rem !important; }

.pt-6 {
  padding-top: 2rem !important; }

.pt-7 {
  padding-top: 3rem !important; }

.pt-75 {
  padding-top: 4rem !important; }

.pt-8 {
  padding-top: 7rem !important; }

.pt-9 {
  padding-top: 8rem !important; }

.pb-1 {
  padding-bottom: 0.25rem !important; }

.pb-2 {
  padding-bottom: 0.5rem !important; }

.pb-3 {
  padding-bottom: 0.75rem !important; }

.pb-4 {
  padding-bottom: 1rem !important; }

.pb-5 {
  padding-bottom: 1.5rem !important; }

.pb-6 {
  padding-bottom: 2rem !important; }

.pb-7 {
  padding-bottom: 3rem !important; }

.pb-8 {
  padding-bottom: 7rem !important; }

.pb-9 {
  padding-bottom: 8rem !important; }

@media only screen and (max-width: 849px) {
  .pb-md-1 {
    padding-bottom: 1.5rem !important; } }

.py-1 {
  padding: 0.25rem 0 !important; }

.py-2 {
  padding: 0.5rem 0 !important; }

.py-3 {
  padding: 0.75rem 0 !important; }

.py-4 {
  padding: 1rem 0 !important; }

.py-5 {
  padding: 1.5rem 0 !important; }

.py-6 {
  padding: 2rem 0 !important; }

.py-7 {
  padding: 3rem 0 !important; }

.py-8 {
  padding: 7rem 0 !important; }

.py-9 {
  padding: 8rem 0 !important; }

/*
 * 
 * HOME PAGE
 * 
 */
@media only screen and (max-width: 1500px) {
  .hero-slider h1 {
    margin-left: 4rem; } }

/* 
 * 
 * FONTS
 * 
 */
.text-shadow {
  text-shadow: 3px 3px 8px #000; }

.h-01 {
  font-weight: 200 !important;
  font-size: 7rem !important;
  line-height: 6rem !important;
  color: #dee !important; }

.h-02 {
  font-size: 2.5rem !important;
  font-weight: 600 !important; }

.p-01 {
  font-size: 1.2rem;
  line-height: 2.2rem; }

/* 
 * 
 * HEADER
 * 
 */
@media only screen and (max-width: 1500px) {
  .header-wrapper .header-inner {
    padding: 0rem 4rem; } }

.header-wrapper .header-nav.nav > li > a.nav-top-link {
  font-size: 1.2rem;
  color: #fff !important;
  margin-right: 2rem; }

.header-wrapper.stuck .header-nav.nav > li > a.nav-top-link {
  color: #fff !important; }

.header-wrapper .header-logo {
  display: none; }

.header-wrapper .header-logo-sticky {
  display: block !important; }

.transparent .header-wrapper .header-nav.nav > li > a.nav-top-link {
  color: #222 !important; }

.transparent .header-logo {
  display: block; }

.transparent .header-logo-sticky {
  display: none !important; }

.transparent .header-main {
  background: rgba(255, 248, 248, 0.69); }

/*
 * 
 * PRODUCTS PAGE
 * 
 */
.widget_product_categories .widget-title {
  font-size: 1rem;
  margin-bottom: 1rem !important;
  font-weight: 700 !important; }

.widget_product_categories .is-divider {
  height: 0px;
  margin: 0.5rem 0rem; }

.widget_product_categories a {
  color: #222;
  font-size: 0.9rem;
  padding: 0.6rem 0rem !important; }

/* 
 * 
 * SINGLE PRODUCT PAGE
 *
 */
.woocommerce-breadcrumb a:hover {
  color: #c61e1e; }

.custom-product-page .woocommerce-breadcrumb {
  max-width: 1400px;
  margin: auto !important;
  padding: 2rem 30px; }
  .custom-product-page .woocommerce-breadcrumb a {
    font-weight: 400;
    font-size: 1.15em; }

.custom-product-page th,
.custom-product-page td {
  border: 1px solid #ccc;
  padding: 0.6rem; }

.custom-product-page table {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin-bottom: 2rem; }

.custom-product-page p {
  margin-bottom: 2rem;
  text-align: justify; }

.custom-product-page h1, .custom-product-page h2, .custom-product-page h3, .custom-product-page h4 {
  margin-bottom: 1rem; }

.custom-product-page .downloads-buttons-container {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem; }
  .custom-product-page .downloads-buttons-container .download-button {
    background: #eee;
    flex-basis: 30%;
    text-align: center;
    padding: 0.5rem 1rem;
    box-shadow: 1px 1px 2px #aaa;
    color: #222;
    transition: 0.2s ease; }
    .custom-product-page .downloads-buttons-container .download-button:hover {
      background: #FBD6AE !important; }
  .custom-product-page .downloads-buttons-container .colour-chart {
    flex-basis: 30%;
    text-align: center;
    padding: 0.5rem 1rem; }

.custom-product-page .product-title {
  margin-bottom: 2rem; }

.custom-product-page .product-tabs li {
  background: #eee;
  margin: 0 !important;
  padding: 0px; }
  .custom-product-page .product-tabs li:hover {
    background: #ccc;
    color: black; }
  .custom-product-page .product-tabs li a {
    padding: 0.5rem 1rem;
    font-size: 0.9rem; }
    .custom-product-page .product-tabs li a:before {
      display: none; }

.custom-product-page .product-tabs .active {
  background: #222; }
  .custom-product-page .product-tabs .active a {
    color: white !important; }

.custom-product-page .tab-panels {
  padding: 2rem 2rem 0rem 2rem;
  background: #f6f6f6;
  margin-bottom: 2rem; }

/* 
 * 
 * PRODUCT CATALOG
 * 
 */
.box-text-products .category {
  font-size: 0.8rem;
  color: black;
  font-weight: 600; }

.box-text-products a {
  font-size: 1rem; }

/* 
 * 
 * FOOTER
 * 
 */
.custom-footer {
  border-top: 1px solid #ddd; }
  .custom-footer .footer-text {
    line-height: 2rem; }
  .custom-footer .social-icons {
    color: white; }

@media only screen and (max-width: 48em) {
  /*************** ADD MOBILE ONLY CSS HERE  ***************/ }

.narrow-row {
  max-width: 1100px !important; }

.get-in-touch {
  font-weight: 600 !important;
  font-size: 3em !important;
  padding: 0; }

.contact-info h3 {
  margin-bottom: 10px !important;
  color: black !important;
  font-weight: 600 !important; }

.contact-info h4 {
  color: black !important;
  font-weight: 500 !important;
  font-size: 1.3em !important;
  margin-bottom: 10px !important; }

.contact-info {
  font-size: 0.9em !important;
  background: #eee;
  padding: 30px 30px; }

.contact-info p {
  margin-bottom: 10px !important;
  color: black !important; }

.woo-login-popup-sc-bg {
  display: none !important; }

.narrow-row-specify {
  max-width: 1100px !important; }

.installer-class {
  padding: 0 !important;
  margin: 0 !important; }

.section-margin-bottom-2 {
  margin-bottom: 50px !important; }

.section-margin-top-2 {
  /* For sections that directly follow rows that have a padding-bottom of 30px */
  margin-top: 50px !important; }

.image-tools.bottom.left {
  display: none !important; }

.box-blog-post .is-divider {
  display: none !important; }

.box-text p {
  font-size: 16px !important;
  color: #787777 !important; }

.box-text p:hover {
  color: black !important; }

.downloads-colour-chart-container {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem; }
  .downloads-colour-chart-container .colour-chart {
    flex-basis: 30%;
    text-align: center;
    padding: 0.5rem 1rem; }

.colour-chart-wrapper {
  display: grid;
  grid-template-columns: 25% 25% 25%;
  grid-gap: 10px; }
  .colour-chart-wrapper img {
    -webkit-box-shadow: 0px 9px 8px #d7d3d3;
    -moz-box-shadow: 0px 9px 8px #d7d3d3;
    box-shadow: 0px 9px 8px #d7d3d3; }
  .colour-chart-wrapper .colour-chart-box {
    margin-bottom: -20px; }
  .colour-chart-wrapper p {
    margin-top: 20px !important; }

.colour-chart-wrapper-download {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: 10px; }
  .colour-chart-wrapper-download .download-button {
    background: #eee;
    flex-basis: 30%;
    text-align: center;
    padding: 0.5rem 1rem;
    box-shadow: 1px 1px 2px #aaa;
    color: #222;
    transition: 0.2s ease; }
    .colour-chart-wrapper-download .download-button:hover {
      background: #fabe73 !important;
      color: #222 !important; }

.colour-chart-wrapper {
  display: grid;
  grid-template-columns: 25% 25% 25%;
  grid-gap: 10px;
  /*.download-button {
			background: #eee;
			flex-basis: 30%;
			text-align: center;
			padding: 0.5rem 1rem;
			box-shadow: 1px 1px 2px #aaa;
			color: #222;
			transition: 0.2s ease;
			&:hover {
			 background: #fabe73 !important;
				color: #222 !important;
				
			}
	}*/ }
  .colour-chart-wrapper .colour-chart-box {
    margin-bottom: -20px; }

h2.yikes-custom-woo-tab-title {
  display: none; }

.custom-product-page .tab-panels {
  padding: 2rem 2rem 2rem 2rem !important; }

body .woo-login-popup-sc-modal .woo-login-popup-sc-close a:hover {
  color: green; }

.flickity-prev-next-button svg, .flickity-prev-next-button .arrow {
  border-color: white !important;
  fill: white !important; }

.flickity-prev-next-button {
  width: 50px; }

.woo-login-popup-sc-modal label {
  display: none; }

.woo-login-popup-sc-modal input[type="text"], input[type="password"] {
  font-size: 18px !important;
  font-weight: 400 !important; }

.woocommerce-privacy-policy-text {
  display: none; }

.woo-login-popup-sc-modal p {
  color: #5a5a5a !important; }

.article-inner p {
  text-align: justify !important; }

.custom-footer-row {
  padding-top: 80px !important; }

.custom-footer-row p {
  font-size: 1em !important;
  font-weight: 400 !important;
  color: #aaa !important;
  line-height: 1.8em !important; }

.custom-footer-row h3 {
  font-weight: 700 !important;
  color: white !important;
  font-size: 1.1em !important;
  margin-bottom: 15px !important; }

.custom-footer-row label {
  color: #e4e4e4 !important;
  font-weight: 200 !important; }

.custom-footer-row {
  padding-top: 80px !important; }

.custom-footer-row a {
  color: white;
  text-decoration: none !important; }

.custom-footer-row a:hover {
  color: grey !important; }

.custom-footer-row .follow-icons a:first-child {
  margin-left: -3px !important; }

.custom-footer-row form {
  margin-bottom: 20px !important; }

.custom-footer-row .frm_submit {
  margin-top: 5px !important;
  text-align: left !important; }

.custom-footer-row .frm_button_submit {
  box-sizing: border-box !important;
  background-color: rgba(0, 0, 0, 0) !important;
  color: white !important;
  border: 1px solid white !important;
  background: rgba(0, 0, 0, 0) !important;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0px 0px !important;
  margin-top: 10px !important;
  width: 120px !important;
  border-radius: 0px !important;
  font-family: "motiva-sans", "Helvetica" !important;
  font-size: 0.8em !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  height: 40px !important; }

.custom-footer-row .frm_button_submit:hover {
  background: white !important;
  color: black !important; }

.custom-footer-row .form-field {
  margin-bottom: 5px !important;
  margin-top: 5px !important;
  text-align: left !important; }

.custom-footer-row .frm_fields_container {
  text-align: center !important;
  margin-top: -5px !important; }

.custom-footer-row .form-field input {
  border-radius: 0px !important;
  background: rgba(0, 0, 0, 0) !important;
  color: white !important;
  border: none !important;
  border-bottom: 1px solid white !important;
  text-align: left !important;
  padding-left: 0px !important; }

.custom-footer-row .form-field input:focus {
  box-shadow: none !important; }

fieldset {
  padding-bottom: 0px !important; }

.custom-footer-row .col {
  padding-bottom: 0px !important; }

/* MOBILE FOOTER */
.mobile-footer .accordion-title {
  font-size: 0.9em !important;
  border-top: 0px !important;
  font-weight: 600 !important; }

.mobile-footer h3.accordion_title {
  margin-bottom: 0px !important; }

.mobile-footer .accordion-title {
  font-size: 0.9em !important;
  border-top: 0px !important;
  font-weight: 600 !important;
  padding: 4px 0px !important; }

.mobile-footer .accordion-inner {
  padding: 0px; }

.mobile-footer h3.accordion_title {
  margin-bottom: 0px !important; }

.mobile-footer form {
  margin-bottom: 0px !important; }

.mobile-footer .custom-footer-row {
  padding-top: 20px !important; }

.mobile-footer .custom-footer-row-2 .col {
  padding-bottom: 20px !important; }

.custom-footer-row-2 a {
  color: #aaa; }

.custom-footer-row-2 a.accordion-title {
  color: white !important; }

.custom-footer.mobile-footer input {
  text-align: center !important; }

.custom-footer.mobile-footer .frm_submit {
  text-align: center !important; }

.mobile-footer h3 {
  margin-bottom: 5px !important; }

.mobile-footer .social-icons {
  margin-top: -20px !important; }

.mobile-footer .mobile-accordion .col {
  padding: 10px 10px !important; }

.mobile-footer .mobile-accordion {
  padding-top: 0px !important; }

@media only screen and (max-width: 849px) {
  .absolute-footer {
    padding-top: 15px !important; } }

.frm_style_formidable-style.with_frm_style .frm_form_field :invalid {
  border-color: #b6b6b6 !important;
  font-size: 14px !important; }

.navigation-post a {
  color: #787777 !important; }

.navigation-post a:hover {
  color: black !important; }

.widget > ul > li > a {
  color: #787777 !important; }

.widget > ul > li > a:hover {
  color: black !important; }

.box-text-bottom .box-text .title-wrapper p {
  color: white !important;
  margin-top: 0.7em;
  font-weight: 700; }

@media only screen and (max-width: 1550px) {
  .box-text-bottom .box-text .title-wrapper p {
    margin-top: 0em;
    line-height: 2.3em !important;
    height: 30px; }
  .mb-0 {
    margin-left: 40px; } }

/*.home {
.box-text-bottom .box-text .title-wrapper p {
    color: white !important;
   margin-top: 0.7em;
}

.box-text-bottom .box-text a{
     width: 100%;
    position: absolute;
    overflow: hidden;
    left: 0;
    top: auto;
    bottom: 0;
    padding-top: 5px;
    padding-bottom: 28px;
    height: auto;
	background: #050505;
	color: white;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,100%,0);
	transform: translate3d(0,100%,0);
     
   
	
}

.box-text-bottom .box-text:hover {
    -webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
.box-text-bottom .box-text:hover {
    -webkit-transform: translate3d(0,-10%,0);
	transform: translate3d(0,-90%,0);
    
   
}
}
*/
.product-small .box-text-products .title-wrapper .category {
  display: none; }

.product-small .box-text-products .title-wrapper a {
  width: 100%;
  color: white !important;
  position: absolute;
  overflow: hidden;
  left: 0;
  top: auto;
  bottom: 21px;
  padding: 1em;
  height: 70px;
  text-align: center;
  background-color: #1E73BE !important;
  font-weight: 700; }

/*.product-small:hover .box-text-products .title-wrapper a{
    display: block;
    -webkit-transform: translate3d(0,-10%,0);
	transform: translate3d(0,-10%,0);
}
*/
.banner-layers .text-box .text {
  font-size: 1em !important;
  line-height: 0.9em !important;
  text-shadow: 3px 5px 10px rgba(0, 0, 0, 0.8);
  letter-spacing: 8px !important; }

.frm_style_formidable-style.with_frm_style .frm_message, .frm_success_style {
  border: 1px solid #fabe73 !important;
  background-color: #fabe73 !important;
  color: black !important; }

.woocommerce-result-count, .woocommerce-ordering {
  display: none !important; }

/*Gallery*/
.gallery-title .project-title {
  width: 100%;
  color: white !important;
  position: absolute;
  overflow: hidden;
  left: 0;
  top: auto;
  bottom: -22px;
  padding: 1.2em;
  height: 60px;
  text-align: center;
  background: #050505;
  font-weight: 700; }

.project-info h3 {
  margin-bottom: 9px !important;
  color: black !important;
  font-weight: 600 !important; }

.project-info h4 {
  color: black !important;
  font-weight: 500 !important;
  font-size: 1.3em !important;
  margin-bottom: 10px !important; }

.project-info {
  font-size: 0.9em !important;
  background: #eee;
  padding: 30px 30px; }

.project-info p {
  font-size: 1.1em !important;
  margin-bottom: 15px !important;
  color: black !important; }

.widget_project_categories a {
  font-size: 1.2em !important;
  font-weight: 400 !important;
  color: black !important; }

.widget_project_categories > ul > li {
  border-top: none !important; }

.widget_product > ul > li label {
  font-size: 1em !important;
  font-weight: 400 !important;
  color: black !important; }

.widget_product > ul > li {
  border-top: none !important; }

hr.divider-category {
  border: 1px solid black !important;
  opacity: 0.7 !important;
  width: 55%;
  margin-top: 0px; }

.breadcrumb a {
  color: grey;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.1em !important; }

.breadcrumb a:hover {
  color: black !important; }

.breadcrumb .current {
  color: black;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.1em !important; }

.checkbox input[type="checkbox"] {
  opacity: 0; }

.checkbox label::before {
  content: "";
  display: inline-block;
  margin-left: -50px;
  top: -4px !important;
  height: 18px;
  width: 18px;
  border: 1px solid; }

.checkbox label::after {
  content: "";
  display: inline-block;
  height: 6px;
  width: 9px;
  border-left: 2px solid;
  border-bottom: 2px solid;
  margin-left: -50px;
  top: 1px !important;
  transform: rotate(-45deg); }

.checkbox label {
  position: relative;
  margin-left: 20px; }

.checkbox label::before,
.checkbox label::after {
  position: absolute; }

/*Outer-box*/
.checkbox label::before {
  top: 3px; }

/*Checkmark*/
.checkbox label::after {
  left: 4px;
  top: 7px; }

/*Hide the checkmark by default*/
.checkbox input[type="checkbox"] + label::after {
  content: none; }

/*Unhide the checkmark on the checked state*/
.checkbox input[type="checkbox"]:checked + label::after {
  content: ""; }

/*Adding focus styles on the outer-box of the fake checkbox*/
.checkbox input[type="checkbox"]:focus + label::before {
  outline: #3b99fc auto 5px; }

/* ENVIRA GALLERY CUSTOM VIEW THIS PRODUCT BUTTON */
.envirabox-caption {
  position: fixed !important;
  left: 50vw;
  bottom: 75px !important;
  transform: translateX(-50%);
  margin-left: 0px !important;
  min-width: 200px !important;
  min-height: 40px !important; }

.envirabox-caption a {
  font-size: 15.5px !important;
  letter-spacing: 0.5px !important;
  font-weight: bold !important;
  background: #595959;
  text-decoration: none !important;
  transition: 0.3s ease;
  width: 100% !important;
  height: 100%;
  position: absolute !important;
  display: flex;
  align-items: center;
  justify-content: center; }

.envirabox-caption a:hover {
  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.2); }

#successMessage {
  font-size: 1.2em;
  color: red;
  margin-bottom: 0px !important; }
