/*
Theme Name: TOPS Theme
Author: Olin Meusling and Thales Menato
Author URI: http://omeusling.com
Description: Custom Wordpress Theme for TOPS Software.
Version: 1.0
*/

/*--------------------------------------*\
	COLOR LIBRARY
\*--------------------------------------*/
/*--------------------------------------*\
	blue:  #0376BC
  yellow: #FFB507
\*--------------------------------------*/

/*--------------------------------------*\
	BASIC DEFINITIONS
\*--------------------------------------*/

html{
  overflow-x: hidden;
}

html, body {
    margin:0;
    padding:0;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    scroll-behavior: smooth;
}

main {
    background-color: white;
}

@media (min-width: 1200px) {
    .container{
        max-width: 1366px;
    }
}

/*--------------------------------------*\
	GENERAL ELEMENTS
\*--------------------------------------*/

blockquote{
	color: #666666;
	border-left: 5px solid #FFB507;
	font-size: 20px;
	font-style: italic;
	margin: 0 0 1rem 25px;
	padding-left: 25px;
}

a:link, a:visited{
  color:#0376BC;
  transition: color .25s ease-out;
}

a:hover, a:active{
  color:#FFB507;
}

/*--------------------------------------*\
	TEXT ELEMENTS
\*--------------------------------------*/

h1{
  color: #FFF;
}

h2, h3, h4, h5, h6{
  color: #0376BC;
}

h2{
  font-size: 36px;
}

h3{
  font-size:28px;
}

h4 {
  font-size: 20px;
}

.text-white {
    color: #FFF;
}
.text-yellow {
    color: #FFB507;
}
.text-blue {
    color: #0376BC;
}
.phone-number {
  color: #0076BD;
  font-size: 130%;
}

p.bold-feat {
  font-weight: 700;
}
/*--------------------------------------*\
	PAGE ELEMENTS
\*--------------------------------------*/

.yellow-border-bottom {
    border-bottom: 20px solid #FFB507;
    border-radius: 0 0;
}
.yellow-border-top {
    border-top: 20px solid #FFB507;
    border-radius: 0 0;
}
.gray-border-bottom {
    border-bottom: 2px solid #c5c5c5;
    border-radius: 0 0;
    margin-top:20px;
    padding-top: 50px;
}
.blue-border {
    border: 3px solid #0376BC;
}

.feature-circle-img{
  background-color:#FFF;
  border-radius: 50%;
  border: 10px solid #FFF;
}

.list-group.borderless .list-group-item{
  background-color:transparent;
  border:none;
}

/*--------------------------------------*\
	BUTTON / LINK ELEMENTS
\*--------------------------------------*/

.link-yellow a {
    color: #FFB507;
}
.link-black a {
    color: black;
    text-decoration-line: underline;
}

.btn{
  font-size:20px;
}

.btn-sm{
  font-size:16px;
}

a.btn-primary,
button.btn-primary,
.btn-primary:link,
.btn-primary:visited {
    background-color: #FFB507;
    border-color: #FFB507;
    color:#FFF !important;
    transition: all .25s ease-out;
    text-transform: uppercase;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: #DD9300;
    border-color: #DD9300;
    text-transform: uppercase;
}

/*--------------------------------------*\
	NAV BAR
\*--------------------------------------*/

/* .menu{
  display: inline-block;
  padding-left: 0;
  position:relative;
  margin-bottom: 0;
  list-style: none;
}

.menu-item {
  display: inline-block;
  margin-left: 16px;
  position:relative;
}

.menu-item:hover > .sub-menu {
  display:block;
  opacity: 1;
  visibility: visible;
}

.sub-menu{
  display: none;
  background-color: #FFF;
  border-radius: 4px;
  box-shadow: 0 3px 7px rgba(0,0,0,0.2);
  list-style: none;
  margin: 5px 0 0 0;
  opacity:0;
  padding:5px 0;
  position:absolute;
  transition: all 0.5s ease;
  visibility: hidden;
  width: 200px;
}

.sub-menu > .menu-item{
  display:block;
  margin-left:0;
}

.sub-menu a{
  display:block;
  border-bottom:1px solid #CCC;
  font-size: 16px;
  padding:10px;
}

.sub-menu a:hover{
  background-color:#EEE;
}

.sub-menu > a:last-child{
  border-bottom:none;
} */


