
/* =PRIMARY VARIABLES
-------------------------------------------------------------- */
/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */


@import url('https://fonts.googleapis.com/css?family=Montserrat|PT+Sans');

/*
font-family: 'PT Sans', sans-serif;
font-family: 'Montserrat', sans-serif;
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
menu,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; font-family: 'PT Sans', sans-serif; font-family: 'Montserrat', sans-serif; 
}
article,
aside,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
ul {
  list-style-type: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #f13224;
  color: #000000;
  text-decoration: none;
}
mark {
  background-color: #f13224;
  color: #000000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000000;
  cursor: help;
}
/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
/* maxvoltar.com/archive/-webkit-font-smoothing */
html {
  -webkit-font-smoothing: antialiased;
}
/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
ol {
  margin-left: 16px;
  list-style-type: decimal;
}
small {
  font-size: 85%;
}
strong,
th {
  font-weight: bold; font-family: 'PT Sans', sans-serif; font-family: 'Montserrat', sans-serif;
}
td,
td img {
  vertical-align: top;
}
sub {
  vertical-align: sub;
  font-size: smaller;
}
sup {
  vertical-align: super;
  font-size: smaller;
}
pre {
  padding: 15px;
  /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */
}
/* align checkboxes, radios, text inputs with their label
 by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css*/
input[type="radio"] {
  vertical-align: text-bottom;
}
input[type="checkbox"] {
  vertical-align: bottom;
  *vertical-align: baseline;
}
.ie6 input {
  vertical-align: text-bottom;
}
/* hand cursor on clickable input elements */
label,
input[type=button],
input[type=submit],
button {
  cursor: pointer;
}
/* These selection declarations have to be separate.
 No text-shadow: twitter.com/miketaylr/status/12228805301 
 Also: hot pink. */
