html {
  font-size: 14px;
}

@include media-breakpoint-up(sm) {
  html {
    font-size: 16px;
  }
}
@include media-breakpoint-up(xl) {
  html {
    font-size: 17px;
  }
}

h1{
  line-height: 1.1;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6{
  //margin-bottom: 2rem;

  small{
    letter-spacing: normal;
    display: block;
  }

}
h1, h2,
.h1, .h2{
  margin-bottom: 2rem;
}
h2, h3, h4, h5, h6,
.h2, .h3, .h4, .h5, .h6{
  line-height: 1.25;
}
p{
  line-height: 1.625;
  //margin-bottom: 2rem;
}
.lead{
  margin-bottom: 2rem;
}
b,
strong {
  font-weight: bold;
}
blockquote,
q{
  cite{
    display: block;
    text-align: right;
    text-transform: uppercase;
    font-size: .75rem;
    font-style: normal;
    margin-top: 1rem;

    &::before{
      content: '';
      display: inline-block;
      margin-right: 0.625rem;
      width: 6.25rem;
      border-top:1px solid;
      position: relative;
      top: -0.25em;
    }
  }
}
table{
  @extend .table;
}
q{
  @extend .pullquote;
}
img{
  max-width: 100%;
  height: auto;
}
sup{
  left: 1px;
}
address{
  font-size: .85rem;
  padding: 0 0 0 1.5rem;
  position: relative;
  margin-bottom: 2rem;

  &::before{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: .25rem;
    background-color: currentColor;
    opacity: .125;
  }
}
pre{
  position: relative;
  padding: 2rem;
  white-space: pre-wrap;

  &::before{
    content: '';
    display: block;
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid currentColor;
    opacity: .125;
  }
}

input[type=text],
input[type=search],
input[type=password],
input[type=email],
input[type=number],
input[type=url],
input[type=date],
input[type=tel],
select,
textarea{
	@extend .form-control;
}
input[type="submit"]:not(.btn),
input[type="button"]:not(.btn),
button{
	@extend .btn;
}
select{
	background-repeat: no-repeat !important;
	background-position: center right !important;
	background-size: 20px !important;
  -moz-appearance: none;
  appearance: none;
}

.ct-site{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  min-height: 100vh;

  .ct-layout--boxed &{
    margin: 0 auto;
  }
}
.ct-content{
  width: 100%;
  position: relative;
  overflow-x: hidden;
  flex-grow: 1;

  dl{
    width: 100%;
    font-size: .75rem;

    dd{
      margin-left: 1rem;
      opacity: 0.75;
    }

    dt:not(:first-child){
      margin-top: 1rem;
    }

  }

}

.page{
  .comments-area{
    max-width: 50rem;
  }
}

.ct-page__entry-content,
.ct-single__entry-content{

  blockquote{
    margin: 2rem 4rem;
  }

  .embed-responsive{
    margin: 2rem 0;
  }

}

.ct-single__entry-content{

  ul{
    list-style: none;
    padding: 0;
    margin: 0;
    list-style: none;

    li{
      position: relative;
      padding: .25rem 0 .25rem 1.2rem;

      &::before{
        content: '—';
        display: block;
        position: absolute;
        left: 0;
        top: 0.6em;
        font-size: 11px;
        opacity: 0.35;
      }

    }

  }

  ol{
    padding-left: 1.6rem;
    list-style: none;
    counter-reset: ol-list-counter;

    li{
      padding: .25rem 0;
      position: relative;

      &::before{
        content: counter(ol-list-counter) ".";
      	counter-increment: ol-list-counter;
        position: absolute;
        left: -1.2rem;
        width: 1.2rem;
        display: inline-block;
        opacity: .5;
        font-size: .9em;
        top: .35rem;
      }

    }
  }

}

.text-small{
  font-size: 80%;
  line-height: 1.75;
  opacity: .75;
}

.ct-lightbox{
  cursor: zoom-in;
}
@import '_basic.special-title';

.parallax-image{

  @include media-breakpoint-up(sm) {
    position: absolute;
  }
}
.vc_row.parallax-visible{
  overflow: visible !important;
}

.wpb_single_image[style*=max-width]{
  @include media-breakpoint-down(sm) {
    max-width: 100% !important;
  }
}
.filtered-image{
  img{
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
    filter: gray;
    -webkit-filter: grayscale(100%);
  }
}
.responsive-image{
  width: 100%;
  min-height: 30rem;
  position: relative;
  overflow: hidden;

  &::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    opacity: 0.05;
    background-color: #000;
  }
  img{
    max-width: none !important;
    opacity: 0.85;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    opacity: 0.85;
  }

}

.mfp-close.mfp-close{
  display: none !important;
}


.xtd-carousel-filmstrip{

  .wpb_single_image{
    padding-top: 3rem;
    max-width: 20rem;
    float: left;

		&:nth-child(2n+1){
      padding-top: 0;
    }
    &:nth-child(5n){
      max-width: 18rem;
    }
    &:nth-child(4n){
      max-width: 22rem;
    }
    &:nth-child(6n){
      max-width: 26rem;
    }
    &:first-child{
      max-width: 24rem;
    }

  }

  &__container{
    position: relative;
  }
}

.color-text,
.color-text-inverted,
.color-bg,
.color-bg-inverted{
  h1, h2, h3, h4, h5, h6, blockquote, q, div, p, strong{
    color: inherit;
  }
}

.mfp-wrap .mfp-inline-holder{
  .mfp-content{
    max-width: 900px;
  }
}

*:not(.mfp-content) > .pirouette-modal-content{
  display: none;
}