.nav-bar-white ul.menu {
  background: #FFF;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.nav-bar-white ul.menu li {
  display: block;
  float: left;
  padding: 1rem;
  position: relative;
  text-decoration: none;
  transition-duration: 0.5s;
}

.nav-bar-white ul.menu li:hover,
.nav-bar-white ul.menu li:focus-within {
  cursor: pointer;
}

.nav-bar-white ul.menu li:focus-within a {
  outline: none;
}


/* SUB MENU */

.nav-bar-white ul.menu li ul {
  background: #FFFFFF;
  border-radius: 4px;
  box-shadow: 0px 4px 7px rgba(0,0,0,0.2);
  display: none;
  visibility: hidden;
  left: 0;
  margin-top: 1rem;
  min-width: 5rem;
  opacity: 0;
  padding:0;
  position: absolute;
  transition: all 0.5s ease;
  width:200px;
}

.nav-bar-white ul.menu li:hover > ul,
.nav-bar-white ul.menu li:focus-within > ul,
.nav-bar-white ul.menu li ul:hover,
.nav-bar-white ul.menu li ul:focus {
  display: block;
  opacity: 1;
  visibility: visible;
}

.nav-bar-white ul.menu li ul li {
  border-bottom:1px solid #EEE;
  clear: both;
  font-size:14px;
  padding: .5rem 1rem;
  width: 100%;
}

.nav-bar-white ul.menu li ul li a{
  font-size: 14px;
}

.nav-bar-white ul.menu li ul li:last-child {
  border:none;
}

.nav-bar-white ul.menu li ul li:hover{
  background-color:#EEE;  
}


#nav-bar {
  position:sticky;
  left: 0;
  top:0;
}

#nav-bar .nav-bar-blue{
  background-color: #0376BC;
  color:#FFF;
  font-size:20px;
  text-transform:uppercase;
  transition: all .25s ease-out;
}

#nav-bar .nav-bar-blue a{
  color:#FFF;
}

#nav-bar .nav-bar-white{
  background-color: #FFF;
  box-shadow: none;
  color:#333;
  font-size:20px;
  padding: 0;
  text-transform:uppercase;
  transition: all .5s ease-out;
}

#nav-bar .nav-bar-white a:link,
#nav-bar .nav-bar-white a:visited{
  color:#333;
  text-decoration:none;
  text-transform:uppercase;
  transition: color .25s ease-out;
}

#nav-bar .nav-bar-white a:hover,
#nav-bar .nav-bar-white a:active{
  color:#0376BC;
  text-decoration:none;
}

#nav-bar .nav-bar-white .navbar-brand img{
  height:125px;
  transition: height .25s ease-out;
}

.logo-main {
    width: 50px;
}

/* when scrolled */
#nav-bar .nav-bar-blue.scrolled{
  font-size:14px;
}

/* when scrolled */
#nav-bar .nav-bar-white.scrolled{
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  font-size:18px;
}

#nav-bar .nav-bar-white.scrolled .navbar{
  padding:0;
}

#nav-bar .nav-bar-white.scrolled .navbar-brand img{
  height:75px;
}

#search-form.hidden{
  display:none !important;
}

.search-toggle{
  cursor: pointer !important;
}

@media screen and (max-width: 768px){
  #nav-bar .nav-bar-blue{
    font-size:14px;
  }

  /* when scrolled */
  #nav-bar .nav-bar-white{
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    font-size:18px;
  }

  #nav-bar .nav-bar-white .navbar{
    padding:0;
  }

  #nav-bar .nav-bar-white .navbar-brand img{
    height:75px;
  }


  ul.menu li{
    float:none;
  }

  ul li:hover ul{
    display:none !important;
  }

}

/*--------------------------------------*\
	FOOTER
\*--------------------------------------*/

#footer, .footer {
    background-color:#222 !important;
    color: #fff;
}

#footer ul.menu{
  margin:0 !important;
  padding:0 !important;
  list-style-type: none !important;
}

#footer a, .footer a {
    color: #fff;
    text-decoration: underline;
}

#footer h2{
  color: #FFF;
    font-size: 20px;
  text-transform: uppercase;
}

/*--------------------------------------*\
	LANDING PAGE
\*--------------------------------------*/
#tops-hero {
    padding-right: 0;
    background: #0376BC center center no-repeat;
    background-size: cover;
}

#tops-hero .img-overlap{
    margin-bottom:-150px;
}

#tops-hero h1, #tops-hero h2{
  color:#FFF;
}

/*--------------------------------------*\
	SQUARED SECTION and HEADER SECTION
\*--------------------------------------*/

