

/******** Rebuild ********/
/****************************/



/*  SECTIONS  */
.section {
	clear: both;
	padding: 0px;
	margin: 0px;
}

/*  COLUMN SETUP  */
.col {
	display: block;
	float:left;
	margin: 1% 0 1% 1.6%;
}
.col:first-child { margin-left: 0; }

/*  GROUPING  */
.group:before,
.group:after { content:""; display:table; }
.group:after { clear:both;}
.group { zoom:1; /* For IE 6/7 */ }


/*  GRID OF TWELVE  */
.span_12_of_12 {
	width: 100%;
}

.span_11_of_12 {
  	width: 91.53%;
}
.span_10_of_12 {
  	width: 83.06%;
}

.span_9_of_12 {
  	width: 74.6%;
}

.span_8_of_12 {
  	width: 66.13%;
}

.span_7_of_12 {
  	width: 57.66%;
}

.span_6_of_12 {
  	width: 49.2%;
}

.span_5_of_12 {
  	width: 40.73%;
}

.span_4_of_12 {
  	width: 32.26%;
}

.span_3_of_12 {
  	width: 23.8%;
}

.span_2_of_12 {
  	width: 15.33%;
}

.span_1_of_12 {
  	width: 6.866%;
}

/*  GO FULL WIDTH BELOW 480 PIXELS */
@media only screen and (max-width: 480px) {
	.col {  margin: 1% 0 1% 0%; }
    
    .span_1_of_12, .span_2_of_12, .span_3_of_12, .span_4_of_12, .span_5_of_12, .span_6_of_12, .span_7_of_12, .span_8_of_12, .span_9_of_12, .span_10_of_12, .span_11_of_12, .span_12_of_12 {
	width: 100%; 
	}
}


.responsiveContainer {
  position: relative;
  padding-bottom: 56%;
  height: 0;
  overflow: hidden;
}

.responsiveContainer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Custom slider */

.flex-caption {
  font-family: "DroidSansRegular", Verdana, Arial, Verdana;
  font-size: 1vw !important;
  opacity: 0.8;
    position:relative;
  left:0px;
  bottom:80px;
  background:#fff;
  color:#777;
  opacity:0.9;
  width:100%;
  z-index:8;
  padding:20px 95px;
  margin-left: 95px !important;
  text-shadow: none !important;
}

.flex-caption h1 {
  margin-bottom: 0px;
  color: #b30004;
}

.flex-caption p {
  color: #777777;
}

.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(255, 5, 0, 0.5)!important;
}
.flex-control-paging li a:hover {
  background: #333;
  background: rgba(255, 5, 0, 0.7)!important;
}
.flex-control-paging li a.flex-active {
  background: #ff0500;
  background: rgba(255, 5, 0, 0.9)!important;
  cursor: default;
}

/* Portfolio Navigation */




.imgnav {
  position: absolute;
  /*width: 608px;*/
  display: block;
  z-index: 20;
  margin: 15px 0 0 15px;
}

#prev, #next {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  display: inline-block;
  width: 26px;
  height: 26px;
  font-size: 1.3em;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
}

#prev i.fa, #next i.fa { margin-top: 6px; }

#prev i.fa {margin-right: 3px;}
#next i.fa {margin-left: 3px;}


/*--------------------------------------------------------------
# Responsive Form
--------------------------------------------------------------*/

#responsive-form{
  /*max-width:600px*/ /*-- change this to get your desired form width --*/;
  margin:0 auto;
  width:100%;
}
.form-row{
  width: 100%;
}

.required {
  color: #FF0000;
  font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 15px !important;
}

