
/* ========================================================================================================/
/                                                      
/    Site-wide CSS                         
/                                                       
/ ========================================================================================================*/

body {
    background-color: white;
    margin: 0;
    padding: 0;
    color: black;
    font-family: 'Lato', sans-serif;
    overflow-x: hidden;
    margin: 0 auto;
}

.wrap {
    max-width: 900px;
    margin: 0 auto;
}

.fader {
    opacity: 0;
    display: none;
    background-color: white;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 10;
    transition: .3s all;
}

h4 {
    font-size: 1.3em;
    margin-bottom: 0;
    color: #1d8ee0;
}

hr {
    border-top: 1px solid #A6C3CF;
}

::-moz-selection { background: #C5C5C5; }
::selection { background: #C5C5C5; }


/* ========================================================================================================/
/                                                      
/    Animations                          
/                                                       
/ ========================================================================================================*/

@-webkit-keyframes fade-in {
    from {opacity: 0; -webkit-transform: scale(.9,.9); }
    to {opacity: 1;  -webkit-transform: scale(1,1); }
}

@-moz-keyframes fade-in {
    from {opacity: 0; -moz-transform: scale(.9,.9); }
    to {opacity: 1;  -moz-transform: scale(1,1); }
}

@-o-keyframes fade-in {
    from {opacity: 0; -o-transform: scale(.9,.9); }
    to {opacity: 1;  -o-transform: scale(1,1); }
}

@keyframes fade-in {
    from {opacity: 0; transform: scale(.9,.9); }
    to {opacity: 1;  transform: scale(1,1); }
}



/* ========================================================================================================/
/                                                      
/    Header                             
/                                                       
/ ========================================================================================================*/

header {
    text-align: center;
    position: relative;
    background-image: url("../images/backdrop.jpg");
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}

#callout {
    opacity: 0;
    margin: 0 auto;
    padding-top: 25px;
    padding-bottom: 250px;
    animation-name: fade-in;
    animation-duration: .5s;
    animation-delay: .2s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out;
}

#logo {
    width: 200px;
    padding: 0 0 3em 0;
}

header p {
    font-size: 1.6em;
    line-height: 1.5em;
    width: 700px;
    margin: 0 auto;
    padding: 0 0 1em 0;
    text-align: center;
}

#callout .download {
    width: 400px;
    margin: 0 auto;
}

#waves {
    position: absolute;
    width: 100%;
    min-height: 200px;
    bottom: 0;
    left: 0;
}

#index-header {
    overflow-x: hidden;
    width: 100%;
}

/*Navigation ----------------------------------------------------*/

nav {
    width: 100%;
    z-index: 5;
    background-image: url("../images/waves-nav.png");
    background-size: 100% 100%;
    min-height: 189px;
    transition: .3s all;
}

nav a {
    display: inline-block;
    margin: 1em .75em 9.5em .75em;
    padding: .75em 1.5em .75em 1.2em;
    background-color: rgba(2,174,255,0);
    color: black;
    font-weight: bold;
    border-radius: 100px;
    text-decoration: none;
    font-size: 1.1em;
    transition: .3s all;
}

#mobile-menu-button {
    display: none;
    position: fixed;
    float: left;
    font-size: 1.1em;
    margin: 1em;
    z-index: 35;
    transition: .15s all ease-out;
}

#mobile-menu-button .fa-circle {
    text-shadow: 0px 0px 15px #205675;
}

#mobile-menu {
    display: none;
    opacity: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 30;
    padding: 8em 1rem 1rem 1rem;
    box-sizing: border-box;
    background-image: url("../images/mobile-menu.jpg");
    background-size: 100% 100%;
    transition: .5s all;
}

#mobile-menu a {
    display: block;
    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
    background-color: rgb(92, 181, 255);
    margin: 1em auto;
    padding-left: 0;
    padding-right: 0;
    font-size: 1.5em;
}

#link1 {
    opacity: 0;
    animation-name: fade-in;
    animation-duration: .5s;
    animation-delay: .1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;
}

#link2 {
    opacity: 0;
    animation-name: fade-in;
    animation-duration: .5s;
    animation-delay: .2s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;
}

#link3 {
    opacity: 0;
    animation-name: fade-in;
    animation-duration: .5s;
    animation-delay: .3s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;
}

#link4 {
    opacity: 0;
    animation-name: fade-in;
    animation-duration: .5s;
    animation-delay: .4s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;
}

#link5 {
    opacity: 0;
    animation-name: fade-in;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;
}

