/* =============================================================================
   HTML5 Boilerplate CSS: h5bp.com/css
   ========================================================================== */

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; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: Helvetica, Arial, sans-serif; color: #000; }
body { margin: 0; font-size: 12px; line-height: 1.4; }

::-moz-selection { background: #ffe700; color: #fff; text-shadow: none; }
::selection { background: #ffe700; color: #fff; text-shadow: none; }

a { color: #000; text-decoration: none; }
a:visited { color: #000; }
a:hover { color: #000; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

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; }

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

svg:not(:root) { overflow: hidden; }

figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
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, input[type="search"]::-webkit-search-cancel-button { -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; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }



/* ===== Primary Styles ========================================================
   Author:
   ========================================================================== */


header {
	width: 800px;
	margin: 0 auto;
}

	
header #logo {
	display: block;
	border: 0;
	width: 60px;
	padding-top: 2px;
	/*height: 45px;*/
	float: right;
	background-colour: #ffffff;
	/*
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=15)"; 
	filter: alpha(opacity=15);
	opacity: 0.15;
	*/
}

header #logo img {
	display: block;
	border: 0;
	width: 100%;
	height: auto;
	background-color: #ffffff;
	margin-bottom: -15px;
}

nav {
	margin-bottom: 5px;
}

nav ul {
	float: left;
}

nav.primary ul {
	margin-top: 18px;
}

nav ul li {
	float: left;
	margin-right: 16px;
}

nav a {
	font-weight: bold;
	text-transform: uppercase;
	padding-top: 7px;
	text-decoration: none;
	letter-spacing: 3px;
	border-top: 3px solid #ffffff;
}

nav.primary a {
	display: inline-block;
	background-colour: #ffffff;
	/*
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=15)"; 
	filter: alpha(opacity=15);
	opacity: 0.15;
	*/
}

nav a:hover, .primary .active {
	border-top: 3px solid #ffe700;
}

nav a.secondary:hover {
	border-top: 3px solid #ffffff;
}

nav a.active {
	opacity: 1;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
	filter: alpha(opacity=100);
}

nav.secondary {
	clear: both;
	margin-bottom: 10px;
}

nav.secondary a {
	display: inline-block;
	text-transform: none;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
}

nav.secondary a:hover, 
nav.secondary a.active
{
	border-top: 3px solid #ffe700;
}


#main {
	width: 800px;
	margin: 0 auto;
	clear: both;
	margin-bottom: 70px;
}
.main-image, .awards, .column-copy, .projects { 	margin-top: 20px; }
.main-image {
	background-color: #fff;
	width: 800px;
	height: 539px;
	margin-bottom: 8px;
	position: relative;
	overflow: hidden;
}
.main-image.home { margin-top: 0; }

.main-image .img {
	width: 800px;
	height: 539px;
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
}

.overlay {
	display: table;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #ffe700;
	opacity: 0;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 
	filter: alpha(opacity=0);
	z-index: 100;
	text-decoration: none;
	
}

.overlay .copy {
	display: table-cell;
	vertical-align: middle;
}

.overlay .copy .arrow {
	display: inline-block;
	line-height: 1em;
	background: url('/images/icons.png') no-repeat left bottom;
}



.main-image .overlay {
	/*font-size: 16px;
	
	text-transform: uppercase;
	text-align: center;*/
	font-weight: bold;
	letter-spacing: 3px;
	line-height: 2em;
}

.main-image .overlay .copy {
	/*margin-top: 210px;*/
}

.main-image .overlay .copy .arrow {
	width: 7px;
	height: 11px;
	background-position: 0 -40px;
}

section.social {
	margin-top: 8px;
}

section.social a {
	float: left;
	margin-right: 8px;
}


.overlay.align {
	display: block;
}

.overlay.align .copy {
	display: block;
	margin-top: 83px;
	margin-left: 105px;
}

.overlay.white {
	background-color: #fff;
}

.main-image .slides .image {
	width: 800px;
	height: 539px;
	background-color: #ccc;
}

.main-image .slides .image img {
	width: auto;
}

.main-image .slides .about {
	background-color: #ffe700;
	padding: 83px 275px 0 105px;
	width: 420px;
	height: 456px;
	overflow: hidden;
	
	font-weight: bold;
	line-height: 2em;
	letter-spacing: 3px;
}

.thumbs {
	width: 800px;
	float: left;
	background-color: #fff;
	display: none;
}

.thumbs li {
	list-style-type: none;
	width: 93px;
	height: 61px;
	background-color: #000;
	color: #ccc;
	float: left;
	margin-right: 8px;
	margin-bottom: 8px;
	position: relative;
	cursor: pointer;
}

.thumbs li.about {
	margin-right: 0;
}

.thumbs li .image img {
	width: 93px;
	height: 61px;
}

.thumbs li .marker {
	background: url('/images/icons.png') no-repeat left -180px;
	display: none;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 13px;
	height: 13px;	
}

.thumbs li.active .marker {
	display: block;
}

.thumbs li .image.about {
	background-color: #ffe700;
	line-height: 61px;
	letter-spacing: 2px;
	font-weight: bold;
	color: #000;
	text-align: center;
}

.thumbs li.lastinrow {
	margin-right: 0;
}

.caption {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: bold;
}

.caption a {
	display: block;
	float: left;
	line-height: 16px;
}

.caption a:hover {
	color: #ffe700;
}

#back {
	padding-left: 14px;
	background: url('/images/icons.png') no-repeat left -206px;
	margin-right: 45px;
}

