/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
@font-face {
    font-display: swap;
    font-family: zantroke;
    src: url("/fonts/Zantroke.otf") format("opentype");
}

html {
	color: #222;
	font-size: 1em;
	line-height: 1.4;
  scroll-padding-top: 100px;
}

a {
	text-decoration: none;
	color: #0a8adc;
}

p {
    margin-bottom: 1em;
}
 
audio, canvas, iframe, img, svg, video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
textarea {
	resize: vertical;
}

.browserupgrade {
	margin: 0; 
	background: red;
	color: white;
	padding: 0.2em 0;
	text-align: center;
}
.browserupgrade a {
	text-decoration: underline;
}

h1 {
	font-size: 1.25em;
}
h2 {
	font-size: 1em;
	text-transform:uppercase;
}
h3 {
	font-size: 1em;
}
h1, h2, h3 {
	font-weight: bold;
}

.all-caps {
	text-transform: uppercase;
}

.cloud-halo {
  box-shadow: 1px 2px 5px 5px rgb(255 255 255 / 1);
  background: rgb(255 255 255 / 1);
}

.title-vert-mid h1, .title-vert-mid h5 {
	padding: 0;
	margin: 0 auto;
  width: fit-content;
}
::-webkit-input-placeholder {
   color: #ccc;
}
:-moz-placeholder { /* Firefox 18- */
   color: #ccc;  
}
::-moz-placeholder, input[type=number]::-moz-placeholder {  /* Firefox 19+ */
   color: #ccc;  
}
:-ms-input-placeholder {  
   color: #ccc;  
}

/* ===== Initializr Styles ==================================================
  verekia.com/initializr/responsive-template
   ========================================================================== */
body {
	font: 16px/26px 'Open Sans', Helvetica, Helvetica Neue, Arial, sans-serif;
	/* -moz-user-select: auto !important;
  cursor: auto !important;
*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;


  -webkit-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;

  min-height: 100vh;

  margin: 0;
}
.main {
  -webkit-box-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-flex: 1 0 auto;
}

::-webkit-calendar-picker-indicator {
	display: none;
}

#main-menu-bar {
  z-index: 1;
  /* sticky was preferred for correct vertical spacing of next sibling, but it scrolled to top when opening language select */
  position: fixed;
  top: 0;
  width: 100%;
  padding: 0 5%;
  background: #1d1e1c;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 0;
}

#main-menu-items {
  background: #1d1e1c;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.logo {
  position: relative;
	z-index: 101;
  /* Size set explicitly in html to aid pagespeed in dynamic asset resizing.*/
  padding: 3px;
}

.top-plus > ul > li {
	text-transform: uppercase;
}


#language-selector {
	width: 35px;
}

#language-selector > img {
	pointer-events: none;
    position: absolute;
    border: 3px solid transparent;
    border-right: 4px;
    border-left: 4px;
    top: -4px;
    right: -4px;
    border-color: transparent;
    background: transparent;
    border-radius: 3px;
}

#language-selector:hover > img {
	filter: brightness(1.5);
}

#language-selector > select {
	opacity: 0%;
    border: none;
    box-shadow: none;
    border-radius: 0;
    color: #ffffff;
    background: transparent;
    height: 100%;
    width: 100%;
    cursor: pointer;
    min-width: 110px;
    outline: none;
    padding-right: 35px;
    padding-left: 15px;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
}

/* SIGN UP Button*/
.sign-up {
  /* To always go on top of hidden language selector*/
  z-index: 1;
	/*nav.top-plus li:last-child a {*/
  text-shadow: 0px 1px 9px #dc2d00f5;
	background: #FFA500; /*#fbb61e;*/
  margin-left: 25px;
	padding: 5px 15px;
	font-size: 1.1rem;
	font-weight: bold;
	/*bold;*/
	color: #fff;
  border-radius: 2px;
  white-space: nowrap;
}
.sign-up:hover {
  text-shadow: none;
	/*nav.top-plus li:last-child a:hover {*/
	background: #ffc14d;
	color: #000;
}

#faq > h3 {
	display: inline;
}





.wrapper {
	width: 90%;
	margin: 0 5%;
}

.wrapper-sunset {
	width: 100%;
}


/* ==============
    HAMBURGER MENU NAV
   ============== */
