html{overflow-y:scroll; overflow-x:hidden;}
html, body{margin:0; padding:0; font-size:14px; line-height:1.6em;}

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

.bold{font-weight:bold;}
.center{text-align:center;}
.right{text-align:right;}
.uppercase{text-transform:uppercase;}
.capitalise{text-transform:capitalize;}
.hidden{display:none;}
.nospace{margin:0; padding:0; list-style:none;}
.block{display:block;}
.inline *{display:inline-block;}
.inline *:last-child{margin-right:0;}
.pushright li{margin-right:20px;}
.pushright li:last-child{margin-right:0;}
.borderedbox{border:1px solid;}
.overlay{position:relative; z-index:1;}
.overlay::after{display:block; position:absolute; top:0; left:0; width:100%; height:100%; content:""; z-index:-1;}
.bgded{background-position:top center; background-repeat:no-repeat; background-size:cover;}
.circle{border-radius:50%; background-clip:padding-box;}

.btn{display:inline-block; padding:10px 20px 12px; text-transform:uppercase; border:1px solid;}

.clear, .group{display:block;}
.clear::before, .clear::after, .group::before, .group::after{display:table; content:"";}
.clear, .clear::after, .group, .group::after{clear:both;}

a{outline:none; text-decoration:none;}

.fl_left, .imgl{float:left;}
.fl_right, .imgr{float:right;}

img{width:auto; max-width:100%; height:auto; margin:0; padding:0; border:none; line-height:normal; vertical-align:middle;}
.imgl{margin:0 15px 10px 0; clear:left;}
.imgr{margin:0 0 10px 15px; clear:right;}

/* Fonts
--------------------------------------------------------------------------------------------------------------- */
body, input, textarea, select{font-family:Verdana, Geneva, sans-serif;}
h1, h2, h3, h4, h5, h6, .heading{font-family:Georgia, "Times New Roman", Times, serif;}

/* Forms
--------------------------------------------------------------------------------------------------------------- */
form, fieldset, legend{margin:0; padding:0; border:none;}
legend{display:none;}
label, input, textarea, select, button{display:block; resize:none; outline:none; color:inherit; font-size:inherit; font-family:inherit; vertical-align:middle;}
label{margin-bottom:5px;}
:required, :invalid{outline:none; box-shadow:none;}

/* Generalise
--------------------------------------------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, .heading{margin:0 0 20px 0; font-size:22px; line-height:normal; font-weight:normal;}

address{font-style:normal; font-weight:normal;}
hr{display:block; width:100%; height:1px; border:solid; border-width:1px 0 0 0;}

.font-xs{font-size:.8rem;}
.font-x1{font-size:1.2rem;}
.font-x2{font-size:1.8rem;}
.font-x3{font-size:2.8rem;}

.wrapper{display:block; width:100%; margin:0; padding:0; text-align:left; word-wrap:break-word;}
.hoc{display:block; margin:0 auto;}

/* HTML 5 Overrides
--------------------------------------------------------------------------------------------------------------- */
address, article, aside, figcaption, figure, footer, header, main, nav, section{display:block; margin:0; padding:0;}

/* Grid
--------------------------------------------------------------------------------------------------------------- */
.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter{display:inline-block; float:left; margin:0 0 0 3.06748466257669%; list-style:none;}

.first{margin-left:0; clear:left;}

.one_quarter{width:22.69938650306748%;}
.one_third{width:31.28834355828221%;}
.one_half, .two_quarter{width:48.46625766871166%;}
.two_third{width:65.6441717791411%;}
.three_quarter{width:74.23312883435584%;}

/* Spacing
--------------------------------------------------------------------------------------------------------------- */
.btmspace-10{margin-bottom:10px;}
.btmspace-15{margin-bottom:15px;}
.btmspace-30{margin-bottom:30px;}
.btmspace-50{margin-bottom:50px;}
.btmspace-80{margin-bottom:80px;}

.inspace-5{padding:5px;}
.inspace-10{padding:10px;}
.inspace-15{padding:15px;}
.inspace-30{padding:30px;}
.inspace-50{padding:50px;}
.inspace-80{padding:80px;}

/* Rows
--------------------------------------------------------------------------------------------------------------- */
.row0, .row0 a{}
.row1, .row1 a{}
.row2, .row2 a{}
.row3, .row3 a{}
.row4, .row4 a{}
.row5, .row5 a{}

/* Header
--------------------------------------------------------------------------------------------------------------- */
#header{padding:50px 0;}

