/* ------------------------------------------------
  Project:   Homesout - Home Guttering & Downspouts WordPress Theme
  Author:    ThemeHt
------------------------------------------------ */

/* ------------------------
    Table of Contents

  1. Transition
  2. Pre Loader
  3. Scroll to Top
  4. Header
  5. Footer

------------------------*/

/* ------------------------
Transition
------------------------*/
a, button, img, span, ul, li, a:before, .dropdown-menu, .feature-icon, .feature-left, .rounded-button i, .service-icon, .service-desc, .portfolio-image, .portfolio-image:before, .elementor-tab-title, input[type="submit"].subscribe-btn, input[type="button"], input[type="reset"], input[type="submit"] { -webkit-transition: all 0.5s ease-in-out 0s; -moz-transition: all 0.5s ease-in-out 0s; -ms-transition: all 0.5s ease-in-out 0s; -o-transition: all 0.5s ease-in-out 0s; transition: all 0.5s ease-in-out 0s; }

/* ------------------------
Pre Loader
------------------------*/
#ht-preloader { background: var(--themeht-bg-dark-color); bottom: 0; height: 100%; left: 0; overflow: hidden !important; position: fixed; right: 0; text-align: center; top: 0; width: 100%; z-index: 99999; display: flex;  justify-content: center; align-items: center; }
.loader span { animation: loader-rotate 2s infinite; height: 50px; width: 50px; }
.loader span:before, .loader span:after { border-radius: 50%; content: ''; display: block; height: 20px; width: 20px; }
.loader span:before { animation: ball1 2s infinite; background-color: var(--themeht-primary-color); box-shadow: 30px 0 0 var(--themeht-primary-color); margin-bottom: 10px; }
.loader span:after { animation: ball2 2s infinite; background-color: var(--themeht-primary-color); box-shadow: 30px 0 0 var(--themeht-primary-color); }

@keyframes loader-rotate {
  0% { 
    -webkit-transform: rotate(0deg) scale(0.8); 
    -moz-transform: rotate(0deg) scale(0.8);
  }
  50% { 
    -webkit-transform: rotate(360deg) scale(1.2); 
    -moz-transform: rotate(360deg) scale(1.2);
  }
  100% { 
    -webkit-transform: rotate(720deg) scale(0.8); 
    -moz-transform: rotate(720deg) scale(0.8);
  }
}

@keyframes ball1 {
  0% {
    box-shadow: 30px 0 0 var(--themeht-primary-color);
  }
  50% {
    box-shadow: 0 0 0 var(--themeht-primary-color) ;
    margin-bottom: 0;
    -webkit-transform: translate(15px,15px);
    -moz-transform: translate(15px, 15px);
  }
  100% {
    box-shadow: 30px 0 0 var(--themeht-primary-color) ;
    margin-bottom: 10px;
  }
}

@keyframes ball2 {
  0% {
    box-shadow: 30px 0 0 var(--themeht-primary-color) ;
  }
  50% {
    box-shadow: 0 0 0 var(--themeht-primary-color);
    margin-top: -20px;
    -webkit-transform: translate(15px,15px);
    -moz-transform: translate(15px, 15px);
  }
  100% {
    box-shadow: 30px 0 0 var(--themeht-primary-color);
    margin-top: 0;
  }
}

/* ------------------------
  Scroll to Top
------------------------*/
.scroll-top { position: fixed; bottom: 10px; right: 10px; z-index: 600; opacity: 0; visibility: hidden; -webkit-transition: all 0.8s ease-in-out; transition: all 0.8s ease-in-out; }
.scroll-top a, .scroll-top a:visited { box-shadow: 0 10px 30px 5px rgb(115 113 255 / 6%); border-radius: 50%; background-color: var(--themeht-white-color); padding: 10px; font-size: 30px; font-weight: 600; color: var(--themeht-primary-color); display: block; }
.scroll-top a:hover, .scroll-top a:focus { background-color: var(--themeht-primary-color); color: var(--themeht-white-color); }
.scroll-top.scroll-visible { opacity: 1; visibility: visible; }

/* ------------------------
  Header
------------------------*/

/*--Header top--*/
.topbar-link a, .topbar-link{color: var(--themeht-white-color);}
.topbar-link i{margin-right: 5px; color: var(--themeht-primary-color); font-size: 20px; vertical-align: middle;}
.topbar-link a:hover{color: var(--themeht-primary-color)}
.header-top {line-height: 35px; background-color: var(--themeht-bg-dark-color);}
.header-top ul{margin: 0;}
.header-top li {display: inline-block; border-right: 1px solid rgba(255,255,255,0.2); margin: 0; padding: 0 20px; font-size: 13px;}
.header-top .social-icons li{margin: 0;}
.header-top .social-icons li a{color: var(--themeht-white-color); height: 35px; line-height: 35px;}


#header-wrap { position: relative; z-index: 999; padding: 20px 0; }
.admin-bar #header-wrap.fixed-header { top: 30px; }