#menuLink {
  padding: 5px;
	outline: 0;
  position: relative;
}
html {
  box-sizing: border-box;
}
*, *::before, *::after {
	box-sizing: inherit;
}
#burger-wrap, #menu, .menu-link {
	transition: all 0.2s ease-out 0s;
}
#burger-wrap {

}
.menu-link {
	display: none;
	position: fixed;
}
.menu-link {
	background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
	display: inline-block;
	/* display:block; */
	font-size: 11px;
	width: 4em;
	height: 4em;
	padding: 1em;
	/* */
	position: fixed;
	top: 0;
	right: 0;
	/* left: 0; */
	z-index: 10;
}
#burger-wrap a {
	color: #3b8bba;
	text-decoration: none;
	background-color: transparent;
}
#menu {
  z-index: -1;
  padding-top: 100px;
	background: #1d1e1c none repeat scroll 0 0;
	overflow-y: auto;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	max-height: 100%;
}
#menu .burger-menu ul {
	background: transparent none repeat scroll 0 0;
	border: medium none;
	display: block;
}
.burger-menu-list {
	list-style: outside none none;
	margin: 0;
	padding: 0;
}
.burger-menu-list, .burger-menu-list > li {
	position: relative;
}
#menu a {
	border: medium none;
	color: #eee;
  padding: 10px 0 10px 30px;
	white-space: normal;
}
#menu a:hover {
	color: #fff;
}

#yourip {
    text-align: center; max-width: 500px;
    border: 3px solid rgba(0, 255, 0, 0.2);
    border-radius: 8px;
    background-color: rgba(204, 253, 171, 0.24)
}
#speedtest {
    text-align: center; max-width: 500px;
    border: 3px solid rgba(0, 255, 0, 0.2);
    border-radius: 8px;
    transition-duration: 3s;
    transition-property: border,background-color;
    background-color: rgba(204, 253, 171, 0.24)
}
#speedtest:hover {
    border: 3px solid rgba(0, 255, 0, 0.6);
    background-color: rgb(244, 255, 244);
}
#speedtest .num {
    font-size: 2em;
    font-family: zantroke;
    margin-bottom: 0.2em;
    color: #424240;
}
#speedtest #ul { 
    text-shadow: 2px 4px #b7d2a8
}
#speedtest #dl { 
    text-shadow: -2px 4px #b7d2a8;
}
#submitSpeedtest {
    margin-top: 5px;
    text-align: center; max-width: 500px;
    text-shadow: 0px 5px #b7d2a8
    text-align: center;
}
#submitSpeedtest big {
    font-size: 1.5em;
    font-family: zantroke;
}
#submitSpeedtest input {
    color: #202420c2;
    min-width: 270px;
}
    

/* To limit the menu width to the content of the menu:
.custom-restricted-width {
    display: inline-block;
    /* Or set the width explicitly: 
    /* width: 10em; 
}*/
	
.burger-menu {
}
.burger-menu-list, burger-menu-list > li {
	position: relative
}
.burger-menu-list {
	list-style: none;
	margin: 0;
	padding: 0
}
.burger-menu-list > li {
	padding: 0;
	margin: 0;
	height: 100%
}
.burger-menu-list > li > a {
	font-size: .85em;
}
.burger-menu-list > li > a, .burger-menu-heading {
	display: block;
	text-decoration: none;
	white-space: nowrap
}

/* https://jonsuh.com/hamburgers/*/
.hamburger {
	background-color: transparent;
	border: 0 none;
	color: inherit;
	cursor: pointer;
	display: inline-block;
	/* font: inherit;*/
	padding: 15px;
	margin: 0;
	overflow: visible;
	text-transform: none;
	transition-duration: 0.15s;
	transition-property: opacity, filter, -webkit-filter;
	transition-timing-function: linear;
	z-index: 1000;
}
.hamburger.is-active {
	background-color: #1d1e1c;
}
/* 3 lines that make up the hamburger*/
.hamburger-box {
	display: inline-block;
	height: 24px;
	position: relative;
	width: 40px;
  margin-left: 30px;
}
.hamburger .hamburger-inner, .hamburger .hamburger-inner::after, .hamburger .hamburger-inner::before {
	background-color: #ccc;
}
.hamburger-inner {
	display: block;
	margin-top: -2px;
	top: 50%;
}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
	background-color: #000;
	border-radius: 4px;
	height: 4px;
	position: absolute;
	transition-duration: 0.15s;
	transition-property: transform, -webkit-transform;
	transition-timing-function: ease;
	width: 40px;
}
.hamburger-inner::after, .hamburger-inner::before {
	content: "";
	display: block;
}
.hamburger-inner::before {
	top: -10px;
}
.hamburger-inner::after {
	bottom: -10px;
}
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::after, .hamburger--boring .hamburger-inner::before {
	transition-property: none;
}

/* ==============
    MOBILE: Menu
   ============== */

