@import url('icon-font.css');

/*--Colors--*/

/*--Buttons--*/
button,
input,
select,
textarea{
  border: none;
  outline: 0;
  resize: none;
}

input,
.input{
  background: transparent;
  padding: 0;
}

button{
  background: transparent;
  cursor: pointer;
}

.btn{
  display: inline-block;
  padding: 12px 16px;
  text-transform: uppercase;
  border-radius: 2px;
}
.btn:hover{
  text-decoration: underline;
}

/*--Generic classes--*/
html {
  -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%;
    -webkit-font-smoothing: antialiased !important;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit; 
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

::selection{
  color: #fff;  
  background: #2A2337;
}

.flexbox{
  display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;      /* TWEENER - IE 10 */
  display: -webkit-flex;     /* NEW - Chrome */
  display: -moz-flex;
  display: flex;  
  
  -webkit-flex-flow: row wrap;
  flex-wrap: wrap;
}

.flexbox1{
  justify-content: space-around;
}

.flexbox2{
  justify-content: space-between;
}

.flexbox3{
  justify-content: flex-end;
}

.flexbox4{
  justify-content: center;
}

body{
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #333;
  line-height: 1;
  background: #f2f2f2;
}

ul{
  padding: 0;
  margin: 0;
  list-style-type: none;
}

a{
  text-decoration: none;
  color: inherit;
  -webkit-transition: 0.2s all ease-in-out;
  -o-transition: 0.2s all ease-in-out;
  transition: 0.2s all ease-in-out;
}

b{
  font-weight: 500;
}

h1,
h2,
h3,
h4{
  margin: 0;
  font-weight: 700;
}

.h1, h1{
  font-size: 2.2em;
}
.h2, h2{
  font-size: 1.8em;
}

.container{
  width: 1120px;
  padding: 0 10px;
  margin: 0 auto
}
.center{
  text-align: center;
}
.pad60{
  padding: 60px 0;
}
.table{
  display: table;
  width: 100%;
  height: 100%
}
.tc{
  display: table-cell;
  vertical-align: middle;
}
.card{
  padding: 10px;
  border-radius: 2px; 
  background: #fff;
  -webkit-box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.3);
     -moz-box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.3);
          box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.3);
}



header.primary{
  height: 80px;
  background: #fff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 50;
}
header.primary > div > div.flexbox{
  align-items: center;
}
header.primary .logo{
  margin: 0 36px 0 0;
  height: 80px;
  line-height: 80px;
}
header.primary .logo a{
  height: 70px;
  align-items: center;
  margin: 5px 0;
  font-size: 22px;
  font-weight: 700;
  outline: 0;
  text-transform: uppercase;
  vertical-align: middle;
}

header.primary .logo a:hover{
  color: goldenrod;
}
header.primary .logo a img{
  max-height: 70px;
  max-width: 100%;
  margin-right: 14px;
}
header.primary nav,
header.primary .menu{
  margin-left: auto;
  overflow: hidden;
}
header.primary nav .closeup{
  display: none;
}
header.primary nav li{
  margin-left: 24px;
}
header.primary nav li a{
  display: inline-block;
  height: 60px;
  line-height: 60px;
  font-size: 16px;
  position: relative;
  color: rgba(0,0,0,0.75);  
}
header.primary nav li a:after{
  content: '';
  width: 100%;
  height: 3px;
  background: rgba(0,0,0, 0.80); 
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.2s all ease-in-out;
  -o-transition: 0.2s all ease-in-out;
  transition: 0.2s all ease-in-out;
}
header.primary nav li a:hover{
  color: rgba(0,0,0,1);  
}
header.primary nav li a:hover:after{
  visibility: visible;
  opacity: 1;
  top: calc(100% - 2px);
}

header.primary .menu a{
  display: inline-block;
  padding: 0 10px;
}
header.primary i.fa{
  vertical-align: middle;
}
header.primary .menu{
  display: none;
}

/*--Above the Fold--*/
.fold{
  margin-top: 80px;
}
.fold .hero{
  min-height: 320px;
  height: 640px;
  background: rgba(0, 0, 0, 0.6);
  overflow: hidden;
  color: #fff;
  position: relative;
  text-align: center;
}
.fold .hero i{
  font-size: 60px;
  line-height: 1;
  margin-bottom: 0.5em;
}
.fold .hero h1{
    font-size: 48px;
    line-height: 1;
    font-weight: 300;
}
.fold .hero .cover{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url('../images/fold.jpg') center no-repeat;
  background-size: cover;
}

/*--Sections--*/
.one h2,
.two h2,
footer h2{
  margin-bottom: 1em;
}
.one p{
  margin: 0;
  line-height: 1.6;
}
.one ul li{
  line-height: 1.6;
  list-style-type: disc;
  margin: 0.4em 0 0 1.4em;
}