#header-wrap.fixed-header {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    background-color: var(--themeht-white-color);
    -ms-animation-name: smoothScroll;
    -moz-animation-name: smoothScroll;
    -op-animation-name: smoothScroll;
    -webkit-animation-name: smoothScroll;
    animation-name: smoothScroll;
    -ms-animation-duration: 500ms;
    -moz-animation-duration: 500ms;
    -op-animation-duration: 500ms;
    -webkit-animation-duration: 500ms;
    animation-duration: 500ms;
    -ms-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -op-animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -ms-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -op-animation-iteration-count: 1;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    box-shadow: 0 10px 30px 5px rgb(115 113 255 / 6%);
}

@-webkit-keyframes smoothScroll {
            0% {
               opacity: 0;
               -webkit-transform: translateY(-20px);
            }
            100% {
               opacity: 1;
               -webkit-transform: translateY(0);
            }
         }
         
         @keyframes smoothScroll {
            0% {
               opacity: 0;
               transform: translateY(-20px);
            }
            100% {
               opacity: 1;
               transform: translateY(0);
            }
         }

.header-number{margin-right: 20px;}
.header-right{margin-left: 30px;}
.header-number i{font-size: 24px; color: var(--themeht-text-color); background: var(--themeht-primary-color); width: 40px; height: 40px; display: inline-block; border-radius: 50%; text-align: center; line-height: 40px;}

/*--navigation--*/
.logo img { max-height: 80px; }
.ht-navigation { flex-wrap: nowrap; justify-content: flex-start; position: relative; display: flex; align-items: center; }
.navigation-top { margin-left: 30px; margin-right: auto; }
@media (min-width:1200px) {
    .main-nav .menu { flex-direction: row; display: flex; margin: 0; padding: 0; }
}
.main-nav li { position: relative; list-style-type: none; }
.main-nav > ul > li { margin: 0 15px; }
.main-nav > ul > li > a { color: var(--themeht-text-color); border-radius: 0; position: relative; font-size: 16px; font-weight: 500; font-family: var(--themeht-typography-secondary-font-family); }
.main-nav > ul > li > .sub-menu-toggle { display: none; }
.main-nav ul.sub-menu { opacity: 0; visibility: hidden; position: absolute; top: 110%; left: 0; z-index: 99999; background: var(--themeht-bg-dark-color); box-shadow: 0 0.5rem 1rem rgb(42 39 94 / 6%); border-radius: 20px; padding: 20px; border: none; margin: 0; -webkit-transition: all 0.5s ease-in-out 0s; -moz-transition: all 0.5s ease-in-out 0s; -ms-transition: all 0.5s ease-in-out 0s; -o-transition: all 0.5s ease-in-out 0s; transition: all 0.5s ease-in-out 0s; }
@media (min-width:1200px) {
    .main-nav ul li:hover > ul.sub-menu { top: 100%; opacity: 1; visibility: visible; }
    .main-nav ul.sub-menu li:hover ul.sub-menu { top: 0; }
    .main-nav > ul > li.menu-item-has-children > a::after { border: solid var(--themeht-body-color); border-width: 0 2px 2px 0; width: 0.425rem; height: 0.425rem; transform: rotate(45deg); -webkit-transform: rotate(45deg); vertical-align: 0.15em; margin-left: 5px; display: inline-block; content: ""; }
}
.main-nav ul.sub-menu li ul { left: 100% !important; top: 0; }
.main-nav .sub-menu li a { display: inline-block; width: 100%; padding: 5px 0; color: var(--themeht-white-color); }
.sub-menu-toggle { display: block; position: absolute; right: 20px; top: 20px; cursor: pointer; color: var(--themeht-text-color); font-size: 14px; line-height: 14px; }
@media (min-width:992px) {
    .main-nav > ul > li > a:hover, .main-nav > ul > li.current-menu-item > a, .main-nav > ul > li.current-menu-parent > a { color: var(--themeht-secondary-color); }
    .main-nav > ul > li.menu-item-has-children > a:hover::after, .main-nav > ul > li.menu-item-has-children.current-menu-parent > a::after { border: solid var(--themeht-secondary-color); border-width: 0 2px 2px 0; }
    .main-nav > ul > li > a::before { content: ""; width: 0px; height: 1px; bottom: 0px; position: absolute; left: auto; right: 0px; z-index: 1; transition: width 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) 0s; background: var(--themeht-primary-color); }
    .main-nav > ul > li > a:hover:before, .main-nav > ul > li.current-menu-item > a:before, .main-nav > ul > li.current-menu-parent > a:before { width: 100%; left: 0px; right: auto; }
    .main-nav ul.sub-menu { min-width: 14em !important; max-width: 20em !important; }
    .main-nav .sub-menu li a:hover, .main-nav ul li .sub-menu li.current-menu-item > a { padding-left: 10px; color: var(--themeht-primary-color); }
    .main-nav .sub-menu li:hover .sub-menu-toggle, .main-nav ul li .sub-menu li.current-menu-item .sub-menu-toggle { color: var(--themeht-white-color); }
}
.ht-mobile-menu-bg { display: none; }
.nav-menu-toggle { box-shadow: none; border: none; background: none; padding: 0; font-size: 40px; line-height: 1; display: none; }
.closepanel { display: none; }
@media (max-width:1200px) {
    .right-nav { margin-left: 20px; }
    .sub-menu-toggle { top: 26px; }
    .main-nav .menu { padding-left: 0; padding-top: 80px; }
    .admin-bar .main-nav .menu { padding-top: 120px; }
    .closepanel { position: absolute; right: 30px; top: 30px; }
    .admin-bar .closepanel { top: 80px; }
    .nav-menu-toggle, .ht-mobile-menu-bg, .closepanel { display: block; }
    .main-nav > ul > li > .sub-menu-toggle { display: block; }
    .main-nav > ul > li { border-bottom: 1px solid #eeeeee; margin: 0; }
    .main-nav > ul > li > a { padding: 20px; display: inline-block; }
    .main-nav ul.sub-menu { position: static; display: none !important; box-shadow: none; border-radius: 0; padding: 0; border: none; }
    .main-nav .sub-menu li { border-bottom: none; }
    .main-nav .sub-menu li a { padding: 15px 0; }
    .main-nav ul.sub-menu.show { display: block !important; width: auto; margin-left: 0; padding-left: 3rem; visibility: visible; opacity: 1; }
    .main-nav ul.sub-menu ul.sub-menu.show { padding-left: 1rem; }
    .main-nav .sub-menu .sub-menu-toggle { right: 0; top: 7px; font-size: 14px; }
    .main-nav { background-color: var(--themeht-white-color); position: fixed; top: 0; right: -400px; z-index: 1000; width: 300px; height: 100%; padding: 0; display: block; transition: all 900ms ease; -moz-transition: all 900ms ease; -webkit-transition: all 900ms ease; -ms-transition: all 900ms ease; -o-transition: all 900ms ease; -webkit-transform: translateX(400px); -ms-transform: translateX(400px); transform: translateX(400px); opacity: 0; }
    .main-nav.menu-active { right: 0px; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); visibility: visible; opacity: 1; overflow-y: scroll; -webkit-transition-delay: 600ms; -moz-transition-delay: 600ms; -ms-transition-delay: 600ms; -o-transition-delay: 600ms; transition-delay: 600ms; opacity: 1; }
    .ht-mobile-menu-bg { display: block; }
    .ht-mobile-menu-bg { position: fixed; right: 0; top: 0; width: 0%; height: 100%; z-index: 99; opacity: 0.8; background: var(--themeht-bg-dark-color); -webkit-transform: translateX(101%); -ms-transform: translateX(101%); transform: translateX(101%); transition: all 900ms ease; -moz-transition: all 900ms ease; -webkit-transition: all 900ms ease; -ms-transition: all 900ms ease; -o-transition: all 900ms ease; -webkit-transition-delay: 300ms; -moz-transition-delay: 300ms; -ms-transition-delay: 300ms; -o-transition-delay: 300ms; transition-delay: 300ms; }
    .menu-active .ht-mobile-menu-bg { width: 100%; visibility: visible; transition: all 900ms ease; -moz-transition: all 900ms ease; -webkit-transition: all 900ms ease; -ms-transition: all 900ms ease; -o-transition: all 900ms ease; -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); }
}