a > i, nav a > i {
    font-size: 1.2em !important;
    padding-right: .5em;
}

nav a.current {
    background-color: rgba(158,224,255,.6);
}

nav a:hover {
    background-color: rgba(158,224,255,.9);
}



/* ========================================================================================================/
/                                                      
/    Footer                             
/                                                       
/ ========================================================================================================*/

footer {
    font-size: 1.1em;
    background-color: #3E9FE6;
    padding: 2em 0 1em 0;
    line-height: 1.5em;
    text-align: center;
}

footer h3 {
    font-weight: bold;
    margin-bottom: 1em;
    margin-top: 0;
}

footer .container-fluid {
    padding: 0 0 1.5em 0;
}

footer img {
    display: block;
    padding-top: .7em;
    padding-bottom: 0em;
    max-height: 70px;
    margin: 0 auto;
    filter: brightness(0.9);
    transition: .2s all;
}

footer img:hover {
    padding-top: 0em;
    padding-bottom: .7em;
    filter: brightness(1.5);
}

.socials {
    text-align: center;
}

footer p {
    font-size: .8em;
    margin: .5em 0 0 0;
}

footer a {
    text-decoration: none;
    vertical-align: top;
    color: black;
}

footer a:hover {
    text-decoration: underline;
}



/* ========================================================================================================/
/                                                      
/    Mixin Classes                             
/                                                       
/ ========================================================================================================*/


.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.blue {
    background-color: #3E9FE6;
}

.white {
    background-color: white;
}

.transition {
    padding: 0;
    background-color: white;
    overflow-y: hidden;
    overflow-x: hidden;
}

.transition > div {
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
}

.transition img {
    vertical-align: middle;
    width: 100%;
    margin-top: 0;
    margin-bottom: -2px
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.center {
    text-align: center;
}

.spaced {
    line-height: 1.5em;
}

.callout-text {
    font-size: 1.4em;
    text-align: center;
}

.float-left {
    float: left;
    padding-right: 1em;
}

.float-right {
    float: right;
    padding-left: 1em;
}

.float-right:after, .float-left:after {
    content: "";
    display: table;
    clear: both;
}

.shadow {
    box-shadow: 0px 0px 15px grey;
}

.w-80 {
    width: 80%;
}
.w-90 {
    width: 90%;
    margin-left: 5%;
}

.white-fade {
    height: 250px;
    background: #98C1D4;
    background: -webkit-linear-gradient(rgba(255,255,255,0), white); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(rgba(255,255,255,0), white); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(rgba(255,255,255,0), white); /* For Firefox 3.6 to 15 */
    background: linear-gradient(rgba(255,255,255,0), white); /* Standard syntax */
    margin-bottom: -200px;
    transition: .3s all;
}

.light-blue-diagonal {
    background-image: url("../images/diagonal-texture.jpg");
    border-top: 1px solid #C4ECFF;
    border-bottom: 1px solid #C4ECFF;
    padding: 2em 0;
}




/* ========================================================================================================/
/                                                      
/    General CSS (all pages)                        
/                                                       
/ ========================================================================================================*/

section {
    color: black;
    position: relative;
    padding: 2em 0;
}

section img {
    display: block;
    width: 90%;
    margin: 0 auto;
    margin-top: 2em;
}

section h2 {
    font-size: 2.1em;
    width: 100%;
    text-align: center;
    margin-bottom: 1em;
    font-weight: bold;
    margin-top: 0;
    padding-top: .5em;
}

section h3 {
    font-size: 1.3em;
    margin-bottom: .5em;
    font-weight: bold;
    color: #1d8ee0;
}

section.blue h2 {
    margin-top: .5em;
    margin-bottom: 0;
}

section p {
    font-size: 1.2em;
    line-height: 1.5em;
    margin-bottom: 0;
}

section h3 i {
    display: inline-block;
    margin-right: 5px;
}

a {
    color: black;
    text-decoration: none;
}

a:hover {
    color: black;
    text-decoration: none;
}

.icon-text {
    text-align: left;
    padding: 1em 2em 1em 0;
}

.hr {
    border: none;
    margin: 2em 0 0em 0;
    height: 1px;
    background: #98C1D4;
    background: -webkit-linear-gradient(left, white , #98C1D4, white); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(right, white , #98C1D4, white); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(right, white , #98C1D4, white); /* For Firefox 3.6 to 15 */
    background: linear-gradient(to right, white , #98C1D4, white); /* Standard syntax */
}

.item-icon {
    text-align: center;
}

.fa-circle {
    color: #094f80;
}

.button-link {
    display: inline-block;
    margin: 0 auto;
    margin-top: 1.5em;
    padding: .75em 1.5em .75em 1.2em;
    background-color: rgba(2, 141, 255, 0.6);
    font-weight: bold;
    color: black;
    border-radius: 100px;
    text-decoration: none;
    font-size: 1.1em;
    transition: .2s all;
}

.button-link.inline {
    margin-left: .5rem;
    margin-right: .5rem;
}

.button-link:hover {
    transform: scale(1.1);
}

.icon-tag {
    padding: .5em 1.5em;
    border: 1px solid #c1e3ff;
    background-color: rgb(239, 251, 255);
    display: flex;
    align-items: center;
    border-radius: 20px;
    height: 220px;
}

/* IE text overflow fix */
.icon-tag div {
    max-width: 80%;
}

.icon-tag > div:first-child {
    border-radius: 100%;
    box-sizing: border-box;
    display: inline-block;
    border: 1px solid #9fd6fa;
    background-color: white;
    transition: .2s all;
}

.icon-tag > div:first-child:hover {
    transform: scale(1.1);
}

.icon-tag > div:last-child {
    padding: 1em .5em 1em 1.5em;
    box-sizing: border-box;
    display: inline-block;
}

.icon-tag h3 {
    color: rgb(0, 119, 199);
}

.icon-tag i {
    color: rgb(32, 149, 245);
}

.icon-tag .fa-circle {
    color: white;
}


/* ========================================================================================================/
/                                                      
/    Landing Page                             
/                                                       
/ ========================================================================================================*/

#index-intro .col-md-6 {
    margin-bottom: 2em;
}

#index-intro .col-md-6 .col-2, #setup .col-md-6 .col-2 {
    padding: 0;
}

#index-features .col-sm-10 {
    padding: 1em;
    transition: .4s all;
}

