w/*
Theme Name:  Dynamco
Description: Child theme for Dynamco
Version:     1.0.3
Author:      The Web Office
Author URI:  https://theweboffice.co.za
Template: thegem
*/

/* General */

h1, .title-h1 {
  letter-spacing: normal;
}

.block-content {
  padding: 80px 0 100px;
}

.page #main,
.page #main-content {
  overflow: hidden;
}

.page .block-content {
  position: relative;
  background: #fff;
}

.combobox-wrapper select {
  height: 100%;
}

@media (max-width: 600px) {

  .block-content {
    padding-top: 40px;
  }
  
  .block-content:last-of-type {
    padding-bottom: 60px;
  }
  
}

/* Preloader */

.preloader-spin {
	border-top-color: #f44336;
}

.preloader-spin:before {
	border-top-color: #f44336;
}

.preloader-spin:after {
	border-top-color: #f44336;
}

/* Top bar */

#top-area {
  position: relative;
  z-index: 9;
}

.gem-contacts-item.gem-contacts-email a {
  color: #231f20;
}

.top-area-contacts .gem-contacts-email:before {
  position: relative;
  bottom: 2px;
}

#installer-area-button a {
  background: #ee3224;
  margin-right: 10px;
}

#installer-area-button a:hover {
  background: #231f20;
}

#installer-login a:hover {
  background: #231f20;
}

#installer-area-button-active button {
  background: #ee3224;
  cursor: default;
  margin-right: 10px;
}

.top-area-button {
  margin-right: 10px;
}

.top-area-button a:hover {
  background-color: #231f20 !important;
  opacity: .7;
}

/* Header */

#site-header-wrapper {
  top: auto !important;
}

/* Nav */

.header-main #primary-menu.no-responsive > li > a, .header-style-4 #primary-menu.no-responsive > li > a {
  padding: 0px;
  margin: 0px 15px;
  border-bottom: 2px solid transparent;
}

#site-header.fixed.shrink .header-style-3 #primary-menu.no-responsive > li > a, #site-header.fixed.shrink .header-style-4 #primary-menu.no-responsive > li > a {
  padding: 0px;
}

.header-style-3 #primary-menu.no-responsive > li.menu-item-current > a, .header-style-3 #primary-menu.no-responsive > li.menu-item-active > a, .header-style-4 #primary-menu.no-responsive > li.menu-item-current > a, .header-style-4 #primary-menu.no-responsive > li.menu-item-active > a, .header-style-3.header-layout-fullwidth_hamburger #primary-menu.no-responsive > li.menu-item-current > a, .header-style-3.header-layout-fullwidth_hamburger #primary-menu.no-responsive > li.menu-item-active > a, .header-style-4.header-layout-fullwidth_hamburger #primary-menu.no-responsive > li.menu-item-current > a, .header-style-4.header-layout-fullwidth_hamburger #primary-menu.no-responsive > li.menu-item-active > a {
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
}

.mobile-menu-layout-default .primary-navigation.responsive ul > li.menu-item-current > a, .mobile-menu-layout-default .primary-navigation.responsive ul > li.menu-item.menu-item-active a {
  border-left: 4px solid #ee3224;
}

/* Installer intro */

.installer-access-alert {
  padding-bottom: 30px;
}

/* Installer Login */

#installer-login a {
  text-decoration: none;
}

#installer-login-wrapper .modal-body {
  padding: 15px 25px;
}

#installer-login-wrapper label {
  display: block;
}

#installer-login-wrapper .modal-login-username,
#installer-login-wrapper .modal-login-password {
  margin-bottom: 15px;
}

#installer-login-wrapper input[type="text"],
#installer-login-wrapper input[type="password"] {
  padding: 12px;
  padding-left: 20px;
  width: 100%;
  outline: none;
  transition: all .3s ease;
}

#installer-login-wrapper input[type="text"]:focus,
#installer-login-wrapper input[type="password"]:focus {
  border: 1px solid #231f20;  
}

#installer-login-wrapper .preloader {
  position: absolute;
  height: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255,255,255,.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
}

#installer-login-wrapper .preloader.loading {
  opacity: 1;
  visibility: visible;
}

#installer-login-wrapper .preloader + *:not(iframe) {
  height: auto !important;
}

#installer-login-wrapper .preloader + * {
  opacity: 1;
}

#installer-login-wrapper p.status {
  margin-top: 20px;
  margin-bottom: 20px !important;
  font-weight: bold;
}

#installer-login-wrapper .register-wrapper {
  display: none;
}

#installer-login-wrapper.installer-area-login {
  max-width: 500px;
  margin: 0 auto;
  padding: 80px 0;
}

/* Installer page */

.page-template-page-installer .gem-iconed-title > * {
  text-transform: none;
  font-weight: 400;
}

/* Title */

#page-title.has-background-image {
  background-size: cover;
  background-position: center center;
}

#page-title:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(35,31,32,.7);
  z-index: 1;
}

#page-title .container {
  position: relative;
  z-index: 2;
}

@media (max-width: 979px) {

  #page-title.page-title-alignment-left {
    text-align: center;
  }
  
}

@media (min-width: 768px) {

  .header-parallax #page-title {
    position: fixed;
    width: 100%;
    margin-top: -50px;
  }
  
}

@media (max-width: 767px) {
 
  #page-title {
    padding-top: 100px !important;
  }
  
  #page-title.page-title-alignment-left {
    padding-top: 30px !important;
  }
  
}

