/* -------------------------------------------- */
/* Basic Styling */
/* -------------------------------------------- */

* {
    margin: 0;
    padding: 0;
    outline: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html,
body {
    background-color: #FFF;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 1.125rem;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

.sidebar-nav { display: none; }

/* -------------------------------------------- */
/* Reusable Elements */
/* -------------------------------------------- */

.row {
    max-width: 1140px;
    margin: 0 auto;
}

section {
    padding: 80px 0;
}

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

/* ------ Headings ------ */

h1,
h2,
h3 {
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
}

h1 {
    font-family: 'Concert One', cursive;
    margin-top: 0;
    margin-bottom: 20px;
    color: #E74C3C;
    font-size: 275%;
    word-spacing: 3px;
}

h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.125rem;
    color: #FFF;
    word-spacing: 4px;
}

h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 150%;
    color: #000;
    text-align: center;
    margin-bottom: 30px;
}

h3:after {
    display: block;
    height: 2px;
    background-color: #E74C3C;
    content: " ";
    width: 100px;
    margin: 0 auto;
    margin-top: 30px;
}

h4 {
    font-size: 105%;
    display: block;
    font-family: 'Montserrat', sans-serif;
}

/* ------ Paragraphs ------ */
.company-intro,
.about-us {
    line-height: 145%;
    width: 70%;
    margin-left: 15%;
    font-family: 'Montserrat', sans-serif;
}

/* ------ Icons ------ */
.icon-large {
    font-size: 350%;
    display: block;
    color: #E74C3C;
    margin-bottom: 10px;
}

/* ------ Buttons ------ */

.btn:link,
.btn:visited,
input[type=submit] {
    display: inline-block;
    padding: 10px 30px;
    font-weight: 400;
    text-decoration: none;
    border-radius: 200px;
    -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
    transition: background-color 0.3s, border 0.3s, color 0.3s;
}

.btn-full:link,
.btn-full:visited,
input[type=submit] {
    background-color: #E74C3C;
    border: 1px solid #E74C3C;
    color: #FFF;
    margin-right: 15px;
}

.btn-ghost:link,
.btn-ghost:visited{
    border: 1px solid #E74C3C;
    color: #FFF;
}

.btn:hover,
.btn:active,
input[type=submit]:hover,
input[type=submit]:active {
    background-color: #D62C1A;
}

.btn-full:hover,
.btn-full:active {
    border: 1px solid #E74C3C;
}

.btn-ghost:hover,
.btn-ghost:active {
    border: 1px solid #E74C3C;
    color: #FFF;
}

/* -------------------------------------------- */
/* The Header */
/* -------------------------------------------- */

header {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.4)), to(rgba(0, 0, 0, 0.2))), url(../css/img/bg-min.jpg);
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.2)), url(../css/img/bg-min.jpg);
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.hero-text-box {
    position: absolute;
    width: 1140px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.company-name {
    height: 100px;
    width: auto;
    float: left;
    margin-top: 20px;
    text-decoration: none;
}

/* Main Navigation */
.main-nav {
    float: right;
    list-style: none;
    margin-top: 48px;
}

.main-nav li {
    display: inline-block;
    margin-left: 40px;
}

.main-nav li a:link,
.main-nav li a:visited {
    padding: 8px 0;
    color: #FFF;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 100%;
    font-family: 'Concert One', cursive;
    border-bottom: 2px solid transparent;
    -webkit-transition: border-bottom 0.2s;
    transition: border-bottom 0.2s;
}

.main-nav li a:hover,
.main-nav li a:active {
    border-bottom: 2px solid #E74C3C;
}

.sidebar-nav {
    position: fixed;
    top: 0;
    left: 0px;
    margin: 0;
    padding: 20px 0;
    background: #000;
    width: 250px;
    height: 100%;
    z-index: 1;
    list-style: none;
    transition: 0.3s;
}

.sidebar-nav li a {
    padding: 10px 20px;
    text-decoration: none;
    font-size: 100%;
    color: #FFF;
    display: block;
    transition: 0.3s;
    border-bottom: 1px solid rgba(166, 150, 150, 0.2);
}

.sidebar-nav li a:hover,
.sidebar-nav li a:active {
    color: #E74C3C;
}

.divider {
    height 15px;
    width: 100%;
    background-color: #E74C3C;
}

/* Mobile Navigation */
.mobile-nav-icon {
    float: right;
    margin-top: 34px;
    cursor: pointer;
    display: none;
}

.mobile-nav-icon i {
    font-size: 200%;
    color: #FFF;
}

/* Sticky Navigation */
.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(18, 16, 16, 0.98);
    -webkit-box-shadow: 0 2px 2px #302F2F;
            box-shadow: 0 2px 2px #302F2F;
    z-index: 9999;
}