#back:hover {
	background-position: left -227px;
}

#name {
	float: left;
}

#showthumbs {
	float: right;
}

#showthumbs span {
	font-size: 16px;
	display: inline-block;
	height: 16px;
}
	
.project-image {
	width: 258px;
	height: 171px;
	background-color: #eee;
	margin: 0 13px 13px 0;
	float: left;
	position: relative;
	overflow: hidden;
}

.project-image.last {
	margin-right: 0;
}

.project-image .overlay {
	font-weight: bold;
	text-align: center;
	letter-spacing: 3px;
	line-height: 2em;
}

.projects .project-image .overlay {
	text-transform: uppercase;
	
}

.project-image .frosting {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #ffffff;
	/*
	opacity: 0.85;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; 
	filter: alpha(opacity=0.85);
	*/
	display: none;
}

.project-image .overlay .copy {	
	line-height: 2em;
}

.project-image .overlay .copy .action {	
	text-transform: uppercase;
}

.project-image .overlay .copy .arrow {
	width: 4px;
	height: 7px;
	background-position: 0 -60px;
}


#main p {
	margin-top: 0;
}

.simple-copy {
	padding: 83px 275px 0 105px;
	width: 420px;
	height: 456px;
	overflow: hidden;
	
	font-weight: bold;
	line-height: 2em;
	letter-spacing: 3px;
}



.simple-copy p {
	
}

.column-copy {
	padding-top: 83px;
	font-weight: bold;
	line-height: 2em;
	letter-spacing: 3px;
	position: relative;
}

.column-copy > div {
	float: left;
	width: 220px;
	margin-right: 32px;
}

.column-copy > div.last {
	margin-right: 0px;
}

section.solid {
	min-height: 396px;
	padding-left: 30px;
	padding-right: 30px;
	width: 740px;
	background-color: #ffe700;
}

.column-copy .associations {
	position: absolute;
	bottom: 40px;
	left : 30px;
	width: auto;
}

.associations a {
	display: block;	
	float: left;
	background: url('/images/associations.png') no-repeat left bottom;
	margin: 0 75px 0 0;
}

.address {
	position: relative;
}

.address a {
	text-transform: uppercase;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
	padding: 3px 12px 3px 0;
	background: #ffe700 url('/images/icons.png') no-repeat 200px -54px;
	line-height: 1.3em;
	position: absolute;
	left: 0;
	top: 0;
	display: none;
}

