html{font-size: 1em;}


h1, h2, h3, h4, h5, h6{
	margin-top: 0;
}
img{
	max-width: 100%;
	height: auto;
}

/* Section Title
-------------------------------------------------- */
.section-title{
    text-align: center;
    text-transform: uppercase;
    position: relative;
    margin-bottom: 6.25rem;
    font-weight: bold;
    &::after{
        position: absolute;
        content: " ";
        display: block;
        height: 1px;
        border-top: 1px solid @heroColor;
        width: 4.41176470588235em;
        left: 50%;
        bottom: -0.73529411764706em;
        .translate(-50%; 0);
        z-index: 0;
    }
    &::before{
        content: "";
        position: absolute;
        bottom: -35px;
        border: 10px solid #fff;
        border-top: none;
        border-bottom: none;
        left: 50%;
        width: 21px;
        height: 20px;
        .transition( all 300ms );
        .translate( -50%; 0);
        background-color: @heroColor;
        z-index: 1;
    }
    a{
        color: inherit;
    }
}
.section-title.alt{
  text-align: left;
  margin-bottom: 4.375rem;
  &::after{
        left: 0%;
        bottom: -0.89285714285714em;
        .translate(0; 0);
    }
    &::before{
        bottom: -35px;
        left: 53px;
        .transition( all 300ms );
        .translate( 0; 0);
    }
}


.preloader { 
	background:@body-bg; 
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 30;
	top: 0;
	left: 0;
	.transition( all 900ms ease-in-out);
	text-align: center;
	color: @gray-light2!important;
}
.preloader i { 
	font-size: 28px;
	position: absolute;
	left: 50%;
	top: 300px;
}


/* Read More Button
-------------------------------------------------- */
.read-more{
  text-transform: uppercase;
  margin-top: 10px;
  display: inline-block;
  padding: 5px 0;
  color: @heroColor;
  position: relative;
  i{
    margin-left: 10px;
    .font-size(14);
    position: relative;
    top: -1px;
    color: inherit;
  }

  &:hover{
    text-decoration: none;
  }
  &:after{
    position: absolute;
    left: 0;
    bottom: 0;
    .transition(all 250ms);
    content: " ";
    display: block;
    width: 0;
    height: 1px;
    background-color: @heroColor;
  }
  &:hover:after{
    width: 100%;
  }
}



.ql_background{
  .transition(all 300ms);
  .box-shadow( 0 2px 4px 0 rgba(0,0,0,0.06));
  background-color: #fff;
}
.ql_background_hover{
  .ql_background;
  &:hover{
    .box-shadow( 0 3px 8px 1px rgba(0,0,0,0.1) );
  }
}

/* Custom button
-------------------------------------------------- */

/* Override base .btn styles */
/* Apply text and background changes to three key states: default, hover, and active (click). */
.btn-ql,
.btn-ql:hover,
.btn-ql:active {
    display: inline-block;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid @heroColor;
    color: #fff;
    border-radius: 0;
    .font-size(14);
    text-transform: uppercase;
    padding: 0.85714285714286em 2.14285714285714em;
    font-weight: bold;
    .transition(~"translate 100ms ease-in-out, opacity 200ms ease-in-out");
    .transition( all 200ms);
    position: relative;
    &:hover{
        text-decoration: none;
    }
    &::before, &::after{
      content: "";
      position: absolute;
      bottom: 0;
      width: 1px;
      height: 20px;
      .transition( all 300ms );
      .translate(0; 50%);
      background-color: @heroColor;
    }
    &::before{
        left: -5px;
    }
    &::after{
        right: -5px;
    }
    &:hover::before, &:hover::after{
        height: 40px;
    }
    &:hover::before{
        left: 5px;
    }
    &:hover::after{
        right: 5px;
    }

}



.btn-ql-round,
.btn-ql-round:hover,
.btn-ql-round:active {
    display: inline-block;
    background-color: transparent;
    border: none;
    color: @gray-dark;
    border-radius: 0;
    .font-size(14);
    text-transform: uppercase;
    padding: 0.85714285714286em 2.14285714285714em 0.85714285714286em 90px;
    font-weight: bold;
    .transition(~"translate 100ms ease-in-out, opacity 200ms ease-in-out");
    .transition( all 200ms);
    position: relative;
    &:hover{
        text-decoration: none;
    }

    &::before{
        content: "";
        position: absolute;
        left: 0;
        top: -50%;
        border: 1px solid @heroColor;
        width: 45px;
        height: 45px;
        border-radius: 50%;
        .translate(0; 50%);
    }
    &::after{
        content: "";
        position: absolute;
        top: 50%;
        left: 22px;
        width: 45px;
        height: 1px;
        .transition( width 200ms );
        .translate(0; -50%);
        background-color: @heroColor;
    }
    &:hover::after{
        width: 60px;
    }

}



.btn-ql.alternative{
  background-color: transparent;
  border-color: @heroColor;
  color: @heroColor;
  &:hover{
    background-color: @heroColor;
    color: #fff;
    border-color: @heroColor;
  }
}

.btn-ql.alternative-white{
  background-color: transparent;
  border-color: #fff;
  color: #fff;
  &:hover{
    background-color: @heroColor;
    color: #fff;
    border-color: @heroColor;
  }
}

.btn-ql.alternative-gray{
  background-color: transparent;
  border-color: @gray-light2;
  color: @gray-light2;
  &:hover{
    background-color: @heroColor;
    color: #fff;
    border-color: @heroColor;
  }
}

