/*

JOSEPHRUSSELL.CO.UK
Author: Joseph Russell - josephrussell.co.uk

Red:    cc0033
Blue:   0F7699 / 06617F
Cream:  fff5d7 / e6bf82

*/


/* RESET (NORMALIZE)
================================================================================*/

/* HTML5 display definitions */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

/* Base */
html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 1em; line-height: 1.3; }
body, button, input, select, textarea { font-family: sans-serif; color: #333; }
::-moz-selection { background: #0f7699; color: #fff; text-shadow: none; }
::selection { background: #0f7699; color: #fff; text-shadow: none; }

/* Links */
a { 
  color: #0F7699;
  text-decoration:none;
  
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:visited {}
a:hover { color: #06617F; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

/* Typography */
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* Lists */
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
li { margin:1em 0 ; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

/* Embedded content */
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }

/* Figures */
figure { margin: 0; }

/* Forms */
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"], [role="button"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

/* Tables */
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

/* GLOBAL
================================================================================*/

/* Layout 
----------------------------------------*/

#page {}

header, section, footer { clear:both; }

.container {
  position:relative;
  width:92%;
  max-width:780px;
  margin:0 auto;
  padding:20px 0;
}

.g1, .g2, .g3, .g4 {
  float:left;
  position:relative;
  margin-left:2%;
  margin-right:2%
  width:96%;
}

.gr { float:right; }
.gl { float:left; }

.pr { margin-right:5%; }
.pl { margin-left:5%; }

audio, img, video { max-width: 100%; }

/* Style 
----------------------------------------*/

/* Basic */

body {
  border-top:5px solid #222;
  background:url(../img/freckles.png);
  font-family:"PT Serif",serif;
}

section + section .container {
  border-top:1px solid #ddd;
}

h1, h2, h3 { 
  color:#c03;
}
h1 {
  font-weight:400;
  font-family:"PT Sans Narrow",sans-serif;
  text-transform:uppercase;
  letter-spacing:0.1em;
}
h2 {
  margin-bottom:0.5em;
  font-weight:400;
  font-family:"PT Sans Narrow",sans-serif;
  text-transform:uppercase;
  letter-spacing:0.1em;
}
h2 + p { 
  margin-top:0;
}
h3 {
  margin-bottom:0;
  font-weight:700;
  font-family:"PT Sans",sans-serif;
}

/* Header */

header {
  background:#c03;
  color:#fff;
}
header a,
header a:hover { 
  color:#fff;
}
h1 {
  margin:0;
  color:#fff5d7;
  line-height:1;

  text-shadow:0 2px 0 rgba(0,0,0,0.3);
}
h1 strong {
  color:#fff;
}
header ul {
  margin:0;
  padding:0;
  list-style:none;
}
header li {
  display:inline-block;
  margin:0;
}
header li a {
  overflow:hidden;
  display:block;
  width:30px;
  height:30px;
  background:url(../img/icon-social-r.png) no-repeat;
  text-indent:-9999px;
}
header li.twitter a { background-position:0 0; }
header li.dribbble a { background-position:0 -30px; }
header li a:hover { opacity:0.75; }

/* About */

.about {
  border-bottom:1px solid #ddd;
  background:#fff;
}
.about + section .container {
  border:none;
}
.about .frame {
  padding:2%;
  background:#eee;
  box-shadow:inset 0 1px 3px rgba(0,0,0,0.3);
  border-radius:5px;
}

/* WIP */

.wip {}
.wip ul {
  margin:0;
  padding:0;
  list-style:none;
}
.wip li { margin-top:0; }
.wip .frame {
  padding:2%;
  background:#fff;
  border-radius:5px;
  box-shadow:0 1px 3px rgba(0,0,0,0.3);
}
.wip h3 {}
.wip span {
  display:block;
  color:#999;
}

/* Clients */

.clients {}
.clients ul {
  float:left;
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}
.clients li { margin-top:0; }
.clients img {
  box-shadow:0 1px 3px rgba(0,0,0,0.3);
  border-radius:5px;
}

/* Footer */

footer {
  background:#222;
  color:#999;
  font-weight:400;
  font-family:"PT Sans",sans-serif;
}
footer a,
footer a:hover {
  color:#fff;
}

/* MEDIA QUERIES
================================================================================*/

body::before {
  float: left;
  font-weight: bold;
  display: inline;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  background:#fff;
  opacity:0.5;

  display:none;
}

/* 320px + */
@media only screen and (min-width: 320px) {

  body::before{ content: "MQ 320+"; }

  .g1 { width:46%; }
  .g2 { width:96%; }
  .g3 { width:96%; }
  .g4 { width:96%; }

  h1 {
    float:left;
  }
  h1 strong { display:block; }
  header ul {
    float:right;
  }
  header li {
    display:block;
  }
  header li a {
    margin:2px;
  }

  .about p:first-of-type { font-size:1.25em;/* 20/16 */ }

}/*/mediaquery*/

/* 480px + */
@media only screen and (min-width: 480px) {

  body::before{ content: "MQ 480+"; }

  .g1 { width:46%; }
  .g2 { width:96%; }
  .g3 { width:96%; }
  .g4 { width:96%; }

}/*/mediaquery*/

/* 720px + */
@media only screen and (min-width: 720px) {

  body::before{ content: "MQ 720+"; }

  .g1, .g2, .g3, .g4 {
    margin-right:1%;
    margin-left:1%;
  }
  .g1 { width:23%; }
  .g2 { width:48%; }
  .g3 { width:73%; }
  .g4 { width:98%; }

  body {
    border-top-width:10px;
  }
  header .container {
    padding:30px 0;
  }
  h1 {
    font-size:2.25em;/* 36/16 */

    text-shadow:0 2px 0 rgba(0,0,0,0.3);
  }
  h1 strong { display:inline; }
  header li {
    display:inline-block;
    margin-left:5px;
  }
  header li a {
    margin:0;
  }

  .about .frame {
    margin:1em 0;
  }

}/*/mediaquery*/

/* 1024px + */
@media only screen and (min-width: 1024px) {

  body::before{ content: "MQ 1024+"; }

}/*/mediaquery*/

/* 1200px + */
@media only screen and (min-width: 1200px) {

  body::before{ content: "MQ 1200+"; }

}/*/mediaquery*/


/* HELPERS
================================================================================*/

/* prevent callout */
.nocallout {-webkit-touch-callout: none;}

/* Text overflow with ellipsis */
.ellipsis {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* A hack for HTML5 contenteditable attribute on mobile */
textarea[contenteditable] {-webkit-appearance: none;}

/* A workaround for S60 3.x and 5.0 devices which do not animated gif images if they have been set as display: none */
.gifhidden {position: absolute; left: -100%;}

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { *zoom: 1; }


/* PRINT
================================================================================*/

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}

