/* -------------------------
   Framework / Reusable Code
   ------------------------- */

/* Flexbox */
.flex {
    display: -webkit-box;  /* iOS / Safari */
    display: -moz-box;     /* Firefox */
    display: -ms-flexbox;  /* IE 10 */
    display: -webkit-flex; /* Chrome */
  display: flex;
}
.flex-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-wrap-reverse {
  -webkit-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
flex-wrap: wrap-reverse; 
}
.flex-row {
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -ms-flex-direction: row;
flex-direction: row;
}
.flex-row-reverse {  
-webkit-flex-direction: row-reverse;
-ms-flex-direction: row-reverse;
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
flex-direction: row-reverse;
}
.flex-column {
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
flex-direction: column;
}
.justify-center {
  -webkit-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
justify-content: center;
}
.justify-start {
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
justify-content: flex-start;
}
.justify-end {
  -webkit-justify-content: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
justify-content: flex-end;
}
.justify-between {
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
justify-content: space-between;
}
.justify-around {
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
justify-content: space-around;
}
.justify-evenly {
  -webkit-justify-content: space-evenly;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
justify-content: space-evenly;
}
.align-center {
  -ms-flex-line-pack: center;
align-content: center;
}
.align-items-center {
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
align-items: center;
}
.align-items-start {
  -ms-flex-line-pack: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  -webkit-box-align: start;
align-items: flex-start;
}
.align-items-end {
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  -ms-flex-align: flex-end;
  -webkit-box-align: end;
align-items: flex-end;
}
.align-self-end { 
  -ms-flex-item-align: end;
align-self: flex-end;
}
.align-self-start {
  -ms-flex-item-align: start;
align-self: flex-start;
}

@media screen and (max-width: 767px) {
  .align-items-center-mobile {
      -webkit-align-items: center;
      -ms-flex-align: center;
      -webkit-box-align: center;
    align-items: center;
  }
  .flex-row-mobile {
      display: -webkit-box;  /* iOS / Safari */
      display: -moz-box;     /* Firefox */
      display: -ms-flexbox;  /* IE 10 */
      display: -webkit-flex; /* Chrome */
    display: flex;
      -webkit-flex-direction: row;
      -webkit-box-orient: horizontal;
      -ms-flex-direction: row;
    flex-direction: row;
  }
  .flex-row-reverse-mobile {
      display: -webkit-box;  /* iOS / Safari */
      display: -moz-box;     /* Firefox */
      display: -ms-flexbox;  /* IE 10 */
      display: -webkit-flex; /* Chrome */
    display: flex;
      -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
    flex-direction: row-reverse;
  }
}

/* Flexbox Columns */
.col-one-sm .flex-item {
  -ms-flex-preferred-size: 100%;
flex-basis: 100%;
}
.col-two-sm .flex-item {
  -ms-flex-preferred-size: 48%;
flex-basis: calc(50% - 10px);
}
.col-three-sm .flex-item {
  -ms-flex-preferred-size: 32%;
flex-basis: calc(33% - 10px);
}
@media screen and (min-width: 767px) {
.col-one-lg .flex-item {
    -ms-flex-preferred-size: 100%;
  flex-basis: 100%
}
.col-two-lg .flex-item {
    -ms-flex-preferred-size: 48%;
  flex-basis: calc(50% - 20px);
}
.col-three-lg .flex-item {
    -ms-flex-preferred-size: 32%;
  flex-basis: calc(33.33% - 10px);
}
.col-four-lg .flex-item {
    -ms-flex-preferred-size: 24%;
  flex-basis: calc(25% - 10px);
}
.col-five-lg .flex-item {
    -ms-flex-preferred-size: 20%;
  flex-basis: calc(20%);
}
}

/* Lookbook QV on Desktop, not Mobile */
.qv-product, .slick-initialized .slick-slide.qv-product {
  display:flex;position:relative;
}
.qv-mobile-no, .qv-desktop {
  flex-basis: 200%;
}
.qv-mobile-no {
  position:absolute;
  height:100%;
  width:100%;
  z-index: -1;
  left:0;
  top:0;
}