#index-features .icon-tag {
    height: 150px;
}

#index-setup .container-fluid {
    margin-left: 4em;
}

#index-setup .row .row {
    display: flex;
    padding-bottom: 2em;
}

#index-setup .fa-stack {
    font-size: 1.7em;
    margin-right: .5em;
    text-align: center;
}

#index-setup p {
    width: 75%;
    display: inline-block;
    margin: 0;
}

#index-setup img {
    width: 70%;
    margin: 0;
}

#index-carousel .carousel-indicators {
    margin-bottom: 15px;
}

#index-carousel .carousel-indicators > li {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    margin: 0px 5px;
    background-color: rgba(255, 255, 255, 0.2);
}

#index-carousel .carousel-indicators > li.active {
    background-color: rgba(255, 255, 255, 0.5);
}



/* ========================================================================================================/
/                                                      
/    Location Page                             
/                                                       
/ ========================================================================================================*/


#zip-code {
    width: 300px;
}

input#zip-code, input[type="submit"] {
    padding: .5em 1em;
    font-size: 1.2em;
    text-align: center;
    border-radius: 50px;
    border: 1px solid #BBBBBB;
    margin-top: 1em;
}

input#zip-code:focus, input[type="submit"]:focus {
    outline: none;
}

input[type="submit"] {
    background-color: #9DE0FF;
    border: none;
    transition: .2s all;
    cursor: pointer;
}

input[type="submit"]:hover {
    background-color: #6BD2FF;
    transform: scale(1.05);
}

#map-container {
    width: 90%;
    max-width: 1500px;
    margin: 0 auto;
    margin-bottom: 3em;
    margin-top: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 0px 10px grey;
}

#locations {
    width: 350px;
    height: 700px;
    display: flex;
    flex-direction: column;
    order: 1;
    text-align: left;
    font-size: .8em;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: white;
    transition: .3s all;
}

#locations h3 {
    margin: 0 0 .5em 0;
    color: black;
    line-height: 1.2em;
    font-weight: bold;
    font-size: 1.7em;
}

.operator > h3 {
    padding: 1em .8em;
    border-bottom: 1px solid rgb(228, 228, 228);
    cursor: pointer;
    margin: 0 !important;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}

.operator h3 > i {
    transform: rotateX(0deg);
    transition: .5s all;
}

.operator h3 > i.reversed {
    transform: rotateX(180deg);
}

.operator p {
    margin-bottom: .5em;
}

.operator > div {
    padding: 1.5em;
    display: none;
    box-sizing: border-box;
    border-bottom: 1px solid rgb(224, 224, 224);
    background-color: #FAFAFA;
}