#header #logo{margin-bottom:50px; text-align:center;}
#header #logo *{margin:0; padding:0; line-height:1;}
#header #logo h2{font-size:36px; letter-spacing:5px; text-transform:uppercase;}
#header #logo p{margin-top:-2px; font-size:.9rem; font-style:italic; text-transform:lowercase;}

/* Page Intro
--------------------------------------------------------------------------------------------------------------- */
#pageintro{padding:100px 0 100px;}

#pageintro article{text-align:center;}
#pageintro article p{font-size:16px;}
#pageintro article .heading{font-size:30px; text-transform:uppercase;}
#pageintro article footer{margin-top:100px;}

/* Content Area
--------------------------------------------------------------------------------------------------------------- */
.container{padding:50px 0;}
.container2{padding:0 0 50px 0;}

/* Content */
.container .content{}

.services{}
.services li{text-align:center;}
.services > li:first-child{text-align:left;}
.services li:nth-child(-n+3){margin-bottom:30px;}
.services li:last-child{margin-bottom:0;}
.services li figure{display:inline-block; position:relative; max-width:100%;}
.services li figure figcaption{display:block; position:absolute; top:50%; transform:translate(0,-50%); width:100%; line-height:1; text-align:center; opacity:0; z-index:1;}
.services li figure::after{position:absolute; top:0; left:0; width:100%; height:100%; content:""; opacity:0;}
.services li figure:hover::after{opacity:.6;}
.services li figure:hover figcaption{opacity:1;}

.cta{}
.cta article{padding-top:20px; text-align:center;}
.cta article *{margin:0; padding:0;}
.cta article span{display:block; position:relative; width:100px; height:100px; margin:0 auto 60px; line-height:100px; font-size:40px; font-weight:400; z-index:1;}
.cta article span::before, .cta article span::after{position:absolute; top:0; right:0; bottom:0; left:0; content:""; border:1px solid; transform:rotate(-90deg); z-index:-1;}
.cta article span::after{transform:rotate(45deg);}
.cta article:hover span::after{transform:rotate(360deg); transition:transform .5s ease-in-out;}
.cta article .heading{margin-bottom:10px;}
.cta article footer{margin-top:30px;}

/* Sidebar */
.container .sidebar{}

.sidebar .sdb_holder{margin-bottom:50px;}
.sidebar .sdb_holder:last-child{margin-bottom:0;}

/* Footer
--------------------------------------------------------------------------------------------------------------- */
#footer{padding:80px 0; border-bottom:1px solid;}

/* Transition Fade
--------------------------------------------------------------------------------------------------------------- */
*, *::before, *::after{transition:all .3s ease-in-out;}
#mainav form *{transition:none !important;}

/* Rounded Corners - Can be deleted if not wanted
--------------------------------------------------------------------------------------------------------------- */
.btn, .cta span::before, .cta span::after, .faico a{border-radius:5px; background-clip:padding-box;}

/* Navigation
--------------------------------------------------------------------------------------------------------------- */
nav ul, nav ol{margin:0; padding:0; list-style:none;}

#mainav, .sidebar nav{line-height:normal;}
#mainav .drop::after, #mainav li li .drop::after, .sidebar nav a::after{position:absolute; font-family:"FontAwesome"; font-size:10px; line-height:10px;}

/* Top Navigation */
#mainav{}
#mainav ul{text-transform:uppercase; text-align:center;}
#mainav ul ul{z-index:9999; position:absolute; width:260px; text-transform:none; text-align:left;}
#mainav ul ul ul{left:160px; top:0;}
#mainav li{display:inline-block; position:relative; margin:0 30px 0 0; padding:0;}
#mainav li:last-child{margin-right:0;}
#mainav li li{width:100%; margin:0;}
#mainav li a{display:block; padding:20px 0;}
#mainav li li a{border:solid; border-width:0 0 1px 0;}
#mainav .drop{padding-left:15px;}
#mainav li li a, #mainav li li .drop{display:block; margin:0; padding:10px 15px;}
#mainav .drop::after, #mainav li li .drop::after{content:"\f0d7";}
#mainav .drop::after{top:25px; left:5px;}
#mainav li li .drop::after{top:15px; left:5px;}
#mainav ul ul{visibility:hidden; opacity:0;}
#mainav ul li:hover > ul{visibility:visible; opacity:1;}

#mainav form{display:none; margin:0; padding:20px 0;}
#mainav form select, #mainav form select option{display:block; cursor:pointer; outline:none;}
#mainav form select{width:100%; padding:5px; border:1px solid;}
#mainav form select option{margin:5px; padding:0; border:none;}