.illustrated-background {
    margin-top: 65px;
    -webkit-box-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    width: 100%;
    background-image: url(../img/sf-cityscape-a8165ca15f3c5aa4dbbffebc6768316fec96ffdb.svg);
    background-repeat: no-repeat;
    /*background-position: calc(50% + 70px) -90px;*/
    background-position: calc(50% + 55px) -70px;
    background-size: 1100px auto;
    background-repeat: repeat-x;
}

.splash-background {
	/*background-image: url(../img/popmechanicsstill.jpg);*/
	background-position: 25% 35%;
	background-attachment: fixed;
	-webkit-box-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	height: 100vh;
}


#video-background {
    position: fixed;
    min-width: 100%;
    height: 100vh;
    z-index: -1;
    background-size: cover;
}

.equipment {
	display: block;
	width: 55%;
    margin:0 auto;
}

.refer-monkeys{
	display: block;
	width: 80%;
	margin: auto;
}


.common {
	display: block;
	margin: 0 auto;
	padding-top: 2em;
	width: 100%;
}

.middle-plus, .top-plus {
	display: none;
}

.middle-plus > ul > li {
	text-transform: uppercase;
}

ul, nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.middle-mobile > ul > li > a {
	text-transform: uppercase;
}



nav.middle-mobile, nav.middle-plus {
	background-color: rgba(77, 78, 86, 0.84);
}
nav.middle-mobile a, nav.middle-plus a {
  color: #fff;
	display: block;
	padding: 1em 1.5em;
	text-decoration: none;
}
nav.middle-mobile a span {
	float: right;
}
nav.middle-mobile a:hover, nav.middle-mobile a:visited {
	color: #fff;
	text-shadow: 1px 0 0 #fff;
}
nav.middle-mobile a:hover {
	background: #0d5ca4;
}

/* footer nav */
.bottom-container {
	background: #1d1e1c;
	padding-bottom: 1em;
}

.col {
	padding: 0 10px;
}

/*Mobile static footer with 3 icons*/
/*.static-footer-wrap {
    background-color:#1d1e1c;
    width:100%;
    position:fixed;
    bottom:0;
    padding:.5em 0
}*/
.static-footer-wrap {
  padding-bottom: 1.5em;
}
.static-footer-bar {
	width: auto;
	overflow: hidden;
	border-top: 1px solid #666;
	/*   margin:0 0 0 .5em; */
	font-size: 60%;
	line-height: 1.5em;
	margin: 0;
	margin-top: 1.7em;
}
.static-footer-bar a {
	color: #87c3e3;
	margin-top: 5px;
	display: block;
}
.static-footer-icons {
	float: right;
	margin-left: .5em;
	/*    margin:0 .5em;*/
}
.static-footer-icons a.yelp:hover {
	background-color: #c83218;
}
.static-footer-icons a.facebook:hover {
	background-color: #3e5b98;
}
.static-footer-icons a.twitter:hover {
	background-color: #4da7de;
}

.circle {
	display: inline-block;
	background-color: #676b73;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	text-align: center;
	line-height: 2.2em;
	vertical-align: middle;
	margin: 0 .10em;
}
.circle i {
	color: #1d1e1c;
}

/* ==============
    MOBILE: Main (default)
   ============== */


.top-container-sunset {
	width: 100%;
	text-align: center;
	background: #d1e1c00;
        padding-top: .5em;
	z-index: 1000;
	position: absolute;
}

.logo-wrap {
	display: inline-block;
	margin: 0 0 -5em 0;
}
.logo-wrap img {
	height: 6em;
}

.intro-title {
  padding: 115px 0 40px;
  text-align: center;
}
.title-vert-mid {
	vertical-align: middle;
	color: #333;
  font-size: 1.2rem;
}
.subtitle-vert-mid {
	display: inline-block;
	font-size: 0.8rem;
	border-top: 1px solid #666;
	padding-top: 2px;
	margin-top: 7px;
}

article {
	padding: 1.5em 0;
}
article a {
	text-decoration: underline;
}

ol.disc {
    list-style-type: disc;
}
ol lh {
	font-weight: bold;
  margin-left:-2em;
}
/* lh isn't a thing. Use this instead */
ol strong {
  margin-left: -2em;
}

#privacy li {
    font-weight: bold;
}

.footnote {
    font-size: .75em;
	line-height:1em;
}
.superscript {
	font-size: 100%;
}
summary{
	font-size: 125%;
	margin: 10px 0;
	background-color: #f0f0f0;
	padding: 5px 10px;
	transition: 1s, all;
	border-radius: 20px;
}