@media only screen and (max-width: 767px) {
.qv-mobile-no {
  z-index:99;
}
.qv-desktop {
  z-index:0; /*must be declared for IE*/
}
}

/* Text Styles */
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize; 
}
.underline {
  text-decoration: underline;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .mobile-center {
    text-align: center;
  }
}


/* Border Options */
.border-radius50 {
    -webkit-border-radius: 50%; 
    -moz-border-radius: 50%;
  border-radius: 50%; 
}
.border-solid {
  border-style: solid;
}
.border-dotted {
  border-style: dotted;
}
.border-0 {
  border-width: 0px;
}
.border-1 {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-3 {
  border-width: 3px;
}
.border-t0 {
  border-top-width: 0px;
}
.border-t1 {
  border-top-width: 1px;
}
.border-t2 {
  border-top-width: 2px;
}
.border-t3 {
  border-top-width: 3px;
}
.border-b0 {
  border-bottom-width: 0px;
}
.border-b1 {
  border-bottom-width: 1px;
}
.border-b2 {
  border-bottom-width: 2px;
}
.border-b3 {
  border-bottom-width: 3px;
}
.border-r0 {
  border-right-width: 0px;
}
.border-r1 {
  border-right-width: 1px;
}
.border-r2 {
  border-right-width: 2px;
}
.border-r3 {
  border-right-width: 3px;
}
.border-l0 {
  border-left-width: 0px;
}
.border-l1 {
  border-left-width: 1px;
}
.border-l2 {
  border-left-width: 2px;
}
.border-l3 {
  border-left-width: 3px;
}
@media screen and (max-width: 767px) {
  .border-0-mobile {
    border: none;
  }
}


/* Line Heights (p = point) */
.line-height-0 {
  line-height: 0;
}
.line-height-p6 {
  line-height: .6;
}
.line-height-p7 {
  line-height: .7;
}
.line-height-p8 {
  line-height: .8;
}
.line-height-p9 {
  line-height: .9;
}
.line-height-1 {
  line-height: 1;
}
.line-height-1p1 {
  line-height: 1.1;
}
.line-height-1p2 {
  line-height: 1.2;
}
.line-height-1p3 {
  line-height: 1.3;
}
.line-height-1p4 {
  line-height: 1.4;
}
.line-height-1p9 {
  line-height: 1.9;
}


/* Letter Spacing (p = point, n = negative) */
.letter-spacing-0 {
  letter-spacing: 0px;
}
.letter-spacing-p5 {
  letter-spacing: .5px;
}
.letter-spacing-1 {
  letter-spacing: 1px;
}
.letter-spacing-2 {
  letter-spacing: 2px;
}
.letter-spacing-10 {
  letter-spacing: 10px;
}
.letter-spacing-15 {
  letter-spacing: 15px;
}
.letter-spacing-n1 {
  letter-spacing: -1px;
}
.letter-spacing-n5 {
  letter-spacing: -5px;
}
.letter-spacing-n10 {
  letter-spacing: -10px;
}
.letter-spacing-n15 {
  letter-spacing: -15px;
}
@media screen and (max-width: 767px) {
  .letter-spacing-0-mobile {
    letter-spacing: 0px;
  }
}


/* Position / Display Options */
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.inline-block {
  display: inline-block;
}
.align-top {
  vertical-align: top;
}
.align-bottom {
  vertical-align: bottom;
}
.zn1 {
  z-index: -1;
}
.z0 {
  z-index: 0;
}
.z1 {
  z-index: 1;
}
.z2 {
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .mobile-block {
    display: block;
  }
  .mobile-hide {
    display: none;
  }
}
@media screen and (min-width: 768px) { 
  .desktop-block {
    display: block;
  }
  .desktop-hide {
    display: none;
  }
}


/* Width / Height */

.width20 {
  width: 20%;
}
.width25 {
  width: 25%;
}
.width30 {
  width: 30%;
}
.width35 {
  width: 35%;
}
.width40 {
  width: 40%;
}
.width43 {
  width: 43%;
}
.width45 {
  width: 45%;
}
.width47 {
  width: 47%;
}
.width50 {
  width: 50%;
}
.width55 {
  width: 55%;
}
.width60 {
  width: 60%;
}
.width65 {
  width: 65%;
}
.width70 {
  width: 70%;
}
.width75 {
  width: 75%;
}
.width80 {
  width: 80%;
}
.width85 {
  width: 85%;
}
.width90 {
  width: 90%;
}
.width95 {
  width: 95%;
}
.width100 {
  width: 100%;
}
.width-auto {
  width: auto;
}
.height25 {
  height: 25%;
}
.height30 {
  height: 30%;
}
.height40 {
  height: 40%;
}
.height50 {
  height: 50%;
}
.height60 {
  height: 60%;
}
.height70 {
  height: 70%;
}
.height80 {
  height: 80%;
}
.height90 {
  height: 90%;
}
.height100 {
  height: 100%
}
.height-auto {
  height: auto;
}
@media screen and (max-width: 767px) { 
  .width100-mobile {
    width: 100%;
  }
  .width-auto-mobile {
    width: auto;
  }
  .height100-mobile {
    height: 100%;
  }
  .height-auto-mobile {
    height: auto;
  }
}


/* ---------------------------------
 Paddings (Top, Bottom, Left, Right)
------------------------------------ */
.p0 {
  padding: 0;
}

/* 5 */
.p5 {
  padding: 5px;
}
.ptb5 {
  padding: 5px 0;
}
.plr5 {
  padding: 0 5px;
}
.pt5 {
  padding-top: 5px; 
}
.pb5 {
  padding-bottom: 5px; 
}
.pl5 {
  padding-left: 5px; 
}
.pr5 {
  padding-right: 5px; 
}

/* 10 */
.p10 {
  padding: 10px;
}
.ptb10 {
  padding: 10px 0;
}
.plr10 {
  padding: 0 10px;
}
.pt10 {
  padding-top: 10px; 
}
.pb10 {
  padding-bottom: 10px; 
}
.pl10 {
  padding-left: 10px; 
}
.pr10 {
  padding-right: 10px; 
}

/* 15 */
.p15 {
  padding: 15px;
}
.ptb15 {
  padding: 15px 0;
}
.plr15 {
  padding: 0 15px;
}
.pt15 {
  padding-top: 15px; 
}
.pb15 {
  padding-bottom: 15px; 
}
.pl15 {
  padding-left: 15px; 
}
.pr15 {
  padding-right: 15px; 
}

/* 20 */
.p20 {
  padding: 20px;
}
.ptb20 {
  padding: 20px 0;
}
.plr20 {
  padding: 0 20px;
}
.pt20 {
  padding-top: 20px; 
}
.pb20 {
  padding-bottom: 20px; 
}
.pl20 {
  padding-left: 20px; 
}
.pr20 {
  padding-right: 20px; 
}

/* 25 */
.p25 {
  padding: 25px;
}
.ptb25 {
  padding: 25px 0;
}
.plr25 {
  padding: 0 25px;
}
.pt25 {
  padding-top: 25px; 
}
.pb25 {
  padding-bottom: 25px; 
}
.pl25 {
  padding-left: 25px; 
}
.pr25 {
  padding-right: 25px; 
}

/* 30 */
.p30 {
  padding: 30px;
}
.ptb30 {
  padding: 30px 0;
}
.plr30 {
  padding: 0 30px;
}
.pt30 {
  padding-top: 30px; 
}
.pb30 {
  padding-bottom: 30px; 
}
.pl30 {
  padding-left: 30px; 
}
.pr30 {
  padding-right: 30px; 
}

/* 40 */
.p40 {
  padding: 40px;
}
.ptb40 {
  padding: 40px 0;
}
.plr40 {
  padding: 0 40px;
}
.pt40 {
  padding-top: 40px; 
}
.pb40 {
  padding-bottom: 40px; 
}
.pl40 {
  padding-left: 40px; 
}
.pr40 {
  padding-right: 40px; 
}

/* 50 */
.p50 {
  padding: 50px;
}
.ptb50 {
  padding: 50px 0;
}
.plr50 {
  padding: 0 50px;
}
.pt50 {
  padding-top: 50px; 
}
.pb50 {
  padding-bottom: 50px; 
}
.pl50 {
  padding-left: 50px; 
}
.pr50 {
  padding-right: 50px; 
}


/* ---------------------------------
 Margins (Top, Bottom, Left, Right)
------------------------------------ */
.m0 {
  margin: 0;
}
.m0auto {
  margin: 0 auto;
}
.mlr-auto {
  margin-left: auto;
  margin-right: auto;
}
.mtauto {
  margin-top: auto;
}

/* 5 */
.m5 {
  margin: 5px;
}
.mtb5 {
  margin: 5px 0;
}
.mlr5 {
  margin: 0 5px;
}
.mt5 {
  margin-top: 5px; 
}
.mb5 {
  margin-bottom: 5px; 
}
.ml5 {
  margin-left: 5px; 
}
.mr5 {
  margin-right: 5px; 
}

/* 10 */
.m10 {
  margin: 10px;
}
.mtb10 {
  margin: 10px 0;
}
.mlr10 {
  margin: 0 10px;
}
.mt10 {
  margin-top: 10px; 
}
.mb10 {
  margin-bottom: 10px; 
}
.ml10 {
  margin-left: 10px; 
}
.mr10 {
  margin-right: 10px; 
}

/* 15 */
.m15 {
  margin: 15px;
}
.mtb15 {
  margin: 15px 0;
}
.mlr15 {
  margin: 0 15px;
}
.mt15 {
  margin-top: 15px; 
}
.mb15 {
  margin-bottom: 15px; 
}
.ml15 {
  margin-left: 15px; 
}
.mr15 {
  margin-right: 15px; 
}

/* 20 */
.m20 {
  margin: 20px;
}
.mtb20 {
  margin: 20px 0;
}
.mlr20 {
  margin: 0 20px;
}
.mt20 {
  margin-top: 20px; 
}
.mb20 {
  margin-bottom: 20px; 
}
.ml20 {
  margin-left: 20px; 
}
.mr20 {
  margin-right: 20px; 
}

/* 25 */
.m25 {
  margin: 25px;
}
.mtb25 {
  margin: 25px 0;
}
.mlr25 {
  margin: 0 25px;
}
.mt25 {
  margin-top: 25px; 
}
.mb25 {
  margin-bottom: 25px; 
}
.ml25 {
  margin-left: 25px; 
}
.mr25 {
  margin-right: 25px; 
}

/* 30 */
.m30 {
  margin: 30px;
}
.mtb30 {
  margin: 30px 0;
}
.mlr30 {
  margin: 0 30px;
}
.mt30 {
  margin-top: 30px; 
}
.mb30 {
  margin-bottom: 30px; 
}
.ml30 {
  margin-left: 30px; 
}
.mr30 {
  margin-right: 30px; 
}

/* Extra Large Margins / Padding */
.mt40 {
  margin-top: 40px;
}
.mb40 {
  margin-bottom: 40px; 
}
.mr40 {
  margin-right: 40px;
}
.mt50 {
  margin-top: 50px; 
}
.mb50 {
  margin-bottom: 50px; 
}
.mb60 {
  margin-bottom: 60px; 
}

/* Mobile Only Spacing */
@media screen and (max-width: 767px) {
  .mlr-auto-m {
    margin-left: auto;
    margin-right: auto;
  }
  .p0m {
    padding: 0px;
  }
  .m0m {
    margin: 0px;
  }
  .mb0m {
    margin-bottom: 0px;
  }
  .mt0m {
    margin-top: 0px;
  }
  .ml0m {
    margin-left: 0px;
  }
  .mr0m {
    margin-right: 0px;
  }

  .mb5m {
    margin-bottom: 5px;
  }
  .mt5m {
    margin-top: 5px;
  }
  .ml5m {
    margin-left: 5px;
  }
  .mr5m {
    margin-right: 5px;
  }

  .mb10m {
    margin-bottom: 10px;
  }
  .mt10m {
    margin-top: 10px;
  }
  .ml10m {
    margin-left: 10px;
  }
  .mr10m {
    margin-right: 10px;
  }

  .mb15m {
    margin-bottom: 15px;
  }
  .mt15m {
    margin-top: 15px;
  }
  .ml15m {
    margin-left: 15px;
  }
  .mr15m {
    margin-right: 15px;
  }

  .mb20m {
    margin-bottom: 20px;
  }
  .mt20m {
    margin-top: 20px;
  }
  .ml20m {
    margin-left: 20px;
  }
  .mr20m {
    margin-right: 20px;
  }

  .mb25m {
    margin-bottom: 25px;
  }
  .mt25m {
    margin-top: 25px;
  }
  .ml25m {
    margin-left: 25px;
  }
  .mr25m {
    margin-right: 25px;
  }
}


/* --------
   Modules
  --------- */

/* Text on Image */
.module-studio img {
  vertical-align: bottom;
}
.text-overlay {
  position: absolute;
  top: 0;
  height: 100%;
}
.text-overlay.overlay-right {
  right: 0;
}
.text-overlay.overlay-left {
  left: 0;
}
@media screen and (max-width: 767px) { 
  .text-overlay {
    position: static;
    height: auto;
    width: 100%;
  }
  .text-overlay.text-overlay-stay-mobile {
    position: absolute;
    height: 100%;
  }
}
.multi-link-img {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}

.full-coverage-link {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* Hero with Overlaped Grid */
.overlap-images {
  margin-top: -5%;
  position:relative;
}

/* Carousel */
.carousel-hide-on-load {
  display: none;
}
.module-carousel .slick-track {
  display: flex;
  align-items: center;
}
.module-carousel .slick-list {
  width: 92%;
}
.module-carousel .carousel-arrow {
  width: 4%;
  text-align: center;
  z-index: 1;
}
.module-carousel .slick-dots li {
  margin: 0 5px;
}
.module-carousel .slick-dots .nav-dots {
  width: 15px;
  height: 15px;
  cursor: pointer;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
.module-carousel .slick-dots {
  margin: 0;
}

/* jQuery Dialog Modal*/
.module-modal {
  display: none;
}
.module-modal-btn {
  cursor: pointer;
}

/* Drawer */
#module-drawer {
    display: none;
}
.drawer-arrow {
    transform: rotate(0deg);
    transition: .3s;
}
.drawer-arrow.rotate {
    transform: rotate(180deg);
    transition: .3s;
    margin-top: 0px;
}

/* Drawer Bar */
.drawer-bar-closed,
.module-drawer-bar .drawer-bar {
    height: 100px;
    overflow: hidden;
}
.drawer-bar-closed .drawer-bar-content {
    display: none;
}
.drawer-bar-arrow {
    transform: rotate(0deg);
    transition: .3s;
}
.drawer-bar-arrow.rotate {
    transform: rotate(180deg);
    transition: .3s;
    margin-top: 0px;
}

/* Text Lines */
.horizontal-line {
  display: inline-block;
  height: 1px;
  vertical-align: middle;
}
.horizontal-line-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.vertical-line {
  margin: auto 0;
}
.vertical-line-container {
  left: 50%;
  bottom: 0;
}