::-moz-selection {
  background: #f13224;
  color: #ffffff;
  text-shadow: none;
}
::selection {
  background: #f13224;
  color: #ffffff;
  text-shadow: none;
}
/*j.mp/webkit-tap-highlight-color */
a:link {
  -webkit-tap-highlight-color: #f13224;
}
/* always force a scrollbar in non-IE */
html {
  overflow-y: scroll;
}
/* make buttons play nice in IE:
 www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
button {
  width: auto;
  overflow: visible;
}
/* bicubic resizing for non-native sized IMG: 
 code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img {
  -ms-interpolation-mode: bicubic;
}
/* slightly enhanced, universal clearfix hack */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: ".";
  clear: both;
  height: 0;
  line-height: 0;
  overflow: hidden;
}
.clearfix {
  display: inline-block;
}
/* start commented backslash hack \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/* close commented backslash hack */
/* =HELPER FUNCTIONS
-------------------------------------------------------------- */
.indent {
  text-indent: -99999em;
}
/* =HELPER CLASSES
-------------------------------------------------------------- */
.lower {
  text-transform: lowercase;
}
.upper {
  text-transform: uppercase;
}
.clear {
  clear: both;
}
.clear-right {
  clear: right;
}
.clear-left {
  clear: left;
}
/* =GGS System
-------------------------------------------------------------- */
/*
*
*	Zoomable baseline grid
*	type size presets
*
*/
body {
  /* 16px / 24px */
  font-size: 1em;
  line-height: 1.5em;
}
.small {
  /* 13px / 18px */
  font-size: 0.8125em;
  line-height: 1.3846153846153846em;
}
.normal,
h3 {
  /* 16px / 24px */
  font-size: 1em;
  line-height: 1.5em;
  /* 24 */
}
.large {
  font-size: 1.625em;
  line-height: 1em;
}
.huge {
  font-size: 1.5em;
}
.massive {
  /* 68px / 72px */
  font-size: 2.25em;
  line-height: 1.0588235294117647em;
}
.gigantic {
  /* 110px / 120px */
  font-size: 6.875em;
  line-height: 1.0909090909090908em;
}
/*
*
*  Four-column grid active
*  ----------------------------------------
*  Margin   | #  1   2   3   4   |   Margin
*  5.55555% | %  25  50  75  100 | 5.55555%
*
*/
.oneway,
.twoway,
.threeway,
.fourway,
.fiveway,
.sixway {
  margin: 0 10%;
}
h1,
h2 {
  padding: 0;
  margin: 0 0 1em 0;
  font-weight: 100;
  text-transform: uppercase;
}
h3 {
  margin: 1.5em 0 1.5em;
  font-weight: 100;
}
p {
  margin: 0 0 1em 0;
}
.newrow {
  clear: both;
}
/*
*  Simple elastic gutters
*  Note: box-sizing will not work in IE6-7
*/
.wrapper {
  padding: 1em 0.75em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  /*background: rgba(0,0,0,0.2);*/
  margin: 0;
}
/** FLASH MESSAGES **/
#flashMessage,
#authMessage,
.flashMessage {
  clear: both;
  color: #333333;
  text-shadow: 1px 1px 1px #ffffff;
  overflow: auto;
  margin: 0 0 1em;
  padding: 8px 10px 8px 34px;
}
.error-message {
  clear: both;
  padding: 0.2% 2% 1% 22%;
  color: #ff0000;
  font-size: 12px;
  font-weight: normal;
}
.error-message:before {
  content: "↑ ";
  display: inline;
}
.error {
  background-color: #ee3322;
  color: #ffffff;
  margin: 1em 0;
  padding: .8em;
}
.error em {
  color: #000000;
  font-weight: 400;
  line-height: 140%;
}
.message {
  border: 1px dotted #d1d1d1;
  background: #f8dedd url("../img/icons/icon_error.png") no-repeat left center;
}
.success {
  border: 1px dotted #d1d1d1;
  background: #cbda8f url("../img/icons/icon_success.png") no-repeat left center;
}
/** PAGINATION **/
ul.pagination {
  clear: both;
  list-style: none;
  padding: 1em 0;
}
ul.pagination li {
  padding-right: 5px;
  display: inline;
}
ul.pagination li a {
  text-decoration: none;
  font-family: sans-serif;
  display: inline-block;
}
ul.pagination li span {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-decoration: none;
  background: #fff;
  padding: 5px 8px;
}
ul.pagination li span.loading {
  border: none;
  padding-left: 20px;
  background: url('../img/auto-loader.gif') no-repeat left center;
}
/** FORM  **/
form {
  clear: both;
  margin: 0 0 20px;
  padding: 0px;
}
form div {
  clear: both;
  vertical-align: top;
}
form label {
  display: block;
  width: 18%;
  float: left;
  margin-right: 2%;
  text-align: right;
}
form input {
  clear: both;
  width: auto;
  padding: 1%;
}
form textarea {
  clear: both;
  width: auto;
  width: 98%;
  padding: 1%;
  height: 400px;
}
form select {
  clear: both;
  vertical-align: text-bottom;
  padding: 0;
  max-width: 250px;
}
form select[multiple=multiple] {
  width: 98%;
}
form option {
  padding: 0 3px;
}
form input[type=checkbox] {
  clear: left;
  float: left;
  width: auto;
  margin: 0 6px 7px 2px;
}
form input[type=radio] {
  float: left;
  width: auto;
  margin: 0 3px 7px 0;
}
form div.radio label {
  margin: 0 0 6px 20px;
}
form input[type=submit] {
  display: inline;
  width: auto;
}
form .input {
  color: #444444;
}
form .input .form-error {
  background: #fcf0ef;
  border: 1px solid #cc0000;
  color: #cc0000;
  margin-right: 5px;
}
form .text input:disabled,
form .password input:disabled,
form .text textarea:disabled,
form .password textarea:disabled,
form .text select:disabled,
form .password select:disabled {
  background-color: #ebebe4;
}
form .text input,
form .password input {
  border: 1px solid #ccc;
  margin-bottom: 8px;
  height: 34px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  color: #7e8083;
  width: 46%;
  padding: 0 2%;
  float: left;
  clear: none;
  line-height: 34px;
}
form .file input {
  width: 50%;
  padding: 10px;
  float: left;
  clear: none;
}
form .select select {
  float: left;
  clear: none;
}
form .checkbox {
  margin-left: 10px;
}
form .checkbox input {
  margin: 4px 0 0 0;
}
form .required label:after {
  content: ' *';
  color: red;
}
form div.submit {
  border: 0;
  clear: both;
  padding-left: 20%;
  padding-top: 6px;
}
form button,
form input[type=button],
form input[type=submit] {
  font-weight: normal;
  border: 0px solid #BCCBD2;
  font-size: 1em;
}
/* =HTML Resets
-------------------------------------------------------------- */
body {
  font-family: Helvetica, Arial, Verdana, sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-weight: 100;
  color: #000000;
  background: #222;
}
a {
  color: #f13224;
}
dl {
  width: 100%;
  margin: 0;
}
dl .altrow {
  background: #efefef;
}
hr {
  margin: 2em 0;
}
dt {
  vertical-align: top;
}
dd {
  vertical-align: top;
}
img {
  vertical-align: top;
}
/* =CONTAINER / SHELL
-------------------------------------------------------------- */
.wrap {
  position: relative;
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.wrap.active,
.wrap.active header {
  top: 15em;
}
header {
  background: #f13224;
  /*position: fixed;*/
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
header a {
  color: #ffffff;
}
header .fiveway,
header .threeway {
  margin: 0;
}
header .fiveway .wrapper,
header .threeway .wrapper {
  padding: 0 10%;
  margin: 0;
}
header .logo {
  display: inline;
  float: left;
}
header .logo .slogan{
    position: absolute;
    text-align: center;
    padding: 0px !important;
    color: #f76452;
    left: 0px;
    bottom: 0px;
    background: #911e16;
    height: 38px;
    line-height: 38px;
    text-transform: uppercase;
    font-size:0.65em;
    border-top: 1px solid #f76452;
}
@media screen and  (max-width: 935px){
    header .logo .slogan{
       display: none;
    }
    .sticky #menu .slogan{
    display: none !important;
}
}
#menu .slogan{
        display: none;
}
.clearfix.controls{
    margin-left: 33.33%;
}
.sticky .clearfix.controls{
    margin-left: 0px;
}
.sticky #menu .slogan{
    display: block;
}
header .logo a {
  display: block;
  margin: 10px 0;
}
/*header .logo a img {
  display: block;
  height: 42px;
  width: auto;
}*/
header .menu-link {
  width: 35px;
  height: 42px;
  padding: 20px 10% 0 0;
  text-indent: -99999em;
  background: transparent url(../img/burger.png) no-repeat center center;
  display: inline;
  float: right;
}
header .siblings {
  display: none;
  width: 472px;
  height: 86px;
  margin-right: 10%;
  margin-top: 3%;
}
/*header .siblings a {
  display: inline;
  float: left;
  height: 86px;
  background-image: url(../img/sites.png);
  background-repeat: no-repeat;
  text-indent: -99999em;
}*/
/*header .siblings a.cwc {
  display: inline;
  float: left;
  height: 100px;
  background-image: url(../img/icons/security.png);
  background-repeat: no-repeat;
  text-indent: -99999em;
  background-position: 0 0;
  width: 118px;
  margin-top: 5px;
}
header .siblings a.wired {
 display: inline;
  float: left;
  height: 100px;
  background-image: url(../img/icons/data-comm.png);
  background-repeat: no-repeat;
  text-indent: -99999em;
  background-position: 0 0;
  width: 118px;
    margin-top: 5px;
}
header .siblings a.rks {
  display: inline;
  float: left;
  height: 100px;
  background-image: url(../img/icons/electrical.png);
  background-repeat: no-repeat;
  text-indent: -99999em;
  background-position: 0 0;
  width: 118px;
    margin-top: 5px;
}
header .siblings a.ambiance {
  display: inline;
  float: left;
  height: 100px;
   margin-top: 5px;
  background-image: url(../img/icons/audio-visual.png);
  background-repeat: no-repeat;
  text-indent: -99999em;
  background-position: 0 0;
  width: 118px;
}*/
header nav[role=navigation] {
  background: #911e16;
  clear: both;
  width: 100%;
  position: absolute;
  margin-top: -5px;
  top: -15em;
  left: 0;
  z-index: 10000;
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  overflow: auto;
}
header nav[role=navigation].active {
  top: 0;
}
header nav[role=navigation] .slogan {
  display: none;
}
header nav[role=navigation] ul li {
  display: block;
  float: none;
  clear: both;
  text-transform: uppercase;
}
header nav[role=navigation] ul li a {
  display: block;
  height: 3em;
  padding: 0 0.8em;
  border-bottom: 1px solid #f13224;
  text-decoration: none;
  line-height: 3em;
  color: #f13224;
  font-weight: 400;
  color: #ffffff;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  -ms-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
header nav[role=navigation] ul li a:hover {
  background: #ffffff;
}
header nav[role=navigation] ul li ul {
  left: -999em;
  /*padding: 1em 0;*/
}
header nav[role=navigation] ul li ul li {
  float: none;
  clear: both;
}
header nav[role=navigation] ul li ul li a {
  height: auto;
  line-height: 0.75em;
  padding: 1em;
  font-size: 0.8em;
  opacity: 0.7;
  font-weight: 200;
}
header nav[role=navigation] ul li ul li a:hover {
  background: #ffffff;
}
header nav[role=navigation] ul li ul li ul {
  margin: 0;
  /*padding: 0.5em 0;*/
}
header nav[role=navigation] ul li:hover a {
  background: #ffffff;
  text-decoration: none;
  color: #f13224;
}
header nav[role=navigation] ul li:hover ul {
  left: auto;
}
header nav[role=navigation] ul li:hover ul li ul {
  left: -999em;
}
header nav[role=navigation] ul li:hover ul li a {
  background: transparent;
}
header nav[role=navigation] ul li:hover ul li:hover a {
  color: #f13224;
  background: #ffffff;
}
header nav[role=navigation] ul li:hover ul li:hover a:hover {
  background: #fff;
  color: #000000;
}
header nav[role=navigation] ul li:hover ul li:hover ul {
  left: auto;
}
header nav[role=navigation] ul li:hover ul li:hover ul li a {
  font-size: 0.85em;
  border: none;
}
header nav[role=navigation] ul li:hover ul li:hover ul li a:hover {
  background: #ffffff;
  color: #000000;
}
header nav[role=navigation] ul li:hover ul li:hover ul li:hover a {
  background: #ffffff;
  color: #000000;
  text-decoration: underline;
}
footer {
  background: #ffffff;
  padding: 3em 10%;
  font-size: 0.75em;
  /*.borders
	{
		border-top: 1px solid @borders;
		padding-top: 1em;
	}*/
}
footer .copyright {
  display: block;
}
footer .copyright span {
  display: block;
  line-height: 1em;
}
footer .backtotop {
  margin-top: 1em;
}
/* =PAGES
-------------------------------------------------------------- */
.small-hidden {
  display: none;
}
.overlay {
  background: #f13224;
  background: rgba(228, 0, 0, 0.6);
  padding: 4em 0;
}
#intro {
  background: #000000 url(../img/intro.jpg) no-repeat center center;
  background-size: cover;
  color: #ffffff;
  padding: 8em 0 4em 0;
}
#services {
  background: #f1f1f1;
  color: #7e8083;
  padding: 2em 0;
}
#services h2 {
  color: #f13224;
}
#about {
  background: #000000 url(../img/toronto.jpg) no-repeat center top;
  background-size: cover;
  color: #ffffff;
  padding-top: 18em;
}
#about h2 {
  margin: 0;
}
#green {
  background: #ffffff url(../img/led.jpg) no-repeat center center;
  background-size: cover;
  color: #ffffff;
  padding-top: 18em;
}
#green h2 {
  margin: 0;
}
#solutions {
  background: #f1f1f1;
  color: #7e8083;
  padding: 2em 0 4em 0;
  position: relative;
  /*.thumb {
		display: none;
		position: relative;
		&.active {
			display: block;
		}
	}*/
}
#solutions .hidden {
  display: none;
}
#solutions .wrapper {
  padding: 0 0.75em;
}
#solutions h2 {
  color: #f13224;
}
#solutions h3 {
  margin: 0;
  text-transform: uppercase;
}
#solutions ol,
#solutions ol li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#solutions .project-selectors h3 {
  font-size: 0.9em;
  line-height: 1.25em;
}
#solutions .project-selectors ul {
  margin-bottom: 1em;
}
#solutions .project-selectors ul li {
  font-size: 0.9em;
  line-height: 1.25em;
}
#solutions .project-selectors a {
  text-decoration: none;
}
#solutions .project-selectors a:hover {
  text-decoration: underline;
}
#solutions .project-details {
  background: #000;
  background: rgba(0, 0, 0, 0.85);
  margin-top: -3.1em;
  padding: 0.5em;
  position: relative;
}
#solutions .project-details h2 {
  margin: 0;
  color: #fff;
}
#solutions .project-details h4 {
  font-size: 0.75em;
  line-height: 1em;
  color: #fff;
}
#solutions .service {
  display: block;
  margin: 0;
  height: 8em;
  overflow: hidden;
  padding: 0;
  text-decoration: none;
  opacity: 0.8;
}
#solutions .service:hover {
  opacity: 1;
}
#solutions .service .thumb {
  position: relative;
  height: 5em;
  overflow: hidden;
  background: #000000;
  border: none;
  margin-bottom: 0;
}
#solutions .service .thumb img {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}
#solutions .service span {
  height: 2.6em;
  display: block;
  position: relative;
  background: #f13224;
  padding: 1em;
  color: #ffffff;
  font-size: 0.76em;
  line-height: 1.2em;
  text-transform: uppercase;
}
#solutions .service span.short {
  height: 1.3em;
  padding: 1.7em 1em;
}
#solutions .service-expand {
  display: none;
}
#contact {
  color: #ffffff;
}
#contact .newrow {
  position: relative;
}
#contact .newrow.map {
  height: 24em;
}
#contact .office {
  background: #000;
  background: rgba(0, 0, 0, 0.8);
  height: 24em;
  position: relative;
  margin-top: -24em;
}
#contact .twoway,
#contact .threeway,
#contact .fourway,
#contact .fiveway {
  margin: 0;
}
#contact .padding {
  padding: 3em;
}
#contact #map_canvas {
  height: 24em !important;
}
#contact h1 {
  margin: 0;
}
#contact h1 .sub {
  font-size: 0.5em;
}
#contact h2 {
  margin: 0;
}
#contact p {
  text-transform: uppercase;
  margin: 0;
}