.distance {
    font-size: .7em;
    font-weight: normal;
    vertical-align: middle;
    display: inline-block;
    padding-bottom: .15em;
    color: #b8b8b8;
}

#locations a {
    color: #0092BB;
}

#locations a:hover {
    text-decoration: underline;
}

.desktop-link {
    white-space: nowrap;
    display: block;
    padding-top: 10px;
}

p.desktop-link {
    color: #0092BB;
    font-size: 1em;
    margin-bottom: 0;
}

.desktop-link i {
    width: 25px;
    font-size: 1.2em;
    padding-right: .5em;
    white-space: nowrap;
    display: inline-block;
    text-align: center;
}

.mobile-icon {
    display: none;
}

#locations .item-icon {
    font-size: 1.7em;
    margin-right: .5em;
}

#map {
    width: 1150px;
    height: 700px;
    order: 2;
    text-align: left;
    position: relative;
    display: inline-block;
    overflow: hidden;
    transition: .3s all;
}

#map img {
    margin: 0;
}

#map a {
    text-decoration: none;
}

#map a:hover {
    text-decoration: underline;
}


/* ========================================================================================================/
/                                                      
/    About Page                             
/                                                       
/ ========================================================================================================*/

#about-intro img {
    max-width: 350px;
    margin: 0 auto;
}

#about-intro h2 {
    text-align: left;
    margin-bottom: 1em;
}

#about-license-plate .col-sm-6 {
    padding: 2em 2em 0 2em;
}

#about-license-plate img {
    margin-top: 1em;
}

/*#about-how-to-carousel .carousel-indicators {
    bottom: -20px;
}

#about-how-to-carousel .carousel-indicators li {
    background-color: rgba(0, 140, 255, 0.3);
}

#about-how-to-carousel .carousel-indicators li.active {
    background-color: rgba(0, 140, 255, 0.86);
}

#about-how-to a.icon-link {
    display: inline-block;
    vertical-align: middle;
    margin: .4em .25em;
    width: 100%;
    color: #202020;
    box-shadow: 0px 5px 10px #88AFC0;
    font-size: 1.2em;
    text-decoration: none;
    transition: .2s all;
}

#about-how-to a.icon-link:hover {
    margin: .4em 0 .4em .5em;
}

#about-how-to .col-md-4 {
    padding: 0em 1em 1em 1em;
}*/

#about-how-to .col-sm-6 > div {
    background-color: white;
    border: 1px solid rgb(161, 213, 255);
    border-radius: 15px;
    padding: 2em 1.5em;
    margin-bottom: 2em;
    transition: .3s all;
}

#about-how-to .title-content {
    cursor: pointer;
}

#about-how-to h5 {
    font-weight: bold;
}

#about-how-to i {
    font-size: 3em;
    margin-bottom: .3em;
    color: rgb(74, 168, 255);
    transition: .1s all;
}

/*#about-how-to .col-sm-6 > div:hover i {
    color: rgb(74, 168, 255);
}*/

#about-how-to ol {
    text-align: left;
    margin: 1em 0 0 0;
    display: none;
    overflow: auto;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
}

#about-how-to li {
    margin: .5em 0;
}

/* #about-how-to strong {
    color: rgb(0, 115, 209);
} */

.icon-link {
    background-color: white;
    border-radius: 10px;
    box-shadow: 0px 0px 15px #88AFC0;
    min-height: 150px;
}

.icon-link div {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    height: 150px;
    font-size: 1.1em;
}

.icon-link p {
    font-size: 1em;
    text-align: left;
    max-width: 80%;
    margin: 0;
}

.icon-link i {
    font-size: 1.7em;
    padding-right: .5em;
    color: #3E9FE6;
}

#expand-collapse {
    color: black;
    font-weight: bold;
    font-size: 1.2em;
}

#expand-collapse:visited {
    color: black;
}

.qa {
    width: 80%;
    margin: 0 auto;
    margin-top: 2.5em;
    box-shadow: none;
    border-radius: 10px;
    transition: .2s all;
}

.qa:hover {
    transform: scale(1.02);
    box-shadow: 0px 5px 10px #7793A3;
}

.qa div {
    display: flex;
    align-items: center;
    background-color: #FFFFFF;
    border-radius: 0px 0px 10px 10px;
    border: 1px solid #D3D3D3;
    border-top: none;
    padding: 1.5em;
}

