/*FaHT Styles*/

/*header text centered horizontally and vertically*/
.internal-banner--title {
    padding-top: 0;

}

/* makes header text have a black background */
.internal-banner--title {
    width: 100%;
    background: #070707a6;
    padding: 40px;
}


header.internal-banner.banner {
    display: flex;
    justify-content: center;
    align-items: center;
}

header h1 {
    text-shadow: 2px 2px 2px black;
	padding: 0 10px;
}

.ie .banner h1 {
	padding-top: 100px;
}
/*mobile banner image and text styles*/
@media (max-width: 480px) {
	/*font smaller on banner on phones*/
	.internal-banner--title h1 {
		font-size: 2.1em;
	}	
/*make smart home page banner image shift over on mobile*/	
	.page-id-266 header.internal-banner.banner {
		background-position: 30% 50%;
	}
}


@media (max-width: 767px) {
  .home .homepage-banner #banner-video {
    display: none;
  }
}

@media (max-width: 500px) {
  .home .homepage-banner .container .banner--more {
    display: none;
  }
}

@media (max-height: 670px) {
  .home .homepage-banner .container .banner--more {
    display: none;
  }
}

.home section.buildings .buildings--residential, .home section.buildings .buildings--commercial, .home section.buildings .buildings--theater {
  min-height: 220px;
}

@media (max-width: 770px) {
  .home section.buildings .buildings--residential, .home section.buildings .buildings--commercial, .home section.buildings .buildings--theater {
    margin: 0 auto 16%;
  }
}

@media (max-width: 767px) {
  .home section.buildings .fa-home {
    font-size: 200px !important;
  }
}

.home section.buildings .fa-building {
  left: 6px;
}

@media (max-width: 767px) {
  .home section.buildings .fa-building, .home section.buildings .fa-film {
    font-size: 170px !important;
  }
}

.home section.buildings h3.desc {
  position: absolute;
  bottom: -15px;
  margin: 0 auto;
  left: 0;
  right: 0;
  color: white;
  text-transform: none;
  padding: 0 10%;
  height: 64px;
}

@media (min-width: 770px) {
  .home section.buildings h3.desc {
    bottom: -30px;
    font-size: 18px;
  }
}

.main-nav {
  background-color: #fefefe;
  height: auto;
  width: 100%;
  min-height: 73px;
}

.main-nav nav ul#menu-primary-navigation {
  padding-bottom: 10px;
}

  .main-nav nav ul#menu-primary-navigation {
    padding-left: 12em; 
    padding-right: 12em;
  }

@media (max-width: 930px) {
  .main-nav nav ul#menu-primary-navigation {
    padding-bottom: 15px;
  }
}

.main-nav nav li {
  border-bottom: 1px solid rgba(2, 2, 2, 0.04);
}

/*new nav changes that make the nav have a drop down functionality*/
.main-nav--nav li {
    display: block;
    float: left;
    position: relative;
}

.main-nav--nav ul {
    padding-top: 10px;
    text-align: left;
}

/*makes top level of nav menu centered*/
ul#menu-primary-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

li.menu-item-has-children:hover , 
li.menu-item-has-children:active {
    z-index: 10000;
    white-space: normal; 
	background: white;
}

li.menu-item-has-children:hover>ul ,
li.menu-item-has-children:active>ul {
    visibility: visible !important;
    top: 100%; 
}

ul.sub-menu {
    visibility: hidden;
    background: white;
	position: absolute;
}

.sub-menu li {
    float: none;
}

/*makes dropdown text be the right width. each link is on one line.*/
.main-nav .main-nav--nav a {
    white-space: nowrap;
} 


/*mobile nav styles*/



@media (max-width:645px) {
ul#menu-primary-navigation {
    display: block;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    background: white;
}
   
ul.sub-menu {
	position: relative;
}	

.mobile-nav--nav ul.sub-menu li {
    display: block;
    text-align: center;
}

}


.mobile-nav--nav ul.sub-menu {
	display: none;
}

.mobile-nav--nav li:active ul.sub-menu, .mobile-nav--nav li:focus ul.sub-menu {
    display: block;
}

.mobile-nav--nav ul.sub-menu li {
    display: block;
    text-align: center;
}

/*makes mobile nav links be left aligned and submenu be indented*/
.mobile-nav--nav a {
    text-align: left;
}

.mobile-nav--nav .sub-menu
 a {
    padding-left: 25px;
}


/*desktop nav*/

.main-nav .cta-button .phone {
  right: 1%;
  top: 10px;
  position: absolute;
  font-size: 1.1em;
  padding: 1.08em 1em;
  color: white;
  text-decoration: none;
  background: #cf0709;
  border-radius: 4px;
  box-shadow: 1px 1px #5f5a5a;
  display: block;
}

