@media screen, projection {

  html {
    overflow-y:scroll;
  }
  
  html, body {
    height:100%;
  }

  body {
    font:normal 16px/1.5 'asapregular', Arial, Helvetica, sans-serif;
    -webkit-text-size-adjust: none;
    background:transparent url(../images/wavegrid.png) left top;
    /* background-color:#eeeeee; */
  }
  
 /*------------------------------------------------------------------------*/
  
 /**
  * Normalize content elements
  */

  *, *:before, *:after {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box; 
    box-sizing:border-box;
  }

  *[style~="font-size"] { }
  *[style~="margin"] { }

  a {
    color:#000;
    text-decoration:underline;
  }

  a:visited { 
    color:#000;
  }

  a:hover { 
    text-decoration:none;
  }

  a:focus {
    outline:thin dotted; 
  }

  em, i {
    font-style:italic;
  }

  strong, b {
    font-weight:100;
    font-family: 'asapbold',  Arial, Helvetica, sans-serif;
  }

  input[type="text"]:focus, 
  input[type="password"]:focus, 
  input[type="date"]:focus, 
  input[type="datetime"]:focus, 
  input[type="email"]:focus, 
  input[type="number"]:focus, 
  input[type="search"]:focus, 
  input[type="tel"]:focus, 
  input[type="time"]:focus, 
  input[type="url"]:focus, 
  textarea:focus {
    background:none repeat scroll 0 0 #FCFCFC;
    border:1px solid #999;
  }

  input, textarea, select {
    border:1px solid gray;
    font-family:Arial, Helvetica, sans-serif;
  }

  h2 {
    font-family: 'asapbold',  Arial, Helvetica, sans-serif;
    font-size:1.500em;
    margin-bottom:10px;
  }

  h3 {
    font-size:1.250em;
    margin:20px 0 10px;
  }

  .special h3, 
  div[class*="sub"] > h3,
  h2 + h3 {
    margin-top:0;
  }

  div[class*="sub"] ul + h3 {
    margin-top:20px;
  }

  p {
    padding:8px 0;
    margin:0;
  }

  h2 + p, h3 + p {
    padding-top:0;
  }

 /*------------------------------------------------------------------------*/

  #wrapper {
    -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);
    background-color:#fff;
    margin:50px auto;
    max-width:1100px;
    width:90%;
    -webkit-border-radius: 3px 3px 3px 3px;
    border-radius: 3px 3px 3px 3px;
  }

 /*------------------------------------------------------------------------*/

  header {
    padding:35px;
    overflow:hidden;
    border-bottom:4px solid #44a729;
  }

  h1 {
    width:300px;
    height:48px; 
    margin:0;
    float:left;
    display:block;
    text-indent:-99999px;
    background:transparent url(../images/physio-connect.png) no-repeat center center;
  }

 /*------------------------------------------------------------------------*/

 /**
  * Navigation elements
  */

  nav {
    float:right;
    margin-top:5px;
  }

  nav ul {

  }

  nav li {
    float:left;
    margin-left:25px;
  }

  nav li.last {

  }
  
  nav li.submenu ul {
    background-color:#fff;
    display:none;
    position:absolute;
    z-index:100;
  }

  nav li:hover ul, 
  nav li:hover li, 
  nav li.submenu ul.hover {
    display:block;
  }

  nav li.submenu li {
    float:none;
  }

  nav li a,
  nav li span {
    text-decoration:none;
    display:block;
    background-color:#44a729;
    color:#fff;
    padding:7px 10px;
    -webkit-border-radius: 3px 3px 3px 3px;
    border-radius: 3px 3px 3px 3px;
  }

  nav li a:hover, nav li a:visited {
    color:#fff;
  }

 /*------------------------------------------------------------------------*/

  #container {

  }

  aside {
    padding:35px;
    border-top:1px solid #44a729;
    overflow:hidden;
  }

  aside li span, 
  .special p span, 
  .special em {
    font-size:0.875em;
  }

  .special em {
    font-style:normal;
  }

  aside ul {
    list-style:disc;
    margin-left:20px;
  }

  aside ul.data {
    margin-left:0;
    list-style:none;
    margin-bottom:10px;
  }

  aside ul.data li span {
    font-size:1em;
    width:55px;
    display:inline-block;
  }

  figure {
    float:left;
    margin:10px 30px 5px 0;
  }

  div[class*="sub"] {
    display:inline-block;
    width:47%;
    vertical-align:top;
  }

  .subcr {
    margin-left:6%;
  }

  .special {
    border:1px solid #b3d498;
    background-color:#b3d498;
    padding:25px;
    margin:25px 0 10px;
  }

  .special li {
    padding:5px 0;
  }

  .special li span, 
  .special li strong {
    display:block;
  }

  #map-canvas {
    height:400px;
    width:100%;
    margin:0px;
    padding:0px
  }

 /*------------------------------------------------------------------------*/

  footer {
    font-size:0.875em;
    background-color:#44a729;
    padding:10px 35px;
    color:#fff;
  }

  footer .inside {
    width:100%;
  }

  footer p {
    display:inline-block;
    width:47%;
    vertical-align:top;
  }

  footer p + p {
    margin-left:6%;
    text-align:right;
  }

  footer a, footer a:visited {
    text-decoration:none;
    color:#fff;
  }

 /*------------------------------------------------------------------------*/

  .clearfix:before,
  .clearfix:after {
    content:" ";
    display:table;
  }

  .clearfix:after {
    clear:both;
  }

  .clearfix {
    *zoom:1;
  }

}

@media (max-width: 900px) {

  .start nav {
    display:none;
  }

  div[class*="sub"] {
    width:100%;
  }

  .subcr {
    margin-left:0;
  }

  .subcr > h3:first-child {
    margin-top:20px;
  }

  figure {
    float:none;
    margin-right:0;
  }

}

@media (max-width: 720px) {

  body {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }

  #wrapper {
    margin-top:25px;
    margin-bottom:25px;
    width:95%;
  }

  header, aside, footer {
    padding:20px;
  }

  .special {
    padding:15px;
  }

  #map-canvas {
    height:200px;
  }

}

@media (max-width: 600px) {

  h1 {
    float:none;
  }

  nav {
    float:none;
    margin-top:20px;
  }

  nav li {
    margin-left:0;
  }

  footer p, footer p + p {
    width:100%;
    text-align:left;
    margin-left:0;
  }

}

@media (max-width: 420px) {

  h1 {
    width:150px;
    height:24px;
    background-size:150px 24px;
  }

}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { 

  h1 a {
    /* 
    background-size:0px 0px;
    background-image:url(../images/logo@2x.jpg);
    */
  }

}