.column-half, .column-full{
  float: left;
  position: relative;
  padding: 0.65rem;
  width:100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/**---------------- Media query ----------------**/
@media only screen and (min-width: 48em) { 
  .column-half{
    width: 50%;
  }
}

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.wpcf7 input[type="text"]:focus{
  background: #fff;
}

/* Checkbox */

.wpcf7-checkbox label input {
    position: absolute;
    width: auto;
    opacity: 0;
}

.wpcf7-checkbox label span.wpcf7-list-item-label:before {
    content: ' ';
    width: 18px;
    height: 18px;
    border: 1px solid #666666;
    border-radius: 3px;
    margin-right: 8px;
    display: inline-block;
    cursor: pointer;
    position: relative;
    top: 3px;
}

.wpcf7-checkbox input:checked+span.wpcf7-list-item-label:before {
    background-color: #ADD071;
    border: 1px solid #ADD071;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 80%;
}

.wpcf7-submit{
    color: #fff;
    background-color: rgba(108, 117, 125, 0.9);
    border-color: #6c757d;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .25rem;
}


span.wpcf7-not-valid-tip{
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
  text-shadow: none;
  font-size: 12px;
  position: relative;
    padding: .25rem .5rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

div.wpcf7-validation-errors { 
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

div.wpcf7-mail-sent-ok{
  text-align: center;
  text-shadow: none;
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
  position: relative;
  padding: .75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: .25rem;
}

input.wpcf7-submit.reset { font-size: 0.75rem; float: right; background: rgba(108, 117, 125,0.5); }
input.wpcf7-submit.reset:hover { background: rgba(108, 117, 125, 1); }

.ajax-loader {display:none !important;}

.wpcf7-form div#responsive-form img.wpcf7-captcha-captcha-108 {
	width: 72px !important;
}




/* Responsive */


/* 
  ##Device = Desktops
  ##Screen = 1281px to higher resolution desktops
*/

@media (min-width: 1281px) {

.box {
  padding: 2%;
  /*padding: 20px;*/
}

.footer-navi { margin: 0; padding: 0; list-style: none !important; background-color: #d4d4d4 !important;}
.footer-navi li { float: left; }
.footer-navi li:last-child { border-bottom: none; }
.footer-navi li a {display: block; padding: 10px;}
.footer-navi li a:hover{background-color: gainsboro !important;}
  
}


/* 
  ##Device = Laptops, Desktops
  ##Screen = B/w 1025px to 1280px
*/

@media (min-width: 1025px) and (max-width: 1280px) {
  
.footer-navi { margin: 0; padding: 0; list-style: none !important; background-color: #d4d4d4 !important;}
.footer-navi li { float: left; }
.footer-navi li:last-child { border-bottom: none; }
.footer-navi li a {display: block; padding: 10px;}
.footer-navi li a:hover{background-color: gainsboro !important;}
  
}

/* 
  ##Device = Tablets, Ipads (portrait)
  ##Screen = B/w 768px to 1024px
*/

@media (min-width: 768px) and (max-width: 1024px) {

  #slogan h2 { font-size: 1.3em; }
  
  body { background: transparent !important; }
  #wrapper { margin: 20px !important; }  
  #bg-gray { width: 100% !important; background-color: transparent !important; border-top: none !important;}
  #nivoSlider, #nivoSlider img{width:100%;height:auto !important;}
  #main-frame { width: 100% !important; }  
  #top { width: 100% !important; }
  #frame { width: 100% !important; }
  .container { width: 100% !important; }
  .columns { width: 100% !important; }
  #main { width: 100% !important; }
  #maincontent { width: 90% !important; }
  .column, .columns { margin: 0px !important; }
  #content {}
  #maincontent {padding: 5% !important;}
  #wrapper-footer { width: 100% !important; }
  #banner-footer { width: 100% !important; }
  #footer_banner { width: 100% !important; }
    .flex-caption { font-size: 2vw !important; margin: 0 !important; }


.footer-navi { margin: 0; padding: 0; list-style: none !important; background-color: #d4d4d4 !important;}
.footer-navi li { float: left; }
.footer-navi li:last-child { border-bottom: none; }
.footer-navi li a {display: block; padding: 10px;}
.footer-navi li a:hover{background-color: gainsboro !important;}
  
}

/* 
  ##Device = Tablets, Ipads (landscape)
  ##Screen = B/w 768px to 1024px
*/

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {

    #slogan h2 { font-size: 1.5em; }
  
  body { background: transparent !important; }
  #wrapper { margin: 20px !important; }  
  #bg-gray { width: 100% !important; background-color: transparent !important; border-top: none !important;}
  #nivoSlider, #nivoSlider img{width:100%;height:auto !important;}
  #main-frame { width: 100% !important; }  
  #top { width: 100% !important; }
  #slogan { position: relative !important; }
  #logo {width:70%;}
  #frame { width: 100% !important; }
  .container { width: 100% !important; }
  .columns { width: 100% !important; }
  #main { width: 100% !important; }
  #maincontent { width: 90% !important; }
  .column, .columns { margin: 0px !important; }
  #content {}
  #maincontent {padding: 5% !important;}
  #wrapper-footer { width: 100% !important; }
  #banner-footer { width: 100% !important; }
  #footer_banner { width: 100% !important; }
  img {width: 100%; height: auto;}
  .flex-caption { font-size: 2vw !important; margin: 0 !important; }

    
}

/* 
  ##Device = Low Resolution Tablets, Mobiles (Landscape)
  ##Screen = B/w 481px to 767px
*/

@media (min-width: 481px) and (max-width: 767px) {

  
  body { background: transparent !important; }
  #wrapper { margin: 20px !important; }  
  #bg-gray { width: 100% !important; background-color: transparent !important; border-top: none !important;}
  #nivoSlider, #nivoSlider img{width:100%;height:auto !important;}
  #main-frame { width: 100% !important; }  
  #top { width: 100% !important; }
  #slogan { position: relative !important; }
  #logo {width:70%;}
  #frame { width: 100% !important; }
  .container { width: 100% !important; }
  .columns { width: 100% !important; }
  #main { width: 100% !important; }
  #maincontent { width: 90% !important; }
  .column, .columns { margin: 0px !important; }
  #content {}
  #maincontent {padding: 5% !important;}
  #wrapper-footer { width: 100% !important; }
  #banner-footer { width: 100% !important; }
  #footer_banner { width: 100% !important; }
  img {width: 100%; height: auto;}
  .flex-caption { font-size: 2vw !important; margin: 0 !important; }

  /* Portfolio */
  #frame-slider-portfolio {width:100% !important; height: 260px !important;}
  #sliderportfolio { width:100% !important;}
  #portfolio-gallery #frame-slider-portfolio #slide-nav { position: absolute !important; bottom: 45px !important; }

  #ts-display-pf-col-3 li { width: 100% !important; }
  #ts-display-pf-col-3 .ts-display-pf-img a.image { width: 100% !important; }
  #portfolio-gallery #frame-slider-portfolio #sliderportfolio{ height:226px !important; }
  
}

/* 
  ##Device = Most of the Smartphones Mobiles (Portrait)
  ##Screen = B/w 320px to 479px
*/

@media (min-width: 320px) and (max-width: 480px) {
  body { background: transparent !important; }
  #wrapper { margin: 20px !important; }  
  #bg-gray { width: 100% !important; background-color: transparent !important; border-top: none !important;}
  #nivoSlider, #nivoSlider img{width:100%;height:auto !important;}
  #main-frame { width: 100% !important; }  
  #top { width: 100% !important; }
  #slogan { position: relative !important; }
  #logo {width:70%;}
  #frame { width: 100% !important; padding-bottom:0 !important; }
  .container { width: 100% !important; }
  .columns { width: 100% !important; }
  #main { width: 100% !important; }
  #maincontent { width: 90% !important; }
  .column, .columns { margin: 0px !important; }
  #content {}
  #maincontent {padding: 5% !important;}
  #wrapper-footer { width: 100% !important; }
  #banner-footer { width: 100% !important; }
  #footer_banner { width: 100% !important; }
  img {width: 100%; height: auto;}
  .flex-caption { font-size: 3vw !important; margin: 0 !important; }
  .flex-caption h1 { font-size: 5vw !important; }
  /* Portfolio */
  #frame-slider-portfolio {width:100% !important; height: 260px !important;}
  #sliderportfolio { width:100% !important;}
  #portfolio-gallery #frame-slider-portfolio #slide-nav { position: absolute !important; bottom: 45px !important; }
  #wrapper-footer {background:transparent !important;}
  #portfolio-gallery #frame-slider-portfolio #sliderportfolio{ height:226px !important; }

  #ts-display-pf-col-3 li { width: 100% !important; }
  #ts-display-pf-col-3 .ts-display-pf-img a.image { width: 100% !important; }

  #banner-footer {background-color: transparent !important;}
  .footer-navi { margin: 0; padding: 0; list-style: none !important; background-color: #d4d4d4 !important;}
  .footer-navi li { display: block; border-bottom: 1px solid #bfbfbf;}
  .footer-navi li:last-child { border-bottom: none; }
  .footer-navi li a {display: block; padding: 15px;}
  .footer-navi li a:hover{background-color: gainsboro !important;}

}