html{
  width:                  100%;
  height:                 100%;
  background-color:       #eeedeb;
  color:                  #222;
  font-size:              1em;
  line-height:            1.4;
  font-family:            'Roboto', sans-serif;
  box-sizing:             border-box;
}
body{
  width:                  100%;
  height:                 100%;
}
*,*:before,*:after{
  box-sizing:             inherit;
}
::-moz-selection{
  background:             #b3d4fc;
  text-shadow:            none;
}
::selection{
  background:             #b3d4fc;
  text-shadow:            none;
}
audio,
canvas,
iframe,
img,
svg,
video{
  vertical-align:         middle;
}
fieldset{
  border:                 0;
  margin:                 0;
  padding:                0;
}
textarea{
  resize:                 vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade{
  padding:10px;
  background: #fff;
  color: #222;
  font-size:0.85rem;
  text-align: center;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
h1{
  font-family:      'Playfair Display';
  font-size:        2.25em;                 /* 36 / 16 */
  line-height:      1.425em;                /* 26 / 16 (1.4) */
  margin-bottom:    .22em;                  /* 8 / 36 */
}
h2{
    font-family:     'Playfair Display';
  font-size:        1.7em;                  /* xx / 16 */
  line-height:      1.625em;                /* 26 / 16 (1.4) */
  margin-bottom:    .2666em;                /* 8 / xx */
}
h3{
  font-family:     'Playfair Display';
  font-size:        1.4375em;               /* 22 / 16 */
  line-height:      1.375em;                /* 26 / 16 */
  margin-bottom:    .3636em;                /* 8 / 22 */
  font-weight:      400;
}
h4{
  font-family:      'Playfair Display';
  font-size:        1.125em;                /* 18 / 16 */
  line-height:      1.625em;                /* 26 / 16 */
  margin-bottom:    .4444em;                /* 8 / 18 */
  font-weight:      400;
}
h5{
  font-family:      'Playfair Display';
  font-size:        1em;                /* 18 / 16 */
  line-height:      1.625em;                /* 26 / 16 */
  margin-bottom:    .5em;                /* 8 / 18 */
  font-weight:      400;
}
p{
  font-size:        1em;                    /* 16 / 16 */
  font-size:        .9em;
  line-height:      1.525em;                /* 26 / 16 */
  margin-bottom:    .5em;                   /* 8 / 16 */
  font-weight:      300;
}
h4 + p{
	margin-top: 15px;
}
p + p{
  margin-top: 15px;
}
a:hover{
  color:  #000;
}
a{
  color:  #ff8a00;
  color:            #ff2222;
	text-decoration:   none;
}





hr{
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
hr._divider{
  margin-top:30px;
}
hr._spaced{
  margin:           25px 0;
}
hr._dark{
  border-top: 1px solid #222;
}
hr._semidark{
  border-top: 1px solid #999;
}

strong{
  font-weight:    700;
}
em{
  font-size:      .85em;
  font-style:     italic;
}
img{
  max-width:      100%;
}

header{
  border-bottom:  1px solid #000;
}
header a:hover{
	color:           #ff2222;
}
header nav{
	max-width: 	     1200px;
	margin: 		     0 auto;
	padding:         15px 20px;
}
header nav li{
	float:           left;
  margin-right:    30px;
}

header nav li._spaced{
	padding-top: 10px;
}

.menu-logo{
	float:left;
}

.menu-base{
	float: right;
}
.menu-top{
	height: 50px;
}
.menu-bottom{
	height: 30px;
}

.link-logo{
  display:  block;
  float: 		left;
  width:    256px;
  height:   66px;
  margin-top:8px;
  background-image: url('../gfx/item-logo.png');
}
.link-header-menu{
  color: #222;
  font-size: 1.0rem;
  font-family:      'Lora';
  font-weight: 500;
  text-transform: uppercase;
}
.item-vertival-divider{
	width: 	1px;
	height: 34px;
	background-image: url('../gfx/item-vertical-divider.png');
}
.link-facebook{
	display: block;
	float: right;
	width: 20px;
	height: 20px;
	background-image: url('../gfx/item-icon-facebook.png');
}

.adapt-header-facebook{
	display: none;
}
@media screen and (max-width: 750px){
	.menu-logo{
		float: none;
		display: block;
	}
  .menu-base{
    float: none;
    margin-top:15px;
  }
  .menu-top{
  	display: none;
  }
  header nav li{
  	margin:0;
  }
  header nav li:nth-child(odd){
		float:           left;
		width:33%;
		text-align: center;
	}
	header nav li:nth-child(3){
		float:           left;
		width:calc(34% - 2px);
		text-align: center;
	}
  .adapt-header-facebook{
  	display: block;
  }
}
@media screen and (max-width: 450px){
	header nav li span{
		display: none;
	}
}
@media screen and (max-width: 400px){
	.link-header-menu{
		font-size: .8em;
	}
	header nav li._spaced{
		padding-top: 8px;
	}
	.adapt-header-facebook{
		display: none;
	}
	.link-logo{
		float:none;
		margin:8px auto;
	}
}



main{}
footer{
  background:       #222;
  color:            #666;
  border-top:       2px solid #000;
  padding-bottom:   15px;
  margin-top:       20px;
}
footer nav{
  max-width:        1200px;
  padding:          30px 20px;
  margin:           0 auto;
  text-align:       center;
}
footer nav a:hover{
  color:            #ff8a00;
}
footer nav a{
  color:            #ccc;
  font-size:        .9rem;
  margin:           0 15px;
}
footer a:hover{
  color:            #ff2222;
}
footer a{
  color:            #ccc;
}
footer p + p{
  margin-top: 5px;
}
/*
footer p span{
  font-size:        .85em;
}
*/
footer hr{
  border-top:       1px solid #000;
  border-bottom:    1px solid #333;
  margin:           0;
  margin: 					10px 10%;

}
footer tr:nth-child(odd){
  background-color: #2e2e2e;
}
footer tr:nth-child(even){
  background-color: #222;
}


@media screen and (max-width: 750px){
  footer nav a:last-child span{
    display:        none;
  }
}
@media screen and (max-width: 700px){
  footer nav a{
    margin:         0 10px;
  }
}
@media screen and (max-width: 620px){
  footer nav a{
    font-size:      .75rem;
  }
}

@media screen and (max-width: 650px){
  footer td{
    font-size:      .75rem;
  }
}
/*
@media screen and (max-width: 580px){
  footer .block-base{
    display: none;
  }
  footer hr{
    display: none;
  }
}
*/

@media screen and (max-width: 560px){
  footer nav a:nth-child(2), footer nav a:nth-child(3){
    display: none;
  }
}

@media screen and (max-width: 380px){
  footer nav a{
    margin:           0 5px;
  }
}
@media screen and (max-width: 360px){
  footer nav a{
    display: block;
    margin:          20px 0px;
  }
}

.wrapper{
  min-height: 						100%;
  display: 								grid;
  grid-template-rows: 		auto 1fr auto;
  grid-template-columns: 	100%;
}

.block-base{
  max-width:              1200px;
  margin:                 0 auto;
  padding:                50px;
}
.block-content-dual{
  float:            left;
  width:            calc(100% - 600px);
  padding-right:    20px;
}
.block-content-dual + .block-content-dual{
  width:            600px;
  padding-right:    0px;
  padding-left:     20px;
}
.block-content-dual._reverse{
  width:            600px;
}
.block-content-dual._reverse + .block-content-dual._reverse{
  width:            calc(100% - 600px);
}


.block-content-half{
  float: left;
  width: 50%;
  padding-right: 20px;
}
.block-content-half + .block-content-half{
  padding-right: 0px;
  padding-left: 20px;
}
.block-content-half-inner{
  float: left;
  width: 50%;
  padding-right: 20px;
}
.block-content-half-inner + .block-content-half-inner{
  padding-right: 0px;
  padding-left: 20px;
}
.block-content-half-services{
  float: left;
  width: 50%;
  padding-right: 20px;
}
.block-content-half-services + .block-content-half-services{
  padding-right: 0px;
  padding-left: 20px;
}


.block-content-tri{
  float: left;
  width: 33%;
  padding-right: 20px;
  padding-left: 20px;
}

.block-content-tri._tweak-start{
  padding-right: 18px;
  padding-left: 18px;
}





.adapt-services-single{
	display: none;
}
.adapt-services-double{
	display: none;
}
.adapt-show-contact{
	display: none;
}
@media screen and (max-width: 1000px){
  .block-content-half{
	  float: none;
	  width: 100%;
	  padding-right: 0px;
	  padding-left: 0px;
	}
	.block-content-half + .block-content-half{
	  padding-right: 0px;
	  padding-left: 0px;
	}
	.adapt-hide{
		display: none;
	}
	.adapt-hide-contact{
		display: none;
	}
	.adapt-show-contact{
		display: block;
	}
}
@media screen and (max-width: 930px){
  
  .block-content-tri{
		float: none;
		width: 100%;
	}
	.block-content-tri + .block-content-tri{
		margin-top:30px;
	}

	footer .block-content-tri:last-child{
    display: none;
  }
  footer .block-content-tri{
  	float: left;
	  padding-right: 20px;
	  padding-left: 20px;
    width: 50%;
  }
  footer .block-content-tri + .block-content-tri{
		margin-top:0px;
	}

	.adapt-services-tri{
		display: none;
	}
	.adapt-services-double{
		display: block;
	}
}
@media screen and (max-width: 650px){
	.adapt-services-single{
		display: block;
	}
	.adapt-services-double{
		display: none;
	}
}
@media screen and (max-width: 580px){
	footer .block-content-tri{
    float:          none;
    width:          100%;
    padding-right:  0px;
    padding-left:   0px;
  }
  footer .block-content-tri:nth-child(2){
   display: none;
  }
}

@media screen and (max-width: 500px){
  .block-content-half-inner{
	  float: none;
	  width: 100%;
	  padding-right: 0px;
	}
	.block-content-half-inner + .block-content-half-inner{
	  padding-right: 0px;
	  padding-left: 0px;
	  text-align: center;
	  margin-top:25px;
	}
	.block-content-half-inner img{
		width: 70%;
	}
}

@media screen and (max-width: 400px){
	footer p span{
	  display: block;
	  margin-top:5px;
	}
}

/* ==========================================================================
   Block Styles
   ========================================================================== */
.block-style-dark{
  background-color: #292929;
  color:            #e3e3e3;
  border-top:       1px solid #000;
  border-bottom:    1px solid #000;
}
.block-style-dark hr{
  border-top:       1px solid #111;
  border-top:       1px solid #141414;
  border-bottom:    1px solid #333;
}

.block-style-grey{
  background-color:   #d3cec8;
  background-color:   #fffcf7;
  background-color:   #f8f8f8;
  border-top:         1px solid #333;
  border-top:         1px solid #ccc;
  border-bottom:      1px solid #ccc;
}



/* ==========================================================================
   Image
   ========================================================================== */
.image-banner{
  display:                block;
  min-width:              100%;
  border-radius:          0px;
  border-bottom:          1px solid #000;
  background-repeat:      no-repeat;
  background-size:        cover;
  margin:                 0 auto;
  overflow:               hidden;
}
.image-banner-start{
  background-image:       url('../gfx/banner-start.jpg');
  background-position:    50% 25%;
  height:                 340px;
}
.image-banner-map{
  background-image:       url('../gfx/banner-map.jpg');
  background-position:    50% 25%;
  height:                 400px;
}
.image-banner-services{
  background-image:       url('../gfx/banner-services.jpg');
  background-position:    50% 35%;
  height:                 400px;
}
.image-banner-projects{
  background-image:       url('../gfx/banner-projects.jpg');
  background-position:    50% 25%;
  height:                 400px;
}


.image-standard{
  border: 1px solid #000;
}
.image-free-standard-thin{
  border: 1px solid #000;
}



/* ==========================================================================
   Texts
   ========================================================================== */
.text-footer-bottom{
  font-size: .8rem;
  line-height:      1em;
  margin-bottom:    0em;
}
.text-divider{
  margin-top:20px;
}
.text-upper{
	text-transform: uppercase;
}



/* ==========================================================================
   Links
   ========================================================================== */
.link-icon-arrows{
  width: 11px;
  height: 14px;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left:20px;
  padding-bottom:1px;
}
.link-icon-arrows._light{
  background-image: url('../gfx/icon-arrows-light.png');
}
.link-icon-arrows._dark{
  background-image: url('../gfx/icon-arrows-dark.png');
}

.link-projects img{
	margin: 7px;
}
@media screen and (max-width: 1212px){
	.link-projects-wrapper{
		text-align: center;
	}
}

/* ==========================================================================
   General
   ========================================================================== */
._align-center{
  text-align: center;
}





/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
}
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; /* 1 */
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}
.invisible {
  visibility: hidden;
}
.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}
.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
