/*
 * Defaults
 */

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

body {
	font: 400 14px/1.4 "Open Sans", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	background: #EEEEEE;
}

h1, .h1   { font-size: 1.8em; }
h2, .h2   { font-size: 1.5em; }
h3, .h3   { font-size: 1.2em; }
h4, .h4   { font-size: 1em;   }
h5, .h5   { font-size: 1em;   }
h6, .h6   { font-size: .8em;  }

h1, h2, h3, h4, h5 {
    font-weight: 700;
    margin: 0 0 .75em 0;
}


ul {
	margin: 0 0 1.25em 0;
    padding: 0 0 0 20px;
}

li {
  	margin-bottom: .5em;
}

li ul {
    margin-top: .75em;
    padding-left: 10px;
}

li ul li {     
	list-style: none;
    padding-left: 20px;
}

p, li {
  color: #3a3a3a;
  margin: 0 0 1.5em 0;
}

a {
  color: #2B8DCA;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

a:focus {
    border: 0px none;
    outline: medium none;
}

em,
cite {
  font-style: italic;
}

strong {
  font-weight: 600;
}

sup,
sub {
  font-size: .7em;
}

img,video,audio,iframe,object{
	max-width:100%;
}

/*
 * Utilities
 */

.clear:before, .clear:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}
.clear:after {
  clear: both;
}

.section-divider {
  background: #5a5a5a;
  clear: both;
  display: block;
  height: 4px;
  margin: 10px 0;
  width: 100%;
}

.bg-cover {
  background-position: center center;
  background-size: cover;
}

.no-wrap {
  white-space: nowrap;
}

.inline {
  display: inline-block;
  width: auto;
}

.block {
  display: block;
}

.right {
  float: right;
}

.left {
  float: left;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.justify {
  text-align: justify;
}

.center {
  display: block;
  margin: 0 auto;
}


/*
 * Buttons
 */


.btn {
    border: none;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.25);
    border-radius: 5px;
    color: #fff;
    font-size: 1.47142857em;
    position: relative;
    text-align: center;
}

.btn-primary {
    background: #2B8DCA;
    border-bottom: 1px solid #226D9B;
    border-bottom: 3px solid #226D9B;
    -webkit-transition: .2s all ease-in-out;
            transition: .2s all ease-in-out;
}

.btn-primary:hover {
    opacity: 0.8;
}

.cta-btn {
    margin-right: 20px;
    margin-bottom: 20px;
    padding: 13px 53px 13px 73px;
    display: inline-block;
}

.btn i {
    position: absolute;
    top: 19px;
    left: 30px;
}

/*
 * General
 */

.body-wrap {
    max-width: 820px;
    display: block;
    margin: 50px auto 0;
    padding: 0 10px;
}

.company-logo {
    max-height: 70px;
}

.error-title {
    color: #686C74;
    font-size: 6.2em; /* 90px / 14px */
    text-shadow: 1px 1px 1px rgba(255,255,255, 0.9);
    margin-top: .50em;
}

.subheader {
    color: #9B9B9B;
    font-weight: 300;
    font-size: 2.1em;
    margin-bottom: 2em;
}

.options-title {
    font-weight: 300;
    font-size: 1.8em;
    color: #9B9B9B;
    margin-bottom: 3em;
    position: relative;
}

.options-title:before {
    border-bottom: 1px solid #bebebe;
    text-shadow: 0 1px 1px rgba(255,255,255, .9);
    position: absolute;
    left: 0px;
    top: 20px;
    content: "";
    width: 30%;
}
.options-title:after {
    border-bottom: 1px solid #bebebe;
    text-shadow: 0 1px 1px rgba(255,255,255, .9);
    position: absolute;
    right: 0px;
    top: 20px;
    content: "";
    width: 30%;
}

.error-options {
    text-align: center;
    margin: 0 auto;
}

/*
 * Media Queries
 */

@media only screen and (max-width: 600px) {
    .body-wrap {
        margin: 50px auto 0;
        padding: 0 20px
    }
    
    .error-title {
        font-size: 5.42857143em; /* 90px / 14px */
        margin-top: .40em;
        margin-bottom: .50em
    }

    .subheader {
        color: #9B9B9B;
        font-weight: 300;
        font-size: 2em;
        margin-bottom: 2em;
    }

    .options-title {
        font-weight: 300;
        font-size: 1.6em;
        color: #9B9B9B;
        margin-bottom: 3em;
        position: relative;
    }
    
    .options-title:before {
        width: 25%;
        top: 15px;
    }
    
    .options-title:after {
        width: 25%;
        top: 15px;
    }
}

/* buttons break point */
@media only screen and (max-width: 490px) { 

    .cta-btn {
        margin-right: 0px;
        margin-bottom: 15px;
        text-align: center;
        padding: 15px 55px 15px 55px;
        display: block;
    }

    .btn i {
        position: re;
        top: 22px;
        left: 60px;
    }
}

@media only screen and (max-width: 475px) {
    .options-title:before {
        width: 15%;
    }
    
    .options-title:after {
        width: 15%;
    }
}

/* iPhone5  break point */
@media only screen and (max-width: 320px) {
    .error-title {
        font-size: 5em; 
    }
    
    .subheader {
        font-size: 1.7em;
    }
}