@media (min-width: 768px) {
  .main-nav .cta-button .phone {
    font-size: 1.5em;
    font-weight: 800;
    padding: .58em 0 .58em 1em;
    color: #cf0709;
    text-decoration: none;
    background: transparent;
    border-radius: 0px;
    box-shadow: 0px 0px;
  }
}

.main-nav .main-nav--nav a {
  padding: 1em;
}

.main-nav .main-nav--logo {
  top: 0;
}

.main-nav .main-nav--logo img {
  max-height: 75px;
}

.slide .cta-button {
  margin: 100px auto;
  text-align: center;
  width: auto;
  height: auto;
  max-width: 300px;
}

@media (min-width: 768px) {
  .slide .cta-button {
    max-width: 500px;
  }
}

/* Begin button grid formatting //

  Home Security Button Grid formatting 
  This code ensures that the button array on the main
  home security page form a nice grid and scale
  with page width changes.

*/

.buttons-in-a-grid {
    max-width: 100% !important;
}

.buttons-in-a-grid > span {
    padding: 10px;
    display: inline-flex !important;
}

/* End button grid formatting */

.slide .cta-button .phone {
  font-size: 1.6em;
  padding: 1.08em 1em;
  color: white;
  text-decoration: none;
  background: #cf0709;
  border-radius: 4px;
  box-shadow: 1px 1px #5f5a5a;
  display: block;
}

@media (min-width: 768px) {
  .slide .cta-button .phone {
    color: #cf0709;
    font-weight: 800;
    text-decoration: none;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    font-size: 2.5em;
    border-bottom: 1px solid rgba(2, 2, 2, 0.12);
  }
}


/*nav remove pointer events on menu items with children*/
.main-nav nav li.menu-item-has-children {
    cursor: default;
}

.main-nav nav li.menu-item-has-children:active {
    pointer-events: none;
}

.main-nav nav li.menu-item-has-children:active li {
    pointer-events: auto;
}

/*make submenu stay on top of content*/
.main-nav .menu-item-has-children ul {
    z-index: 10;
}


.contact-us .banner {
  background-position-y: 20%;
}

.contact-us .slide .cta-button {
  margin: 0 auto;
}

@media (min-width: 767px) {
  .contact-us .slide .cta-button {
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .contact-us .slide a.phone:before {
    content: "Give Us A Call";
    display: block;
  }
}

@media (min-width: 768px) {
  .contact-us .slide a.phone:before {
    content: "P: ";
  }
}

@media (min-width: 768px) {
  .contact-us .slide .phone {
    color: black;
    text-decoration: none;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 767px) {
  .contact-us .slide .phone {
    margin-bottom: 1.08em;
  }
}

.contact-us .slide .fax-and-email-and-address {
  text-align: center;
}

.contact-us .slide .fax-and-email-and-address .email {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.contact-us .slide .fax-and-email-and-address span, .contact-us .slide .fax-and-email-and-address a {
  font-size: 1.6em;
  color: black;
  padding: 1.08em 1em;
  display: block;
}

/* ========================================================== */
/* Reviews page for NearbyNow display (After canceling service) */
.review-body{
  display: flex;
}

.review-category{
  text-align: center;
  margin-left: 10px;
  margin-right: 10px;
}

/* Reviews Mobile formatting */
@media only screen and (max-width : 640px) {
  .review-body{
    display: unset;
  }
}
/* End NearbyNow display CSS */
/* ========================================================== */

/*join our team page styles*/

/*makes page header slide to the left for phones so that you can see the door in portrait mode.*/
@media (max-width:479px) {
  body.join-our-team .internal-banner {
    background-position-x: -350px;
  } 
}


/*alpharetta service area and reviews page */
/*header image placement*/
@media (max-width: 640px) {
  .security-monitoring-home-automation-company-in-alpharetta header.internal-banner.banner {
    background-position-x: 0px;
  }
}

/* NEARBY NOW CSS - UNUSED

/* css to counteract theme which is overriding nearby now

.nn-review-star-wrapper img {
    border: 0;
    margin: 0;
}

/*make stars in reviews not have overflow problems
div.nn-review-star-wrapper {
    overflow: hidden !important;
}
 

/*mobile responsive nearby now

@media only screen and (max-width : 600px) {
  .nn-review-outer-cont {
    font-size:130% !important;
    /* Your mileage may vary depending on your website font 
  }
  .nn-combo-left {
    width:100% !important;
  }
  .nn-combo-right {
    width:100% !important;
  }
  p.nn-review-body, p.nn-samap-body {
    padding-left: 0.5em !important;
    margin-left: 0px !important;
    background-image: none !important;
  }
  div.nn-review-footer {
    margin-left: 3px !important;
    margin-right: 3px !important;
    padding: 1em !important;
  }

/* makes review text look nicer above stars
div.nn-review-rating-cat-name>span {
    position: relative;
    top: 0px; 
    bottom: 1px;
}

}
 
@media ( max-width : 400px ) {

  /*makes map float left
  div.nn-review-map-cont {

      width: 100% !important;
  }
}*/