/* Apply the custom-colored gradients */
/* Note: you'll need to include all the appropriate gradients for various browsers and standards. */
.btn-ql > i {
	font-size: 1.16666666666667em;
	position: absolute;
	top: -2em;
  left: 50%;
  margin-left: -8px;
  .animation(btn_in 300ms ease-in-out)
}
.btn-ql > span {
  .transition( all 100ms ease-in-out);
}


/*For special occacions */
.btn-ql > b.ql_sec_icon {
	font-size: 1.16666666666667em;
	font-weight: normal;
	position: absolute;
	left: 43%;
	top: 0.57142857142857em;
	.transition( all 200ms ease-in-out);
	.opacity(0);
}

.btn-ql.ql_show_sec > b.ql_sec_icon {
	.opacity(1);
}
.btn-ql.ql_show_sec > span, .btn-ql.ql_show_sec > i{
  .opacity(0);
}

/* Set the hover state */
/* An easy hover state is just to move the gradient up a small amount. Add other embellishments as you see fit. */
.btn-ql:hover > span {
  .opacity(0);
}
.btn-ql:hover > i {
	top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -8px;
  .animation(btn_out 300ms ease-in-out)
}

/*
Show the icon
*/
@-webkit-keyframes btn_out {
  0%   { top: -2em; }
  100% { top: 50%; }
}
@-moz-keyframes btn_out {
  0%   { top: -2em; }
  100% { top: 50%; }
}
@-o-keyframes btn_out {
  0%   { top: -2em; }
  100% { top: 50%; }
}
@keyframes btn_out {
  0%   { top: -2em; }
  100% { top: 50%; }
}

/*
Hide the icon
*/
@-webkit-keyframes btn_in {
  0%   { top: 50%; }
  100% { top: 4em; }
}
@-moz-keyframes btn_in {
  0%   { top: 50%; }
  100% { top: 4em; }
}
@-o-keyframes btn_in {
  0%   { top: 50%; }
  100% { top: 4em; }
}
@keyframes btn_in {
  0%   { top: 50%; }
  100% { top: 4em; }
}


.btn-ql:active {
	.translate(0; 1px );
	.box-shadow(none);
}



.transition-duration(@transition-duration) {
  -webkit-animation-duration: @transition-duration;
  -moz-animation-duration: @transition-duration;
  -o-animation-duration: @transition-duration;
  animation-duration: @transition-duration;
}




/*Hero Colors Classes													*/
/*----------------------------------------------------------------------*/
.hero_bck{
	background-color: @heroColor;
}

.hero_border{
	border-color: @heroColor;
}

.hero_color{
	color: @heroColor;
}

.hero_bck2{
	background-color: @heroColor2;
}

.hero_border2{
	border-color: @heroColor2;
}

.hero_color2{
	color: @heroColor2;
}
.contrast_bck{
	background-color: @contrastColor;
}



/* Make Space between sections											*/
/*----------------------------------------------------------------------*/
.clear_space{
	margin: 2.30769230769231em 0;
}






/* Hover effect for thumbnails											*/
/*----------------------------------------------------------------------*/
.ql_thumbnail_hover{
	position: relative;
	display: block;
	text-align: center;
  overflow: hidden;
  &:before{
    content: " ";
  	display: block;
  	top: 5px;
  	left: 5px;
  	right: 5px;
  	bottom: 5px;
  	z-index: 1;
  	background-color: rgba(0,0,0,0.7);
  	position: absolute;
  	.transition( all 200ms );
  	opacity: 0;
  	border-radius: @border-radius-small;
  }
  &:hover:before{
    opacity: 1;
  }
  &:after{
    .transition(all 200ms);
    .transition-delay(100ms);
    .translate(-50%;-50%);
    opacity: 0;
    display: block;
    z-index: 2;
    position: absolute;
    top: 45%;
    left: 50%;
    content: "+";
    color: #fff;
    font: bold 14px/1 FontAwesome;
    .font-size(62);
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  &:hover:after{
    top: 50%;
    opacity: 1;
  }
  img{
    .transition( transform 800ms );
  }
  &:hover img{
    .scale(1.1);
  }
}





/* Font size using REMs													*/
/*----------------------------------------------------------------------*/
.font-size(@size: 14){
	font-size: unit(@size, px);
	font-size: unit(@size / @font-size-base, rem); //Bootstrap variable
}










/* Inputs																*/
/*----------------------------------------------------------------------*/
input, textarea{
	display: block;
  width: 100%;
  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
  padding: @padding-base-vertical @padding-base-horizontal;
  font-size: @font-size-base;
  line-height: @line-height-base;
  color: @input-color;
  vertical-align: middle;
  background-color: @input-bg;
  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
  border: 2px solid @input-border;
  border-radius: @input-border-radius;
  margin-bottom: 0.71428571428571em;


  // Customize the `:focus` state to imitate native WebKit styles.
  .form-control-focus();

  // Placeholder
  //
  // Placeholder text gets special styles because when browsers invalidate entire
  // lines if it doesn't understand a selector/
  .placeholder();

  // Disabled and read-only inputs
  // Note: HTML5 says that controls under a fieldset > legend:first-child won't
  // be disabled if the fieldset is disabled. Due to implementation difficulty,
  // we don't honor that edge case; we style them as disabled anyway.
  &[disabled],
  &[readonly],
  fieldset[disabled] & {
    cursor: not-allowed;
    background-color: @input-bg-disabled;
}

  // Reset height for `textarea`s
  textarea& {
    height: auto;
}
}
textarea{
	min-height: 100px;
}