.contacts a:hover {
	text-decoration: underline;
}

.section.competition {
	background-image: url('/images/christmas-competition-2017.png');
	background-repeat: no-repeat;
	background-position: 0 0;
}

/*
.contacts .social {
	position: relative;
  top: -4px;
}
*/

.contacts .social a {
	display: block; 
	float: left;
	margin-right: 8px;
}

#nzia {
	width: 97px;
	height: 37px;
	background-position: 0 -914px;
	margin-top: 3px;
}

#nzia:hover {
	/*background-position: 0 -980px;*/
}

#nzgbc {
	width: 77px;
	height: 37px;
	background-position: 0 -782px;
	margin-top: 3px;
}

#nzgbc:hover {
	/*background-position: 0 -848px;*/
}

#tdi {
	width: 43px;
	height: 43px;
	background-position: 0 -650px;
}

#tdi:hover {
	/*background-position: 0 -716px;*/
}

div.filter {
	width: 258px;
	height: 329px;
	background-color: #fff;
	margin: 13px 13px 13px 0;
	float: left;
	position: relative;
	overflow: hidden;
}

div.filter ul {
	padding: 0;
	margin: 0;
}

div.filter ul li {
	list-style-type: none;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 3px;
	border: 0;
	margin: 0;
	padding: 0;
	line-height: 1.3em;
}

div.filter ul li ~ li {
	
	padding-top: 5px;
	margin-top: 5px;
	border-top: 1px solid #d9d9d9;
}

div.filter ul li a {
	display: block;
	transition: color .25s;
	-moz-transition: color .25s;
	-webkit-transition: color .25s;
	-o-transition: color .25s;
}

div.filter ul li a:hover {
	color: #ffe700;
}

div.filter ul li span {
	display: none;
	float: right;
	font-size: 1.5em;
	margin-top: -2px;
	font-weight: normal;
}

div.filter ul li.selected span {
	display: inline;	
}

/* =================== NEW ============ */

.main-image.xmas { height: auto; }
.slides .image { position: relative; }
#main .hide { display: none !important; }
.team { font-family: "Open Sans"; font-size: 12px;line-height: 18px; font-weight: 400; padding-top:15px; }
.row { overflow: hidden; margin-bottom: 15px; }
.row > .col { width: 47%; }
.row > .left { float: left; }
.row > .right { float: right; }
.team h4, .details { font-weight: 700; color: #ffd500; line-height: 1.25em;}
.team h4 { font-size: 16px; margin: 0 0 20px; }
.row p { margin: 0 0 10px;  }
.photo { display: block; width: 220px; margin-bottom: 10px;  }
.photo img { width: 100%; height: auto; }
.details > span { color: #1c1c1c; }
strong { font-weight: 700; }
.team .btm { margin:2em 0; }
.btm > strong { display: block; }
.year, .year .more { position:absolute;z-index:5;}
.year { top:20px; left:40px; width:720px; height: 400px; }
.year a { padding:10px 0; }
.year h2 { font-size: 17px; text-transform: uppercase; letter-spacing: 0.02em }
.year h2 > strong, .year h2 > a { display: block; color: #ffffff; }
.year h2 > strong { margin-bottom:15px; font-size: 135px; line-height:1em; letter-spacing: -0.01em }
.year h2 > a { width:auto; margin-top: 20px; }
.year .more { right:-5px; bottom:10px; font-size: 20px; font-style: italic; font-weight: 600; }
.year .more, .competition, .creative h3 { font-family: "Georgia", serif; }
.year a:hover, .competition > li span:hover { opacity: .6; }

section.competition {
	height: 458px;
	background-image: url('/images/christmas-competition-2017.png');
	background-repeat: no-repeat;
	background-position: 0 0;
}



/* =============================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

/* =============================================================================
   Print Styles
   ========================================================================== */
 
@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !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; }
}