.top-locations article a{
  display: block;
  overflow: hidden;
  position: relative;
  color: #fff;
}
.top-locations article.main,
.top-locations article.sub{
  width: calc(50% - 5px);
}
.top-locations article.main a{
  width: 100%;
  height: 300px;
  margin-bottom: 10px;
}
.top-locations article.sub{
  margin-left: auto;
}
.top-locations article.sub a{
  width: calc(50% - 5px);
  height: 145px;
  margin-bottom: 10px;
}
.top-locations article.sub a:nth-child(odd){
  margin-right: 10px;
}
.top-locations article a i{
  position: absolute;
  top: 0;
  left: 50%;
  visibility: hidden;
  opacity: 0;
  z-index: 3;
  font-size: 32px;
  width: 60px;
  height: 60px;
  line-height: 60px;
  background: rgba(0,0,0,0.8);
  vertical-align: middle;
  border: 1px solid #000;
  border-radius: 50%;
  text-align: center;
  -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
  -webkit-transition: 0.2s all ease-in-out;
  -o-transition: 0.2s all ease-in-out;
  transition: 0.2s all ease-in-out;
}
.top-locations article a:hover i{
  top: 50%;
  visibility: visible;
  opacity: 1;
}
.top-locations article a img{
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.top-locations article.sub a img{
  height: 145px;
}
.top-locations article a .caption{
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 8px 12px;
  background: rgba(0,0,0,0.85);
  font-size: 16px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}

footer.secondary{
  background: goldenrod;
}
footer h3{
  text-transform: uppercase;
  margin-bottom: 1.4em;
}
footer h2 a{
  display: inline-block;
}
footer h2 a img{
  display: block;
  max-height: 80px;
  max-width: 100%;
}
footer.bottom{
  padding: 18px;
  background: #212121;
  text-align: center;
  color: rgba(255,255,255,0.9);
}
footer.bottom .copyright{
  margin-bottom: 16px;
}
footer.bottom p{
  font-size: 12px;
  margin: 0 0 12px;
  color: rgba(255,255,255,0.75);
}
footer.bottom p:last-child{
  margin: 0;
  color: rgba(255,255,255,1);
}


/*--Responsive Media Queries--*/
@media screen and (max-width: 1140px) {
  .container{
    width: 920px;
  }
}


@media screen and (max-width: 940px) {
  .container{
    width: 90%;
  }
  .top-locations article a{
    min-width: 240px;
  }
  .top-locations article.main, .top-locations article.sub{
    width: 100%;
  }
  .top-locations article.sub a{
    height: 180px;
  }
  .top-locations article.main a  img,
  .top-locations article.sub a img{
    min-height: 180px;
  }
  header.primary nav{
    background: rgba(0,0,0, 0.95);
    position: fixed;
    width: 240px;
    height: 100%;
    right: -240px;
    top: 0;
    bottom: 0;
    z-index: 55;
    overflow-y: auto;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
    -webkit-transition: 0.15s all ease-in-out;
    -o-transition: 0.15s all ease-in-out;
    transition: 0.15s all ease-in-out;
  }
  header.primary nav.wow{
    -webkit-transform: translateX(-240px);
    transform: translateX(-240px);
    -webkit-transform: translate3d(-240px, 0, 0);
    transform: translate3d(-240px, 0, 0);
  }
  header.primary nav .closeup {
    display: block;
    background: rgba(0,0,0,0.95);
    color: #fff;
    height: 44px;
    width: 44px;
    line-height: 44px;
    vertical-align: middle;
    text-align: center;
    font-size: 24px;
  }
  header.primary nav ul{
    margin: 12px 0 20px;
  }
  header.primary nav ul li{
    width: 100%;
    display: block;
    margin: 0;
  }
  header.primary nav ul li a{
    width: 100%;
    height: auto;
    line-height: initial;
    color: #fff;
    padding: 12px 18px;
  }
  header.primary nav ul li a:after{
    all: initial;
  }
  header.primary nav ul li a:hover{
    background: #fff;
  }
  header.primary .menu{
    display: inherit;
  }
}

@media screen and (max-width: 640px) {
  .fold .hero{
    height: 320px;
  }
  .fold .hero h1{
    font-size: 36px;
  }
  .top-locations article.sub a{
    width: 100%;
    height: 300px;
  }
  .top-locations article.main a  img, .top-locations article.sub a img{
    min-height: 300px;
  }
  .top-locations article.sub a:nth-child(odd){
    margin-right: 0;
  }
  .top-locations article.sub a:last-child{
    margin-bottom: 0;
  }
}


@media screen and (max-width: 480px) {
  .container{
    width: 95%;
  }
  header.primary .logo{
    margin-right: 10px;
  }
  header.primary .logo a span{
    display: none;
  }
  header.primary nav{
    width: 100%;
    height: 100%;
    right: -100%;
  }
  header.primary nav.wow{
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  .fold .hero h1{
    font-size: 24px;
  }
  .top-locations article.main a,
  .top-locations article.sub a,
  .top-locations article.main a  img, .top-locations article.sub a img{
    height: auto;
    min-height: auto;
  }
}