details {
	border-radius: 10px;
}
.menu-content{
    margin-top: 1.5vw;
    margin-left: 1vw;
    /*text-indent: 2vw;*/
}
.placeholder {
	text-align: center;
	padding: 4em;
	background-image: 
    repeating-linear-gradient(
      45deg,
      yellow,
      yellow 10px,
      rgb(255, 255, 255) 10px,
      rgb(255, 255, 255) 20px /* determines size */
    );
	color: rgb(75, 75, 75);
}

.canned-pricing {
    font-size: 125%;
    margin-top: 1em;
    text-align: center;
    line-height: 2em;
}

.canned-header {
    font-weight: 900;
    font-size: 200%;
    text-align: center;
    padding: 20px 15px 30px;
    margin-top: .7vh;
    line-height:36px;
}

.canned-header-sub {
	font-weight: 900;
    font-size: 125%;
    text-align: center;
    padding: 0 0 24px;
    line-height: 36px;
}

.mini-header {
    text-transform: uppercase;
    font-size: 115%;
    text-align: center;
    margin-top: .5vh;
    margin-bottom: -0.5vh;
    /* transform: translate(-2vw) = text-indent centering offset */
}

.canned-image {
    text-align: center;
    width: 100%;
    display: inline-block;
    padding: 2vh 0 0vh;
}	
	
.canned-image-left {
    text-align: center;
    float: left;
}	