#contact p.emergency {
  color: #f13224;
  background: #fff;
  display: inline-block;
  padding: 0.5em;
  margin-top: 1em;
}
#contact a {
  color: #ffffff;
  text-decoration: none;
}
#contact a:hover {
  text-decoration: underline;
}
/* =REUSABLES
-------------------------------------------------------------- */
.centered {
  text-align: center;
}
.button {
  display: inline-block;
  position: relative;
  width: auto;
  padding: 0.5em 1em;
  background: #f13224;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  z-index: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  -ms-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.button.white {
  display: inline-block;
  position: relative;
  width: auto;
  padding: 0.8em 1.5em 0.8em 1em;
  background: #ffffff url(../img/arrow-down-green.png) no-repeat right center;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: #f13224;
  z-index: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
.button.backtotop {
  display: inline-block;
  position: relative;
  width: auto;
  padding: 0.5em 2em 0.5em 1em;
  background: #444444 url(../img/arrow-up-white.png) no-repeat right center;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  z-index: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
.button.backtotop:hover {
  display: inline-block;
  position: relative;
  width: auto;
  padding: 0.5em 2em 0.5em 1em;
  background: #f13224 url(../img/arrow-up-white.png) no-repeat right center;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  z-index: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
.inline-border {
  position: relative;
  display: block;
  text-align: center;
  height: 15px;
  margin-bottom: 0.5em;
  font-size: 0.75em;
}
.inline-border:before,
.inline-border:after {
  content: '';
  height: 1px;
  width: 32%;
  background-color: #ccc;
  position: absolute;
  left: 0;
  top: 50%;
}
.inline-border:after {
  left: auto;
  right: 0;
}
.thumb {
  border: 5px solid #ffffff;
  margin-bottom: 1em;
  -moz-box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.2);
}
.img-responsive {
  max-width: 100%;
  height: auto;
}
.bullets li {
  margin-left: 0.5em;
  padding-left: 1.5em;
  background: transparent url(../img/check.png) no-repeat 0 6px;
}
.caps {
  text-transform: uppercase; font-family: 'PT Sans', sans-serif; font-family: 'Montserrat', sans-serif; 
}
/* =FANCYBOX
-------------------------------------------------------------- */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top;
}
.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020;
  width: 80% !important;
}
.fancybox-wrap .wrapper {
  float: left;
  width: 20%;
  padding: 0;
  height: 100%;
}
.fancybox-wrap .wrapper.double {
  width: 100%;
}
.fancybox-wrap .wrapper.triple {
  width: 100%;
}
.fancybox-wrap .pic {
  display: none;
  background: #000000;
  position: absolute;
}
.fancybox-wrap .pic img {
  width: 100%;
  height: auto;
}
.fancybox-wrap .summary .padding {
  padding: 3em;
}
.fancybox-skin {
  position: relative;
  background: #f13224;
  color: #ffffff;
  text-shadow: none;
  -moz-box-shadow: 0 0 42px 0 #000000;
  -webkit-box-shadow: 0 0 42px 0 #000000;
  box-shadow: 0 0 42px 0 #000000;
  -moz-box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.5) 5px 5px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.5) 5px 5px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.5) 5px 5px 0 rgba(0, 0, 0, 0.2);
  padding: 0 !important;
}
.fancybox-opened {
  z-index: 8030;
}
.fancybox-outer,
.fancybox-inner {
  position: relative;
}
.fancybox-inner {
  overflow: hidden;
  width: 100% !important;
  height: 100% !important;
}
.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch;
}
.fancybox-error {
  color: #444;
  margin: 0;
  padding: 15px;
  white-space: nowrap;
}
.fancybox-image,
.fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.fancybox-image {
  max-width: 100%;
  max-height: 100%;
}
/*#fancybox-loading,
.fancybox-close,
.fancybox-prev span,
.fancybox-next span
{
	background-image: url(../img/fancybox_sprite.png);
}*/
#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060;
}
#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url(../img/fancybox_loading.gif) center center no-repeat;
}
.fancybox-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 61px;
  height: 61px;
  cursor: pointer;
  z-index: 8040;
  background-image: url(../img/close.png);
}
.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url(../img/blank.gif);
  /* helps IE */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 8040;
}
.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden;
}
.fancybox-nav:hover span {
  visibility: visible;
}
.fancybox-prev {
  left: 0;
}
.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px;
}
.fancybox-next {
  right: 0;
}
.fancybox-next span {
  right: 10px;
  background-position: 0 -72px;
}
.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important;
}
.fancybox-lock {
  overflow: hidden;
}
.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll;
}
.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: #000000;
  background: rgba(0, 0, 0, 0.8);
}
.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}
.fancybox-title {
  visibility: hidden;
  position: relative;
  text-shadow: none;
  z-index: 8050;
}
.fancybox-opened .fancybox-title {
  visibility: visible;
}
.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center;
}
.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: #000000;
  /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
}
.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
}
.fancybox-title-inside-wrap {
  padding-top: 10px;
}
.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #ffffff;
  padding: 10px;
  background: #000000;
  background: rgba(0, 0, 0, 0.8);
}
.disc {
  list-style-type: disc;
}
.disc li {
  margin-left: 2em;
}
@media screen and (min-width: 45em) {
  .twoway .wrapper {
    float: left;
    width: 50%;
  }
  .threeway .wrapper {
    float: left;
    width: 33.333333%;
  }
  .threeway .wrapper.double {
    width: 66.666666%;
  }
  .threeway .wrapper.triple {
    width: 100%;
  }
  .fourway .wrapper {
    float: left;
    width: 50%;
  }
  .fourway .wrapper.double {
    clear: both;
    width: 100%;
  }
}
@media screen and (min-width: 760px) {
  .small-hidden {
    display: block;
  }
  .fiveway .wrapper {
    float: left;
    width: 33.333333%;
  }
  #solutions .service {
    height: 11.5em;
  }
  #solutions .service .thumb {
    height: 8.1em;
  }
  #contact .newrow.map {
    height: 32em;
  }
  #contact #map_canvas {
    height: 32em !important;
  }
  #contact .office {
    height: 16em;
    margin-top: 0;
  }
}
/* =@media screen and (min-width: 984px)
-------------------------------------------------------------- */
@media screen and (min-width: 58.5em) {
  .huge {
    font-size: 2.25em;
    line-height: 1.1428571428571428em;
  }
  .massive {
    font-size: 4.25em;
  }
  body {
    background: #666;
  }
  .wrap.active {
    top: 0;
  }
  header {
    background: #f1f1f1;
    position: static;
  }
  header .branding {
    z-index: 1;
    position: relative;
  }
  header .controls {
    position: relative;
    z-index: 10;
  }
  header .fiveway .wrapper,
  header .threeway .wrapper {
    padding: 0 10% 3em 10%;
  }
  header .fiveway .wrapper.slogan,
  header .threeway .wrapper.slogan {
    padding: 0 0 0 10%;
  }
  header .logo {
    background: #f13224;
  }
/*  header .logo a {
    height: 100px;
    margin: 20px 0;
  }
  header .logo a img {
    height: 100%;
  }*/
  header .menu-link {
    display: none;
  }
  header .siblings {
    display: block;
    float: right;
  }
  header nav[role=navigation] {
    background: #d5d5d5;
    overflow: hidden;
    position: static;
    top: auto;
    left: auto;
    height: auto;
    width: 100%;
    margin-top: -2.44em;
    display: inline;
    float: left;
  }
  header nav[role=navigation] .slogan {
    display: block;
    display: inline;
    float: left;
    line-height: 3.75em;
    border-top: 1px solid #f76452;
    background: #911e16;
    font-size: 0.65em;
    color: #f76452;
    text-transform: uppercase;
  }
  header nav[role=navigation] ul {
    border-top: 1px solid #ffffff;
  }
  header nav[role=navigation] ul li {
    display: inline;
    float: left;
    clear: none;
    font-size: 0.8em;
  }
  header nav[role=navigation] ul li a {
    border-bottom: none;
    padding: 0 1em;
    color: #818181;
  }
  header nav[role=navigation] ul li ul {
    padding: 1em 0;
    left: -999em;
    position: absolute;
    bottom: 125px;
  }
  header nav[role=navigation] ul li ul li {
    font-size: 1em;
  }
  header nav[role=navigation] ul li ul li a {
    padding: 0.5em 1em;
    opacity: 1;
    font-size: 1em;
  }
  header nav[role=navigation] ul li ul ul {
    margin: -1.9em 0 0 12em;
    padding: 0.5em 0;
    background: #000000;
  }
  header nav[role=navigation] ul li:hover a {
    background: #ffffff;
  }
  header nav[role=navigation] ul li:hover ul li a {
    background: transparent;
  }
  header.sticky {
    position: fixed;
  }
  header.sticky .branding {
    display: none;
  }
  header.sticky nav[role=navigation] {
    margin-top: 0;
  }
  .inline-border {
    font-size: 1em;
  }
  footer .copyright {
    display: inline;
    float: left;
    margin-top: 0.5em;
  }
  footer .copyright span {
    display: inline;
  }
  footer .backtotop {
    display: inline;
    float: right;
    margin-top: 0;
  }
  .fourway .wrapper {
    float: left;
    width: 25%;
  }
  .fourway .wrapper.double {
    float: left;
    width: 50%;
  }
  .fourway .wrapper.triple {
    width: 75%;
  }
  /* =PAGES */
  #intro p {
    width: 50%;
    margin: 0 auto 1em auto;
  }
  #services .service {
    height: 12em;
  }
  #services .service .thumb {
    height: 12em;
  }
  #services .service span {
    height: 2.25em;
    top: -4.2em;
    padding: 1em 2em 1em 1em;
  }
  #about {
    background: #000000 url(../img/toronto.jpg) no-repeat center top;
  }
  .flex-viewport h2,
  .flex-viewport h3 {
    text-align: left;
  }
  .fancybox-wrap .wrapper.double {
    width: 40%;
  }
  .fancybox-wrap .wrapper.triple {
    width: 60%;
    margin-left: 40%;
  }
  .fancybox-wrap .pic {
    display: block;
  }
}
@media screen and (min-width: 1280px) {
  .fiveway .wrapper {
    float: left;
    width: 25%;
  }
}
@media screen and (min-width: 1440px) {
  .fiveway .wrapper {
    float: left;
    width: 20%;
  }
}
@media screen and (min-height: 45em) {
  #intro {
    padding: 12em 0 8em 0;
  }
  #about {
    padding: 30em 0 0 0;
  }
}
/*
*
*  Fixes for IE6-8
*  http://jonikorpi.com/leaving-old-IE-behind/
*
*/
.ie7 header,
.ie8 header {
  position: static !important;
}
.ie7 #projects .service,
.ie8 #projects .service {
  height: 18em;
}
.ie7 #projects .service .thumb,
.ie8 #projects .service .thumb {
  height: 15em;
}
@media screen and (min-width: 720px) and (max-width: 1500px){
    header .fiveway .wrapper, header .threeway .wrapper{
        padding:10px 6% 18px;
    }
}


p, h1, h2, h3 {   font-family: 'PT Sans', sans-serif; font-family: 'Montserrat', sans-serif; }

li {   font-family: 'PT Sans', sans-serif; font-family: 'Montserrat', sans-serif; }