.normal-header-spacing{
  margin-bottom: 100px;
}

.large-header-spacing{
  margin-bottom: 120px;
}

.bg-houses{
  background-position: center 30%;
  background-size: cover;
}

.bg-feature{
  background-position: center;
  background-size: cover;
}

.squared-section {
    background-color: #0376af;
    background-position: 50% 0;
    background-repeat: no-repeat
}

.h-280-px {
   height: 280px;
}

.squared-section h2,
.squared-section h3,
.squared-section-content h2,
.squared-section-content h3,
.squared-section-content p{
  color:#FFF;
}

.squared-section-content{
  margin-top:-300px; /* box height plus yellow border */
  z-index: 1000;
}

.squared-section-padding-bottom{
  padding-bottom:20px;
}

#section-featured {
    background-color: #E6E6E6;
    color: #666666;
}

#section-featured img {
    -webkit-filter: grayscale(100%) brightness(80%) contrast(100%);
    opacity: .3;
}

#section-featured span {
    font-size: 22px;
}

.blue-bg {
    background-color: #0376af;
}
.blue-bg-gradient {
    background-image: linear-gradient(to right, rgba(3,118,176,1) 85%, rgba(3,118,176,0.8));
}

@media (max-width: 767px) {
  .squared-section-padding-bottom{
    padding-bottom:0;
  }

    .squared-section-content{
      background: #0376BC url(images/background-houses.jpg) center center no-repeat;
      background-size: cover;
      margin-top:0;
      z-index: 1000;
    }

    .h-280-px{
      height: auto !important;
    }
}