/* Sidebar Navigation */
.sidebar nav{display:block; width:100%;}
.sidebar nav li{margin:0 0 3px 0; padding:0;}
.sidebar nav a{display:block; position:relative; margin:0; padding:5px 10px 5px 15px; text-decoration:none; border:solid; border-width:0 0 1px 0;}
.sidebar nav a::after{top:9px; left:5px; content:"\f101";}
.sidebar nav ul ul a{padding-left:35px;}
.sidebar nav ul ul a::after{left:25px;}
.sidebar nav ul ul ul a{padding-left:55px;}
.sidebar nav ul ul ul a::after{left:45px;}

/* Tables
--------------------------------------------------------------------------------------------------------------- */
table, th, td{border:1px solid; border-collapse:collapse; vertical-align:top;}
table, th{table-layout:auto;}
table{width:100%; margin-bottom:15px;}
th, td{padding:5px 8px;}
td{border-width:0 1px;}

/* Colours
--------------------------------------------------------------------------------------------------------------- */
body{color:#FFFFFF; background-color:#000000;}
a{color:#05B3F2;}
a:active, a:focus{background:transparent;}
hr, .borderedbox{border-color:#D7D7D7;}
label span{color:#FF0000; background-color:inherit;}
input:focus, textarea:focus, *:required:focus{border-color:#05B3F2;}
.overlay{color:#FFFFFF; background-color:inherit;}
.overlay::after{color:inherit; background-color:rgba(0,0,0,.55);}

.btn, .btn.inverse:hover{color:inherit; background-color:transparent; border-color:inherit;}
.btn:hover, .btn.inverse{color:#FFFFFF; background-color:#05B3F2; border-color:#05B3F2;}

/* Rows */
.row0, .row0 a{}
.row1, .row1 a{}
.row2, .row2 a{color:#888888; background-color:#F5F5F5;}
.row3{color:#888888; background-color:#FFFFFF;}
.row4, .row4 a{}
.row5, .row5 a{}

/* Header */
#header #logo a{color:inherit;}

/* Content Area */
.services li figure:hover::after{background-color:#05B3F2;}
.services li figure figcaption{color:#FFFFFF;}

.cta article .heading a{color:inherit;}
.cta article:hover .heading a{color:#05B3F2;}
.cta article span{color:#FFFFFF;}
.cta article span::before, .cta article span::after{background-color:#A3C9D3; border-color:#A3C9D3;}
.cta article:hover span::after{border-color:inherit;}

/* Footer */
#footer{border-color:rgba(255,255,255,.2);}

/* Navigation */
#mainav li a{color:inherit;}
#mainav .active a, #mainav a:hover, #mainav li:hover > a{color:#A3C9D3; background-color:inherit;}
#mainav li li a, #mainav .active li a{color:#FFFFFF; background-color:rgba(0,0,0,.6); border-color:rgba(0,0,0,.6);}
#mainav li li:hover > a, #mainav .active .active > a{color:#FFFFFF; background-color:#A3C9D3;}
#mainav form select{color:#FFFFFF; background-color:#1F1F1F; border-color:#000000;}

.container .sidebar nav a{color:inherit; border-color:#D7D7D7;}
.container .sidebar nav a:hover{color:#05B3F2;}

.current *{color:#FFFFFF; background-color:#05B3F2;}

/* Tables */
table, th, td{border-color:#D7D7D7;}
th{background-color:#F7F7F7;}
tr{color:inherit; background-color:#FFFFFF;}
tr:nth-child(even){color:inherit; background-color:#F7F7F7;}
table a{background-color:inherit;}

/* Media Queries
--------------------------------------------------------------------------------------------------------------- */
@-ms-viewport{width:device-width;}

/* Max Wrapper Width - Laptop, Desktop etc.
--------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width:978px){
	.hoc{max-width:978px;}
}

/* Mobile Devices
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:900px){
	.hoc{max-width:90%;}

	#header{}

	#mainav{}
	#mainav ul{display:none;}
	#mainav form{display:block;}

	.container{}

	#footer{}
}

@media screen and (max-width:750px){
	.imgl, .imgr{display:inline-block; float:none; margin:0 0 10px 0;}
	.fl_left, .fl_right{display:block; float:none;}
	.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter{display:block; float:none; width:auto; margin:0 0 30px 0; padding:0;}
}

/* Other
--------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:650px){
	.scrollable{display:block; width:100%; margin:0 0 30px 0; padding:0 0 15px 0; overflow:auto; overflow-x:scroll;}
	.scrollable table{margin:0; padding:0; white-space:nowrap;}

	.inline li{display:block; margin-bottom:10px;}
	.pushright li{margin-right:0;}

	.font-x2{font-size:1.4rem;}
	.font-x3{font-size:1.6rem;}
}