.canned-image-right {
    text-align: center;
    width: 100%;
    float: right;
    padding: 0 0 2vh;
}	
.banner {
	padding: 1em;
	margin: 0 auto;
	text-align: center;
	/*background-color: #ff3434;*/

    background: linear-gradient(139deg, #f50e0e, #9578ee);
    background-size: 400% 400%;

    -webkit-animation: AnimationName 4s ease infinite;
    -moz-animation: AnimationName 4s ease infinite;
    animation: AnimationName 4s ease infinite;


	color: white;
	border-radius: 12px;
	margin-top: 1.5em;	
}

@-webkit-keyframes AnimationName {
    0%{background-position:96% 0%}
    50%{background-position:5% 100%}
    100%{background-position:96% 0%}
}
@-moz-keyframes AnimationName {
    0%{background-position:96% 0%}
    50%{background-position:5% 100%}
    100%{background-position:96% 0%}
}
@keyframes AnimationName {
    0%{background-position:96% 0%}
    50%{background-position:5% 100%}
    100%{background-position:96% 0%}
}

/*Forms*/

.pure-form input[type="text"], .pure-form input[type="password"], .pure-form input[type="email"], .pure-form input[type="url"], .pure-form input[type="date"], .pure-form input[type="month"], .pure-form input[type="time"], .pure-form input[type="datetime"], .pure-form input[type="datetime-local"], .pure-form input[type="week"], .pure-form input[type="number"], .pure-form input[type="search"], .pure-form input[type="tel"], .pure-form input[type="color"], .pure-form select, .pure-form textarea, .hosted-field {
	padding: .5em .6em;
	display: inline-block;
	border: 1px solid #ccc;
	box-shadow: inset 0 1px 3px #ddd;
	border-radius: 4px;
	vertical-align: middle;
	width: 100%;
	/*	font-size: 16px; */
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
-moz-appearance: textfield;
}

.hosted-field {
  width: 100%;
  height: 40px;
}
.braintree-hosted-fields-invalid { border: solid 1px red }
/*.braintree-hosted-fields-valid { border: solid 1px green }*/

/*.pure-form input:invalid {
  color: red;
	border-color: red;
}*/
.pure-form input:valid {
}
.pure-form input:focus {
  color: inherit;
  outline: 0;
/*border-color: #129FEA;*/
}
.pure-form fieldset {
	padding: .35em 0 .75em;
}
.pure-form .form-group, .pure-form .control-group, .pure-form .pure-controls, .form-aligned .form-group {
	/*font-size:.75em;*/
}
.form-aligned .form-group label, .pure-form .control-group label {
	text-align: left;
	/*right at 480*/
	display: inline-block;
	vertical-align: middle;
	width: 10em;
	margin: 0 1em 0 0;
}
.form-aligned .pure-controls {
	margin: .5em 0 0;
}
.pure-form .pure-checkbox {
	margin: .5em 0;
		display: block;
}
.form-aligned input {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	vertical-align: middle;
}
input[type="checkbox"] {
	padding: 0;
}
.pure-form .pure-group textarea:last-child {
	top: -2px;
	border-radius: 0 0 4px 4px;
	margin: 0;
}
.pure-form .pure-group textarea:focus {
	z-index: 3;
}
.pure-form .pure-group textarea {
	display: block;
	padding: 10px;
	position: relative;
}
.pure-form textarea:focus {
	outline: 0;
  border-color: #129FEA;
}
.pure-form .pure-input-1-2 {
	width: 50%;
}
.pure-form textarea {
	border: 1px solid #ccc;
	box-shadow: inset 0 1px 3px #ddd;
	vertical-align: middle;
}
.pure-form fieldset {
	padding: .35em 0 .75em;
}
textarea {
	overflow: auto;
}
/*
.pure-button.pure-button-white {
  background-color: white;
  color: black;
  border: solid 1px black;
}
.pure-button.pure-button-white:hover {
	background-color: lightgrey;
}*/
.pure-button::-moz-focus-inner {
	padding: 0;
	border: 0;
}
.pure-button.pure-button-orange {
  background-color: #FFA500;
  color: white;
  font-weight: bold;
}
.pure-button-primary {
	/*background-color: #0078e7;*/
	background-color: #FFA500;
	color: #fff;
}
.pure-button-primary[disabled], .pure-button-primary[disabled]:hover {
  background-color: lightgrey;
}
.pure-button-primary:hover {
	background-color: #fbb61e;
}
.pure-button-primary:focus {
	color: #fff;
}
.pure-button {
	font-size: 100%;
	padding: .5em 1em;
	border: 0 rgba(0, 0, 0, 0);
	text-decoration: none;
	border-radius: 2px;
	display: inline-block;
	zoom: 1;
	line-height: normal;
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	text-transform: none;
	overflow: visible;
	font: inherit;
	margin: 0;
}
button.pure-button {
	position: static;
}

.coverage-map {
	text-align: center;
}
.coverage-map img {
	width: 100%;
}
/*
.product-image img {
	width: 100%;
	max-width:100%;
}
*/
footer {
	/*    overflow: hidden;*/
	color: #fff;
	/*    padding: 1.5em 0; */
}
footer a {
	color: #cecdcd;
	font-size: 95%;
}
footer a:hover {
	color: #fff;
}
/*
.businessTiers {
    grid-template: "side a" 
                   "side b" 
									 "side c" 
									 "side d" ;
    display: grid;
    grid-template-columns: 4em auto;
    grid-gap: 20px;
}

.businessTiersLeft {
		padding: auto;
		color: white;
    grid-area: side;
    writing-mode: vertical-rl;
		text-transform: uppercase;
		font-weight: bold;
		font-size: 3em;
    text-align: center;
    text-orientation: mixed;
    transform: rotate(180deg); 
    background: -webkit-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
    background: -o-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
    background: -moz-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
    background: linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
		background-size: 4em;
}
*/

.businessTiersLeft {
	padding: auto;
	color: white;
	grid-area: a;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 3em;
	text-align: center;
	background: -webkit-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
	background: -o-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
	background: -moz-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
	background: linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
	background-size: 4em;
}
.bizheader {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 120%;
	padding-bottom: .25rem;
}

.rezheader, .eventheader{
	text-transform: uppercase;
	font-weight: bold;
	font-size: 200%;
	padding-bottom: .5rem;
}

.residential {
	background: -webkit-linear-gradient(-37deg, #ae4c4c00 60%, rgb(228, 33, 33) 30%), url(../img/panos/IMG_3869.JPG);
	background: -o-linear-gradient(-37deg, #ae4c4c00 60%, rgb(228, 33, 33) 30%), url(../img/panos/IMG_3869.JPG);
	background: -moz-linear-gradient(-37deg, #ae4c4c00 60%, rgb(228, 33, 33) 30%), url(../img/panos/IMG_3869.JPG);
	background: linear-gradient(-37deg, #ae4c4c00 60%, rgb(228, 33, 33) 30%), url(../img/panos/IMG_3869.JPG);
	background-size: cover;
	background-position: 50% 50%;
	color: rgb(255, 255, 255);
}

.events {
	background: -webkit-linear-gradientlinear-gradient(50deg, #ae4c4c00 9%, rgb(255, 0, 154) 103%), url(../img/eventblue.jpg);
	background: -o-linear-gradientlinear-gradient(50deg, #ae4c4c00 9%, rgb(255, 0, 154) 103%), url(../img/eventblue.jpg);
	background: -moz-linear-gradientlinear-gradient(50deg, #ae4c4c00 9%, rgb(255, 0, 154) 103%), url(../img/eventblue.jpg);
	background: linear-gradient(50deg, #ae4c4c00 9%, rgb(255, 0, 154) 103%), url(../img/eventblue.jpg);
	background-size: cover;
	text-align: center;
	background-position: 50% 25%;
	color: rgb(255, 255, 255);
}

.residential, .boutique, .classic, .enterprise, .events, .colocation, .businessTiersLeft {
    padding: 1rem;
		border-radius: 4px;
		margin: 1rem 0 1rem;
}

.boutique {
    grid-area: a;
    background-image: linear-gradient(to bottom left, rgb(223, 201, 173), rgb(235, 221, 203), rgb(221, 200, 172), rgb(230, 215, 196));
}

.classic {
    grid-area: b;
    background-image: linear-gradient(to bottom left, rgb(231, 43, 43), rgb(240, 69, 69), rgb(231, 43, 43));
	color: white;
}

.enterprise {
    grid-area: c;
    background-image: linear-gradient(to bottom left, rgb(22, 22, 22), rgb(44, 44, 44));
	color: white;
}


/* TABLES */
table.border {
	border-collapse: collapse;
	width: 100%;
	max-width: 100%;
	font-size: .75em;
}
table.border th {
	padding: 0 0 .5em;
	text-align: left;
}
table.border td {
	border: 1px #ccc solid;
	padding: .25em;
}

.press-mention {
	margin: 80px 10px;
}

.press-logo {
	text-align: center;
	margin-bottom: 5px;
}
.press-logo img {
	width: 50%;
}
.client-logo img {
	margin: 1em 0;
}
/* Radio Tabs - Sign Up */
.tab {
	width: 100%;
	float: left;
}

.tab:last-child {
	/*padding-bottom: 0;*/
}
.tab label {
	margin: 0 !important;
	text-align: center !important;
	padding: .5em;
	cursor: pointer;
	background-color: #afafaf;
	/*background-color: #0493de;*/
	color: white;
	border-top: none;
	width: 100% !important;
}
.tab label:hover {
	
	background-color: #1f80b4;
}
.tab:first-child label {
	/*border-top: 1px #87c3e3 solid;*/
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}
.tab:last-child label {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}
.tab [type=radio] {
	display: none;
}
[type=radio]:checked~label {
	font-weight: bold;
	background-color: #f23e44;
}

footer {
	letter-spacing: -0.31em;
	word-spacing: -0.43em;
}
footer div {
	letter-spacing: normal;
	word-spacing: normal;
}
footer .col {
	width: 100%;
	display: inline-block;
	vertical-align: top;
}

/* ===============
    ALL: IE Fixes
   =============== */
/*.lt-ie9 {
	max-width: 1026px;
	margin: 0 auto;
	background: black;
}
.lt-ie9 body {
	background: white;
}*/
.lt-ie9 .wrapper {
	max-width: 1026px;
	margin: 0 auto;
}
.lt-ie9 .middle-mobile {
	text-align: center;
}
.lt-ie9 .tab input {
	display: inline-block;
}
.lt-ie9 .tab label {
	width:50% !important;
}
.lt-ie9 input {
	max-width: 300px;
}
.lt-ie9 footer .col {
	width: 25%;
	min-width: 200px;
}
.lt-ie9 .hamburger {
	background-color: grey;
}
.lt-ie9 .hamburger:hover {
	background-color: lightgrey;
}
.lt-ie9 #paymentForm {
  display: none;
}

#back2top {
  display: block;
  position: fixed;
  bottom: .5em;
  right: .5em;
  background: rgba(211,211,211,.25);
  text-align: center;
  font-size: 150%;
  width: 1.5em;
  height: 1.5em;
  cursor: pointer;
  padding-top: .25em;
  color: grey;
}

dd {
  margin-left: 0;
}

.randopano {
  width: 100%;
  height: 120px;
  background-image: url(/randopano.php);
  background-size: cover;
  background-position: 50% 50%;
}

/* client page */
.flex-logos {
	display: flex;
	flex-flow: row wrap;
}

.client-logo {
	flex: 1 0 25%;
	min-width: 260px;
	padding: 0 0.5rem 1rem;
	overflow: hidden;
}

.client-logo img {
	margin: 0 auto;
}

.pure-radio > input{
	margin-right: 5px;
}

.pure-form button[type="submit"] {
  margin: 0.7em 0px 0px;
}

small {
  line-height: 150%;
}
.center-boy {
	width: 50%;
	display: block;
	margin: 2em auto;
	max-width: 360px;
}



.sunset-backdrop {
	height: 100vh;
	width: 100%;
	background: rgb(164,163,165);
	background: linear-gradient(180deg, rgba(164,163,165,1) 0%, rgba(238,159,89,1) 51%, rgba(230,126,63,1) 73%, rgba(230,126,63,1) 89%, rgba(51,49,52,1) 89%);
	z-index: -1;
	position: absolute;	
}

.sunset {
	height: 100vh;
	width: 100%;
	margin: auto;
	background-image: url("img/texas_sun.png");
	background-position: center;
	background-attachment: fixed;
	display: table;
	top: 0;
	background-size: cover;
	z-index: 1;
}
.s-inner {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	max-width: none;
        transform: translateY(-10%);
}
.s-body {
	color: white;
	margin: 1em auto;
	width: 80%;	
}
.s-h2 {
    color: white;
    font-size: 150%;
    font-weight: 900;
    width: 50%;
    margin: 2em auto;
}

.main-sunset {
    display: block;
}

.sunset-below {
    display: inline-block;
    background: #333034;
    width: 100%;
    margin 0 auto: ;
    color: aliceblue;
    text-align: center;    
}

.s-content {

	margin: 0 auto;
	text-align: center;
}
.s-header {
   position: relative;
       	color: white;
    font-family: 'Pacifico', cursive;
    font-size: calc(80px + (100vw / 15));
}
.sun {
   margin: 0 auto;
    width: 100px;
    left: 50%;
    position: fixed;
    top: 55%;
    margin-left: -50px


}
.taravel {
    bottom: 0;
    transform: translateY(1px);
    position: absolute;
}





/* ==========================================================================
   Media Queries
	 ========================================================================== */

/* crunched down for very small screens */
@media only screen and (max-width: 400px) {
    #main-menu-bar{
        padding: 0 3px;
    }
    .sign-up{
        margin-left: 16px;
    }
    .logo{
        padding: 0;
        margin: 3px 0 0 0;
        width: 88px;
        height: 88px;
    }
    .hamburger-box{
        margin-left:16px;
    }
}

@media only screen and (min-width: 480px) {
    .businessTiers {
        grid-template: "side a" 
                    "side b" 
                                        "side c";
        display: grid;
        grid-template-columns: 4em auto;
        grid-gap: 20px;
    }
    .businessTiersLeft {
            padding: auto;
            color: white;
        grid-area: side;
        writing-mode: vertical-rl;
            text-transform: uppercase;
            font-weight: bold;
            font-size: 3em;
        text-align: center;
        text-orientation: mixed;
        transform: rotate(180deg); 
        background: -webkit-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
        background: -o-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
        background: -moz-linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
        background: linear-gradient(70deg, #242424  28%, rgba(0,0,0,0) 0), linear-gradient(30deg, #000000 60%, #242424 60%);
            background-size: 4em;
    }
    .residential, .boutique, .classic, .enterprise, .events, .colocation, .businessTiersLeft {
        margin: 0rem 0rem 0rem;
    }
	footer .col {
		/*    float: left;
    display: inline-block; */
		width: 50%;
	}
	/*  footer div:nth-child(odd) {clear: left;} */
	.form-aligned .form-group label, .pure-form .control-group label {
		text-align: right;
	}
	.form-aligned .pure-controls {
		margin: .5em 0 0 11em;
	}
	.pure-form .form-group, .pure-form .control-group, .pure-form .pure-controls, .form-aligned .form-group {
		margin-bottom: .5em;
	}
	.pure-form input[type="text"], .pure-form input[type="password"], .pure-form input[type="email"], .pure-form input[type="url"], .pure-form input[type="date"], .pure-form input[type="month"], .pure-form input[type="time"], .pure-form input[type="datetime"], .pure-form input[type="datetime-local"], .pure-form input[type="week"], .pure-form input[type="number"], .pure-form input[type="search"], .pure-form input[type="tel"], .pure-form input[type="color"], .pure-form select, .pure-form textarea, .hosted-field {
		width: auto;
    width: 14.25em;
		font-size: inherit;
	}
  .pure-form button[type="submit"] {
    margin: 0;
  }
	.static-footer-bar {
		font-size: 75%;
		margin-top: 1.3em;
	}
	/* Tables */
	table.border {
		font-size: 100%;
	}
	.tab {
		float: left;
		width: 25%;
		padding: 0 .5em;
	}
  .tab:first-child {
    padding-left: 0;
  }
  .tab:last-child {
    padding-right: 0;
  }
	.tab label {
		border-top: 1px #87c3e3 solid;
    border-radius: 4px;
	/*border-right: none; */
	}
	.tab:first-child label {
	/*border-radius: 0;
		border-top-left-radius: 4px;
		border-bottom-left-radius: 4px; */
	}
	.tab:last-child label {
	/*border-radius: 0;
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
		border-right: 1px #87c3e3 solid; */
	}
	/* ====================
    INTERMEDIATE: Menu (tablet+)
   ==================== 

    nav li:first-child a {
        margin-left: 0;
    }
    nav li:last-child a {
        margin-right: 0;
    }
========================
    INTERMEDIATE: IE Fixes
   ======================== 
    nav ul li {
        display: inline;
    }
    .oldie nav a {
        margin: 0 0.7%;
    }
    */
    .randopano {
      background-image: url(/randopano.php?large);
      height: 200px;
    }
    .common {
	    padding-top: 2em;
	    max-width: 800px;
    }
}




@media only screen and (min-width: 865px) {
	/* ====================
    WIDE: CSS3 Effects (anything bigger than an IPad)
   ==================== */
	.top-container-sunset {
		padding-bottom: 1.5em;
		text-align: left;
		padding-top: 0;
	}
	/*.title-vert-mid {font-size:175%;}*/
	#burger-wrap {
		display: none;
	}
	/* Hides the Hamburger Menu*/
	.logo-wrap {
		float: left;
		margin: .5em 0 -70px 0;
	}
	.logo-wrap img {
		height: 125px;
	}
	.title-vert-mid h1 {
		font-size: 2.17rem;
/*		font-weight: bold; */
	}
	.subtitle-vert-mid {
		font-size: 0.9rem;
		font-weight: bold;
	}
	.top-plus, .middle-plus {
		display: block;
	}
	.middle-mobile, .top-mobile {
		display: none;
	}
	/* ============
    WIDE: Menu
   ============ */
	nav.top-plus {
	}
	nav.top-plus ul {
		
	}
	nav.top-plus li {
    display: inline;
	}
	nav.top-plus a {
		font-size: .90rem;
		white-space: nowrap;
		color: #cecdcd;
    padding: 5px 13px;
	}
	nav.top-plus a:hover {
		color: #fff;
	}

	.common {
		padding-top: 0em;
		max-width: 600px;
	}
	/* ============
	    WIDE: Main
   	============ */
	.wrapper {
		margin: 0 auto;
	}
	nav.middle-plus {
	  text-align: center;
	}
	nav.middle-plus li {
		display: inline-block;
		width: 32%;
	}
	nav.middle-plus a {
		padding: 10px 0;
		background: none;
		font-weight: bold;
		color: #fff;
	}
	nav.middle-plus a:hover, nav.middle-plus a:visited {
		text-shadow: none;
		text-decoration: underline;
		background: none;
	}
	.coverage-map img {
		width: 80%;
	}
	/* ============
    WIDE: Footer
   ============ */
	footer .col {
		width: 25%;
	}
  /* Fix visual alignment of footer columns */
  footer.wrapper .col:nth-child(2) {
    width: 30%;
  } 
  footer.wrapper .col:nth-child(4) {
    width: 20%;
  } 
	/*  footer  div:nth-child(odd) {
    clear: none;
	} */
	.bottom-container, footer.wrapper {
		/*    padding-bottom: 0; */
	}
	.static-footer-wrap {
		/*	width: 90%;
    max-width: 1026px;
    margin: 0 auto;
    position: relative;
*/
		width: 100%;
    padding-bottom: 0;
	}
	.static-footer-icons {
		margin-right: 0;
	}
	.static-footer-bar {
		margin-top: 1.3em;
	}
	.tabs {
		width: 100%
	}
	.press-logo img {
		width: 30%;
	}




  #back2top {
    display: none;
  }
 .banner {
	  margin-top: 0em;
  }
  .equipment {
  	margin-top: 0em;
  }

  .taravel {
}

}




@media only screen and (min-width: 1100px) {
	/* ===============
    Max Width (large desktop monitor)
   =============== */
	.wrapper {
		max-width: 1026px;
	}
	/* 1140px - 10% for margins */
	.title-vert-mid h1 {
	/*	font-size: 180%; */
	}
	.subtitle-vert-mid {
	/*	font-size: 70%; */
	}

	nav.middle-plus li {
/*		width: 20%; */
	}
}


@media only screen and (min-width: 1400px) {
  scroll-padding-top: 65px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
	display: none !important;
	visibility: hidden;
}
.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}
.invisible {
	visibility: hidden;
}

.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	*zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */
@media print {
	*, *:before, *:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a, a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	a[href^="#"]:after, a[href^="javascript:"]:after {
		content: "";
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr, img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p, h2, h3, h4 {
		orphans: 3;
		widows: 3;
	}
	h2, h3, h4 {
		page-break-after: avoid;
	}
}