.feature-left-facing-img {
    background-image: url(images/left-facing-feature.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: right;
    background-size: 55%;
}

.feature-right-facing-img {
    background-image: url(images/right-facing-feature.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: left;
    background-size: 55%;
    }

.show-bg-mobile{
    background: none;
}

@media (max-width: 767px) {
    .feature-left-facing-img {
        background-image: none;
    }
    .feature-left-facing-img img {
        margin-bottom: 2rem;
    }
    .feature-left-facing-img a {
        margin-bottom: 2rem;
    }
    .feature-right-facing-img {
        background-image: none;
    }
    .feature-right-facing-img img {
        margin-bottom: 2rem;
    }
    .feature-right-facing-img a {
        margin-bottom: 2rem;
    }

     .show-bg-mobile {
       background: #0376BC url(images/left-facing-feature.png) center center no-repeat;
       background-size: cover;
     }
}

/*--------------------------------------*\
	LEADERSHIP
\*--------------------------------------*/
a.leadership{
  text-decoration:none;
}

.leadership-img{
  border-radius: 50%;
  border:10px solid #EEE;
  height:200px;
  margin-bottom:10px;
  transition: border-color .25s ease;
  width:200;
}

a.leadership:hover .leadership-img{
  border-radius: 50%;
  border-color: #FFB507;
}


/*--------------------------------------*\
	TESTIMONIALS
\*--------------------------------------*/
 /*heateor_sss_horizontal_sharing*/
.quote-decoration {
    height: 5px;
    text-align: center;
    background: #CCC;
    margin: 0 0 20px 0;
}

.quote-decoration span{
  background-color: #FFF;
  color: #666666;
  display: block;
  font-size: 100px;
  font-weight: bold;
  line-height: 50px;
  margin: 0px auto 0px auto;
  text-align: center;
  width: 70px;
}

.testimonial-text{
  color:#333;
  font-size:30px;
  font-weight:normal;
}

.testimonial-info{
  color:#0376BC;
  font-size:16px;
}
.testimonial-img{
  width:250px;
}

/*--------------------------------------*\
  BLOG SECTION
\*--------------------------------------*/
.sticky-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 15%;
}

.social-media-bar a:link,
.social-media-bar a:visited {
  color:#FFF;
  text-decoration: none;
}

.social-media-bar a:hover,
.social-media-bar a:active {
  color:#FFB507;
}

.blog-social-media-text {
    font-size: 14px;
}

.blog-header {
    background-size: 130%;
    background-position: center;
}

.related-article {
  font-size:20px;
  text-decoration: none !important;
}

.related-article-img{
  background: center center no-repeat;
  background-size:100%;
  height: 150px;
  margin:0 0 10px 0;
  width:auto;
  transition: background-size .25s ease-out;
  -moz-transition: background-size .25s ease-out;
  -ms-transition: background-size .25s ease-out;
  -o-transition: background-size .25s ease-out;
  -webkit-transition: background-size .25s ease-out;
}

.related-article:hover .related-article-img{
  background-size: 110%;
}

/* PREVIOUS / NEXT */
.pagination{
  font-size:18px;
  font-weight:400;
  text-transform: uppercase;
}

.pagination a{
  display:block;
  text-decoration:none;
}

.prev-btn a img{
  margin-top:-2px;
  margin-left:10px;
  margin-right:10px;
  transition: margin-left .25s ease-in, margin-right .25s ease-out .1s;
}
.prev-btn a:hover img{
  margin-left:0px;
  margin-right:5px;
}

.next-btn a img{
  margin-top:-2px;
  margin-right:10px;
  margin-left:10px;
  transition: margin-right .25s ease-out, margin-left .25s ease-in .1s;
}
.next-btn a:hover img{
  margin-right:0px;
  margin-left:5px;
}

/*--------------------------------------*\
	BLOG IMAGE ALIGNMENT
\*--------------------------------------*/

.alignleft {
  float:left;
  margin: 0 20px 20px 0;
}

.alignright {
  float:right;
  margin: 0 0 20px 20px;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

/* About */
.modal-about {
  background-color: transparent;
  border-color: transparent;
}
.modal-xl {
  max-width: 1336px;
}
.modal-backdrop.show {
  background-color: #0376af;
  opacity: 0.95;
}
/* Archive(s) */
.post-featured {
  background-size: cover;
  background-position: center;
}

/* Event */
h1.event,
h2.event,
h3.event,
h4.event,
h5.event,
h6.event {
  color: #0376BC;
}

.event-header {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/** Gravity Forms */

.gsection_title{
  border-bottom:1px solid #CCC;
  margin-bottom: 10px !important;
}

.gform_wrapper form {
  margin-bottom: 0;
}

.gform_wrapper ul {
  @extend .list-unstyled;
}

.gform_wrapper li {
  @extend .form-group;
}

.gform_wrapper .gfield_required {
  padding-left: 1px;
  color: $danger;
}

.gform_wrapper input[type="email"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="datetime"],
.gform_wrapper input[type="datetime-local"],
.gform_wrapper input[type="month"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="text"],
.gform_wrapper input[type="time"],
.gform_wrapper input[type="week"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea {
  @extend .form-control;
  width: 100%;
  border-radius: 0.5rem;
padding: 6px 10px;
margin-bottom: 20px;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}

.gform_heading {
  display: hidden;
}

body .gform_wrapper .gform_body .gfield_label {
    color: #0376BC;
    list-style-type: none;
}

body .gform_wrapper form .gform_body ul,
body .gform_wrapper form .gform_body ul li {
     list-style-type: none !important;
     list-style-image: none !important;
     list-style: none !important;
     background-image: none !important;
     background: none !important;
     padding: 0px !important;
     margin: 0 !important;
     border: none !important
}
body .gform_wrapper form .gform_body ul > li:before {
     content: "";
}

body #gform_wrapper_2 .gform_footer input[type=submit][type=submit] {
    /*float: right;*/
    display: inline-block;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    background-color: #FFB507;
    border-color: #FFB507;
}

body .gform_wrapper .gform_footer input[type=submit]{
    float: left;
    display: inline-block;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    background-color: #FFB507;
    border-color: #FFB507;
}

.gform_wrapper .gfield_error {
  .gfield_label {
    @extend .alert-danger;
  }

  body .gform_wrapper h3.gform_title {
      display: none !important;
  }

  input,
  select,
  textarea {
    @extend .alert-danger;
  }
}


.validation_message {
  display: none;
}

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper li.gfield_error textarea{
  border: 2px solid #FFB507 !important;
}

.gform_wrapper div.validation_error {
    background-color:#FFB507;
    border-radius: 4px;
    border: none !important;
    color: #FFF !important;
    font-size: 1em;
    font-weight: 700;
    margin-bottom: 25px;
    padding: 10px;
    clear: both;
    width: 100%;
    text-align: center;
}

.gform_wrapper .gfield_required {
    color: #FFB507 !important;
}
/*--------------------------------------*\
  YOUTUBE VIDEO IFRAMES
\*--------------------------------------*/

.video-container{
  position: relative;
    overflow: hidden;
    padding: 56.25% 10px 0 10px;
}

.video-container iframe{
  position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/*--------------------------------------*\
	FORM SECTIONS
\*--------------------------------------*/

/* Newsletter signup */
.newsletter-signup{
  background:#0376BC url(images/background-newsletter-signup.jpg) center center no-repeat;
  background-size: cover;
  color:#FFF;
  padding:10px 20px 40px 20px;
}

.newsletter-signup h3{
  color:#FFF;
  font-size:20px;
  text-transform: uppercase;
}

.newsletter-signup a{
  color:#FFF;
}

.newsletter-signup .gform_button {
  width: 100% !important;
  text-transform: uppercase;
}

/* Downloads */
.download {
  background:#0376BC url(images/background-newsletter-signup.jpg) center center no-repeat;
  background-size: cover;
  color:#FFF;
  margin: 20px 0;
  padding:20px 30px 40px 30px;
}

.download  h2 {
color:#FFF !important;
  font-weight:bold;
}

.download  a,
.download .gfield_label {
  color:#FFF !important;
}

.download .gform_button {
  width: 100% !important;
  text-transform: uppercase;
}


/* UPDATED PRICING TABLE */
.price-compare{
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  margin: 1rem;
}

.price-column{
  background-color: #0376af;
    border-radius: 1rem;
    color: #FFFFFF;
    display: flex;
    flex-flow: column nowrap;
    margin: 5px;
    padding: 40px 20px 20px 20px;
    position:relative;
}

.price-column.featured{
  margin: -1.5rem 5px;
}

.price-column h3{
  color:#FFF;
}

.price-column .list-group{
  margin: 15px 0;
}

.price-column .list-group-item{
  padding: 0 1.25rem;
}

/* remove unwanted <p> tags that WP adds in */
.price-column p{
  display:none;
}

.price-title{
  position:relative;
}

.ribbon{
  position: absolute;
  top: -42px;
  right: -20px;
  width: 200px;
  z-index: 100;
  margin-bottom: -60px;
}

.push-to-bottom{
  margin-top: auto;
}

.not-included {
  color:#999;
}
.included {
  color: #FFB507;
}

@media (max-width: 767px) {
  
  .price-compare{
    flex-flow: column nowrap;
  }

  .price-column.featured{
    margin: 5px;
  }
}

/* OLD Pricing Table */
section.pricing {
  background: #007bff;
  background: linear-gradient(to right, #0062E6, #33AEFF);
}

.pricing .card {
  border: none;
  border-radius: 1rem;
  transition: all 0.2s;
  box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1);
}

.pricing hr {
  margin: 1.5rem 0;
}

.pricing .card-title {
  margin: 0.5rem 0;
  font-size: 0.9rem;
  letter-spacing: .1rem;
  font-weight: bold;
  min-height:180px;
}

.pricing .list-group{
  font-size:24px;
}

@media screen and (max-width: 768px){
  .pricing .card-title {
    min-height:auto;
  }

  .pricing .list-group-item{
    padding: 0 0 15px 0;
  }
}

.pricing .card-price {
  font-size: 3rem;
  margin: 0;
}

.pricing .card-price .period {
  font-size: 0.8rem;
}

.pricing .text-muted {
  opacity: 0.7;
}

.pricing .btn {
  font-size: 80%;
  border-radius: 5rem;
  letter-spacing: .1rem;
  font-weight: bold;
  padding: 1rem;
  opacity: 0.7;
  transition: all 0.2s;
}

/* Hover Effects on Card */

@media (min-width: 992px) {
  .pricing .card:hover {
    margin-top: -.25rem;
    margin-bottom: .25rem;
    box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.3);
  }
  .pricing .card:hover .btn {
    opacity: 1;
  }
}

/* Hover Effects on Card */

/* @media (min-width: 992px) {
  .price-column:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    z-index: 300;
  }
  .price-column:hover .btn {
    opacity: 1;
  }
} */

/*--------------------------------------*\
	ANIMATIONS
\*--------------------------------------*/

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fader {
    -webkit-animation: fade-in 1s ease;
    -moz-animation: fade-in 1s ease;
    -o-animation: fade-in 1s ease;
    animation: fade-in 1s ease;
}

/* AddToAny Share Buttons */
.addtoany_share_save_container {
  display: flow-root;
  border-bottom: 2px solid #c5c5c5;
}
.addtoany_header {
  float: left;
  text-transform: uppercase;
  font-weight: bold;
  margin-left: 50px;
  font-size: 18px;
}
.a2a_kit {
  float: right;
}