.qa h3 {
    text-align: left;
    color: black;
    background: rgb(220, 242, 255);
    padding: 1em;
    border-radius: 10px 10px 10px 10px;
    margin-bottom: 0;
    border: 1px solid rgb(156, 210, 255);
    cursor: pointer;
    font-size: 1.2em;
    transition: .3s all;
}

.qa h3.answer {
    border-radius: 10px 10px 0px 0px;
}

.qa p {
    width: 100%;
    color: #303030;
    text-align: left;
    font-size: 1.2em;
    margin: 0;
}


/* ========================================================================================================/
/                                                      
/    Owners Page                             
/                                                       
/ ========================================================================================================*/

#owner-features .col-md-6 {
    padding: 1em;
    transition: .4s all;
}

#owner-pricing .row {
    margin-bottom: 2em;
}

#owner-pricing .col-sm-3 div {
    width: 100px;
    height: 100px;
    margin-left: auto;
    margin-right: 20px;
    position: relative;
    text-align: center;
    border-radius: 100%;
    background-color: #6FD4FF;
    color: black;
    transition: .2s all;
}

#owner-pricing .col-sm-3 div:hover {
    transform: scale(1.1);
}

#owner-pricing .col-sm-9 h3 {
    color: black;
}

#owner-pricing .col-sm-3 div > h3 {
    font-size: 3em;
    position: relative;
    width: 100%;
    line-height: 100px;
    border-radius: 100%;
    vertical-align: center;
    color: black;
    background-color: rgb(193, 227, 255);
}
#owner-pricing .col-sm-3 div > span {
    font-size: 1.2em;
    font-weight: bold;
    width: 40px;
    height: 40px;
    line-height: 40px;
    vertical-align: center;
    position: absolute;
    border-radius: 100%;
    right: -10px;
    top: 0;
    background-color: rgba(52, 181, 255, 0.81);
}

#owner-controller .col-sm-4 {
    padding: 1.5em;
}

#owner-controller .col-sm-4 > div {
    border: 1px solid #c1e6ff;
    background-color: rgb(239, 249, 255);
    border-radius: 20px;
    padding: 1.5em;
    -webkit-perspective: 1000;
    transition: .3s all;
}

#owner-controller .col-sm-4 > div:hover {
    transform: scale(1.05);
}

#owner-controller a {
    text-decoration: underline;
}

#owner-controller img {
    width: 100%;
    margin: 0;
    padding: 0;
}

#owner-family {
    background-image: url("../images/family-blue.jpg");
    background-position: center bottom;
    background-size: cover;
    padding: 150px 0;
    box-shadow: inset 0px 0px 50px rgba(0, 0, 0, 0.137);
}

#family-icons {
    font-size: 1.2em;
    display: inline-block;
    transition: .2s all;
}

#family-icons .fa-inverse {
    color: #7CD8FF;
}

#family-icons .fa-circle {
    color: #CEF2FF;
}

#family-icons > span:first-child {
    margin-right: -70px;
    margin-bottom: 0px;
    transition: .2s all;
}

#family-icons > span:nth-child(2) {
    z-index: 2;
    margin-top: 10px;
    margin-bottom: 10px;
    transition: .2s all;
}
#family-icons > span:nth-child(2) .fa-circle {
    text-shadow: 0px 0px 7px #6890B3;
}
#family-icons > span:last-child {
    margin-left: -70px;
    transition: .2s all;
    margin-bottom: 0px;
}

#family-icons:hover span:first-child {
    margin-right: -50px;
    margin-bottom: -10px;
}

#family-icons:hover span:nth-child(2) {
    transform: scale(1.1);
    margin-top: 0px;
    margin-bottom: 20px;
}

#family-icons:hover span:last-child {
    margin-left: -50px;
    margin-bottom: -10px;
}

#owner-form iframe {
    height: 630px;
}



/* ========================================================================================================/
/                                                      
/    Contact               
/                                                       
/ ========================================================================================================*/

label {
    display: block;
    text-align: left;
}

.form-group input[type=text],textarea,select {
    width: 100%;
    font-size: 1.1em;
    color: #757575;
    border-radius: 5px;
    border: 1px solid #CACACA;
    box-shadow: 0px 3px 2px #E0E0E0;
    outline: none;
    padding: .6em .9em;
    transition: .2s all;
}

input[type=text]:focus,textarea:focus,select:focus {
    
}

textarea {
    font-size: 1em;
}

#other-subject {
    display: none;
}

label span {
    color: #D64C4C;
    transition: .3s all;
}