@media (max-width: 600px) {
 
  #page-title {
    padding-bottom: 30px !important;
  }
  
  .page-title-block .breadcrumbs-container {
    display: none;
  }
  
}

/* Quickfinder */

.quickfinder-item .quickfinder-item-info .quickfinder-button {
  margin-top: 0;
}

/* Our Brands */

#our-brands .gem-clients-slide .gscale {
  background-color: transparent;
}

#our-brands .gem-clients-slide .gscale img {
  -webkit-filter: none;
  filter: none;
  opacity: 1;
}

/* Partners carousel */

.gem_client-carousel {
  margin-top: 0;
}

.gem-client-set-title {
  display: none;
}

.gem-client-item img {
  max-width: 200px;
  height: auto;
}

/* Lists */

.gem-list > ul {
  padding-left: 0;
}

.gem-list > ul > li {
  position: relative;
  font-size: 14px;
  padding-left: 40px;
  text-indent: inherit;
}

.gem-list > ul > li:before {
  position: absolute;
  left: 0;
  font-size: 30px;
  width: 40px;
  text-indent: inherit;
}

/* Portfolio */

.single .post-meta {
  display: none;
}

.wpb-js-composer .vc_tta.vc_tta-color-thegem.vc_tta-style-simple_dashed .vc_tta-controls-icon::before, .wpb-js-composer .vc_tta.vc_tta-color-thegem.vc_tta-style-simple_dashed .vc_tta-controls-icon::after {
  border-color: #f44336;
  color: #f44336;
}

/* Visual Composer */

.wpb-js-composer .vc_tta.vc_tta-tabs .vc_tta-panel.vc_active .vc_tta-panel-title, .wpb-js-composer .vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-title, .wpb-js-composer .vc_tta.vc_tta-tabs.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-title, .wpb-js-composer .vc_tta.vc_tta-accordion.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-title .wpb-js-composer .vc_tta.vc_tta-tabs .vc_tta-panel.vc_tta-style-modern .vc_tta-panel-title, .wpb-js-composer .vc_tta.vc_tta-accordion.vc_tta-style-modern .vc_tta-panel .vc_tta-panel-title, .wpb-js-composer .vc_tta.vc_tta-accordion.vc_tta-style-simple_dashed .vc_tta-panel .vc_tta-panel-title {
  font-family: 'Open Sans', sans-serif;
}

/* WooCommerce */

.single-product-content .gem-gallery {
  margin-bottom: 30px;
}

.products .product-image .woo-product-overlay {
  background: rgba(244, 67, 54, 0.8);
}

.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-wishlist .woocommerce {
  margin-top: 0;
}

.woocommerce .woocommerce-cart-form .actions .submit-buttons .update-cart button {
  background: #dfe5e8;
  color: #393d50;
}

.woocommerce .woocommerce-cart-form .actions .submit-buttons .update-cart button:hover {
  border-color: #dfe5e8;
  color: #393d50;
}

.checkout-steps .checkout-step.active, .checkout-steps .checkout-step.before-active:before, .checkout-steps .checkout-step.before-active:after {
  background: #f44336;
  color: #fff;
}

.woocommerce .woocommerce-checkout .shop_table.woocommerce-checkout-payment-total .order-total td .amount {
  color: #f44336;
}

.woocommerce .woocommerce-checkout #order_review .woocommerce-checkout-payment .payment_methods .payment_box {
  color: #5f727f;
  background-color: #f4f6f7;
}

.woocommerce .woocommerce-checkout #order_review .woocommerce-checkout-payment .payment_methods .payment_box:before {
  color: #fff;
  background-color: #5f727f;
}

.checkout-navigation-buttons .checkout-place-order button {
  background-color: #f44336;
  border-color: #f44336;
}

.checkout-navigation-buttons .checkout-place-order button:hover {
  color: #f44336;
}

.woocommerce.single-product .woocommerce-price-suffix {
  font-size: 20px;
}

.woocommerce .includes_tax {
  display: block;
}

.woocommerce .includes_tax .amount {
  font-size: 18px !important;
}

.woocommerce .checkout .form-row .input-text, .woocommerce .edit-address-form .form-row .input-text, .woocommerce .checkout .form-row textarea.input-text, .woocommerce .edit-address-form .form-row textarea.input-text, .select2-search .select2-input, .woocommerce .checkout-login .login .form-row .input-text, .woocommerce .lost_reset_password .input-text, .woocommerce .my-account-signup .register .form-row .input-text {
  color: #231f20;
}

/* Blog */

.single-post .post-meta {
  display: block;
}

/* Footer */

#footer-menu li + li:before {
  border-left: 1px solid #4c4c4c;
  border-right: 1px solid #4c4c4c;
}

#footer-nav {
  border-top: none;
}

/* Search results */

.search-results article {
  width: 100%;
}

body.search .page-title-block:before {  
  width: auto;
  height: auto;
  background: rgba(35,31,32,.7);
  z-index: 1;
}

body.search .page-title-block .page-title-title {
  padding-bottom: 0;
}

body.search .page-title-block .highlight {
  color: #fff;
}

/* Hide elements and padding changes */

@media (max-width: 991px) {
  
  .mobile-hide-element {
    display: none;
  }
  
  .mobile-padding-30 {
    margin-top: 30px !important;
  }
  
}