/* ------------------------
Footer
------------------------*/
.site-footer { overflow-x: hidden; clear: both; }
.footer-top{padding: 80px 0 40px; background-color: var(--themeht-bg-dark-color);}
.site-footer a, .site-footer p, .footer-widget .widget-title { color: var(--themeht-white-color); }
.footer-widget.widget ul { margin-left: 0; padding-left: 0; margin-bottom: 0; }
.footer-widget.widget ul li { list-style-type: none; margin-bottom: 15px; }
.theme-social li a { width: 40px; height: 40px; text-align: center; font-size: 20px; border-radius: 10px; display: inline-block; line-height: 40px; }
.theme-social li a:hover { color: var(--themeht-text-color); background-color: var(--themeht-primary-color); border-color: var(--themeht-primary-color) !important; }
.site-footer .widget-title { margin-bottom: 30px; }
.footer-cntct .media-icon li { margin-bottom: 30px !important; display: flex; align-items: center; }
.footer-cntct .media-icon li:last-child { margin-bottom: 0 !important; }
.footer-cntct .media-icon li i { font-size: 30px; line-height: 1; color: var(--themeht-primary-color); margin-right: 15px; }
.footer-widget .widget-title { position: relative; padding-left: 40px; display: inline-block; }
.footer-widget .widget-title:before { font-family: 'Line Awesome Free'; content: "\f621"; font-size: 35px; line-height: 1; font-weight: 900; color: var(--themeht-primary-color); top: 0; position: absolute; left: 0; width: 35px; height: 35px; animation-name: spin; animation-duration: 5000ms; animation-iteration-count: infinite; animation-timing-function: linear; }
.footer-copyright{font-weight: 600; color: var(--themeht-text-color);}