@keyframes errorFade {
    from {opacity: 0;}
    to {opacity: 1;}
}

.error {
    text-align: center;
    border: 1px solid #D64C4C;
    background-color: #FFEAEA;
    padding: .5em 1em 1em 1em;
    margin: 2em 0;
    border-radius: 10px;
    font-size: .9em;
    animation-name: errorFade;
    animation-duration: 2s;
}

.error img {
    width: 100px;
}



/* ========================================================================================================/
/                                                      
/    404 Page      
/                                                       
/ ========================================================================================================*/

#error-404 {
    background-image: url("../images/backdrop.jpg");
    background-size: cover;
    background-position: center center;
    height: 100vh;
    display: flex;
    align-items: center;
}

#error-404 h3 {
    font-weight: bold;
}

#error-404 div {
    text-align: center;
    display: inline-block;
    margin: 0 auto;
    padding: 0 2em;
}

#error-404 .button-link {
    background-color: rgba(0, 187, 255, 1);
}

#error-404 .button-link:hover {
    background-color: rgba(0, 187, 255, 0.5);
}


/* ========================================================================================================/
/                                                      
/    Media Queries                        
/                                                       
/ ========================================================================================================*/


@media screen and (orientation: portrait) {
    
    body {
        font-size: .9em;
    }
    .wrap {
        width: 90%;
        margin: 0 auto;
    }
    header p {
        width: 80%;
        margin: 0 auto;
    }
    #index-setup .container-fluid {
        margin-left: 0;
    }
    #dashboard img {
        width: 90%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 1550px) {

    #map {
        width: 70%;
    }
    #locations {
        width: 30%;
    }
}

@media screen and (max-width: 975px) {

    #index-setup img {
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {

    #standard-menu {
        display: none;
    }
    #mobile-menu-button {
        display: block;
    }
    .transition img, #waves {
        height: 125px;
        min-height: auto;
        width: 100%;
    }
    .white-fade {
        margin-bottom: -250px;
    }
    #callout {
        padding-top: 75px;
        padding-bottom: 200px;
    }
    nav {
        background-size: 150% 100%;
    }
    #index-features .icon-tag {
        height: auto;
    }
    #index-setup img {
        width: 60%;
        margin: 0 auto;
    }
    #index-setup p {
        width: 78%;
    }
    #map-container {
        display: block;
    }
    #map {
        width: 100%;
        height: 0;
        padding-bottom: 65%;
    }
    #locations {
        width: 100%;
        height: auto;
        overflow-y: auto;
    }
    #locations > div > br {
        display: none;
    }
    .mobile-icon {
        display: inline;
    }
    .desktop-link {
        display: none;
    }
    .icon-tag {
        height: auto;
    }
    #owner-form iframe {
        height: 750px;
    }
    footer .left, footer .right {
        text-align: center;
        width: 90%;
        margin-left: 5%;
    }
}

@media screen and (max-width: 575px) {

    body {
        font-size: .8em;
    }
    nav {
        background-size: 300% 100%;
        min-height: 120px;
    }
    #mobile-menu-button {
        margin-left: .5em;
    }
    #callout {
        padding-top: 75px;
        padding-bottom: 100px;
    }
    #logo {
        width: 150px;
    }
    .transition img, #waves {
        height: 100px;
        min-height: auto;
        width: 200%;
    }
    .download img {
        width: 75%;
        margin: 0 auto;
        margin-bottom: 1em;
    }
    #callout .download {
        width: 70%;
        margin: 0 auto;
        margin-bottom: 2em;
    }
    #index-setup img {
        width: 80%;
    }
    #map {
        padding-bottom: 150%;
    }
    #zip-code {
        width: 90%;
        margin: 0 auto;
    }
    input[type="submit"] {
        width: 90%;
        margin: 0 auto;
        margin-top: 1em;
    }
    .icon-tag {
        display: block;
        text-align: center;
        padding-top: 1.5em;
    }
    .icon-tag div {
        max-width: 100%;
    }
    .icon-tag > div:first-child {
        display: inline-block;
        margin: 0 auto;
    }
    .icon-tag > div:last-child {
        padding: 1em .5em;
        box-sizing: border-box;
        display: block;
    }
    #owner-pricing .col-sm-3 {
        margin-bottom: 1.5em;
    }
    #owner-pricing .col-sm-9 {
        text-align: center;
    }
    #owner-pricing .col-sm-3 div {
        margin: 0 auto;
    }
    footer .container-fluid {
        width: 80%;
        margin: 0 auto;
    }
}