.sticky .main-nav {
    margin-top: 36px;
}

.sticky .main-nav li a:link,
.sticky .main-nav li a:visited {
    padding: 16px 0;
    color: #FFF;
}

.sticky .company-name {
    height: 50px;
    margin-top: 10px;
}

.sticky .mobile-nav-icon {
    margin-top: 24px;
}

/* -------------------------------------------- */
/* Menu Items */
/* -------------------------------------------- */

img { max-width: 100%; }

img:hover { opacity: 0.8; }

.menu-items {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    background-color: #F4F4F4;
}

/* -------------------------------------------- */
/* Coming Soon */
/* -------------------------------------------- */

.coming-soon {
    background-color: #F4F4F4;
}

/* -------------------------------------------- */
/* Contact Form */
/* -------------------------------------------- */

.contact-form {
    font-family: 'Montserrat', sans-serif;
    width: 60%;
    margin: 0 auto;
}

input[type=text],
input[type=email],
select,
textarea {
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    padding: 7px;
    border-radius: 3px;
    outline: none;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    border: 1px solid #CCC !important;
}

textarea {
    height: 100px;
}

input[type=checkbox] {
    margin: 10px 5px 10px 0;
}

input[type=submit] {
    line-height: normal;
    font-weight: bolder;
}

input[type=submit]:hover {
    line-height: normal;
    font-weight: bolder;
    border: 1px solid #E74C3C;
    color: #FFF;
}


/* -------------------------------------------- */
/* Map */
/* -------------------------------------------- */

.map {
    width: 100%;
    height: 300px;
}

/* -------------------------------------------- */
/* Footer */
/* -------------------------------------------- */

footer {
    background-color: #000;
    padding: 50px;
    font-size: 100%;
    color: #E74C3C;
}

.social-icons {
    list-style: none;
    float: none;
}

.social-icons li {
    display: inline-block;
    margin-right: 20px;
}

.social-icons li:last-child {
    margin-right: 0;
}

.social-icons li a:link,
.social-icons li a:visited {
    text-decoration: none;
    border: 0;
    color: #E74C3C;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
}

.social-icons li a:link,
.social-icons li a:visited {
    font-size: 100%;
}

.ion-social-twitter,
.ion-social-linkedin,
.ion-social-github {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
}

.ion-social-twitter:hover {
    color: #00ACED;
}

.ion-social-linkedin:hover {
    color: #0077B5;
}

.ion-social-github:hover {
    color: #4078C0;
}

.hours,
.address-and-number {
    font-size: 75%;
}

.author-name {
    font-size: 85%;
}

/* -------------------------------------------- */
/* Media Queries */
/* -------------------------------------------- */

/* Big tablets up to 1200px (widths smaller than the 1140px row) */
@media only screen and (max-width: 1200px) {
    .hero-text-box {
        width: 100%;
        padding: 0 2%;
    }

    .sidebar-nav { display: none; }
}

/* Small tablets to big tablets from 768px to 1023px */
@media only screen and (max-width: 1023px) {
    .row { padding: 0 2%; }

    body { font-size: 18px; }
    section { padding: 60px 0;}

    .company-intro,
    .about-us {
        width: 80%;
        margin-left: 10%;
    }

    .contact-form { width: 80%;}

/* Small phones to small tablets from 767px to 857px */
@media only screen and (max-width: 857px) {

  body { font-size: 16px; }
  section { padding: 30px 0; }

  .hero-text-box { padding: 0 4%; }

  .mobile-nav-icon { display: inline-block; }

  .main-nav { display: none; }

  .main-nav li { display: none; }

  .main-nav li a:link,
  .main-nav li a:visited {
      display: block;
      border: 0;
      padding: 10px 0;
      font-size: 100%;
  }

  .sticky .main-nav { margin-top: 10px; }

  .sticky .main-nav li a:link,
  .sticky .main-nav li a:visited { padding: 10px 0; }

  h2 { font-size: 140%; }
  h3 { font-size: 140%; }

  .company-intro {
      width: 80%;
      margin-left: 10%;
  }
}

/* Small phones to small tablets from 481px to 767px */
@media only screen and (max-width: 767px) {
    body { font-size: 16px; }
    section { padding: 30px 0; }

    .hero-text-box { padding: 0; }

    .mobile-nav-icon {
      display: inline-block;
      margin-right: 2%;
     }

    .main-nav {
        float: left;
        margin-top: 30px;
        margin-left: 25px;
    }

    h2 {
      font-size: 120%;
      margin-top: 55px;
      margin-left: 8px;
    }
    h3 { font-size: 140%; }
}
