/*
	Theme Name: RootHost
	Theme URI: http://www.roothost.uk
	Author: The RootHost Team
	Author URI: http://www.roothost.uk
	Author Email: hello@roothost.uk
	Author Twitter: @roothost
	Author Facebook: https://www.facebook.com/roothost
	Author Google+: https://www.google.com/+RoothostCo
	Description: Design | Develop | Deliver
	Version: 1.1
	Licence: NOT for public use, only for use of RootHost Ltd team members for RootHost, and its clients, projects.
	
	1.0 Fonts
	2.0 Global Styling
        2,1 Body
        2.2 Typography
            2.2.1 Headings and Sub-Headings
            2.2.2 Paragraphs
            2.2.3 Links
		2.3 Breadcrumb Trail
		2.4 Media
			2.4.1 Responsive Media
			2.4.2 Image Floats
            2.4.3 Images with Captions
		2.5 Blockquotes
		2.6 Forms
            2.6.1 Contact Form 7
		2.7 Lists
			2.7.1 Comments List	
		2.8 Tables
		2.9 Tabs
        2.10 Buttons
        2.11 Global Helpers
    3.0 Global Structure Overrides
	4.0 Global Header Styling
	5.0 Global Navigation Styling
	6.0 Global Sidebar Styling
	7.0 Global Footer Styling
	8.0 Page Templates
	9.0 Widgets and Features
		9.1 Social Share Buttons
		9.2 Twitter Widget
		9.3 Cookie Notice
	10.0 MISC
	11.0 Responsive
*/

/* =============================================================================
1.0 Fonts
========================================================================== */

/* =============================================================================
2.0 Global Styling
========================================================================== */
/* 2.1 Body */
body, input, button {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: 400;
}

body {
	background: #ffffff;
	color: #565656;
}

/* 2.2 Typography */

    /* 2.2.1 Headings and Sub-Headings */
    h1, h2, h3, h4, h5, h6 {
        color: #565656;
      line-height: 1;
      margin-top: 0;
    }

h1 {
  font-size: 1.755rem;
  margin-bottom: 25px;
}

h2 {
  font-size: 1.555rem;
}

h3 {
  font-size: 1.455rem;
}

h4 {
  font-size: 1.455rem;
}

h5 {
  font-size: 1.255rem;
}

h6 {
  font-size: 1.055rem;
}

    /* 2.2.2 Paragraphs */
    p {
        font-size: 0.875rem;
    }

    small {
        font-size: 80%;
    }

    strong, b {
        font-weight: 600;
    }

    /* 2.2.3 Links */
    a {
        -webkit-transition: background 500ms ease, color 500ms ease;
        -moz-transition: background 500ms ease, color 500ms ease;
        -o-transition: background 500ms ease, color 500ms ease;
        transition: background 500ms ease, color 500ms ease;
      color: #9f160a;
    }

/* 2.3 Breadcrumb Trail */

/* 2.4 Media */

	/* 2.4.1 Responsive Media */
	.entry-content-asset {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
    margin-bottom: 1.25rem;
	}
	
	.entry-content-asset iframe,
	.entry-content-asset object,
	.entry-content-asset embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	/* 2.4.2 Image Floats */
	img.alignleft, figure.wp-caption.alignleft {
		float: left;
		margin: 0.455rem 1.1875rem 1.1875rem 0;
	}
	
	img.alignright, figure.wp-caption.alignright {
		float: right;
		margin: 0.455rem 0 1.1875rem 1.1875rem;
	}
	
	/* 2.4.3 Images with Captions */
	figure.wp-caption {
		background-color: #f3f3f3;
		padding: 8px;
	}
	
	figure.wp-caption figcaption.wp-caption-text {
		font-weight: 400;
		font-size: 0.7rem;
		padding-top: 5px;
		color: #424141;
	}

/* 2.5 Blockquotes */
section.entry-content blockquote {
  margin-left: 3rem;
}

/* 2.6 Forms */
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], input[type="submit"], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

input[type="submit"] {
    border: none;
    padding: 0.425rem 0.955rem;
}

textarea {
	resize: none;
}

    /* 2.6.1 Contact Form 7 */
    div.wpcf7 div.screen-reader-response, div.wpcf7 .hidden-fields-container {
        display: none;
    }

    div.wpcf7 div.wpcf7-response-output {
        padding: 0.425rem 0.655rem;
        font-size: 0.9rem;
        font-weight: 400;
        margin-bottom: 50px;
        display: none;
    }

/* 2.7 Lists */
section.entry-content ul, section.entry-content ol {
  margin-left: 3rem;
}

section.entry-content ul.pagination, section.entry-content ul.pagination li {
  margin: 0;
}

section.entry-content ul li, section.entry-content ol li {
  font-size: 0.875em;
}

ol li ul, ol li ol {
	margin: 1.25rem 0 1.25rem 1.25rem;
}

ol.lower-alpha li {
	list-style-type: lower-alpha;
}

ol.lower-roman li {
	list-style-type: lower-roman;
}

	/* 2.7.1 Comments List	 */
	ol.commentlist {
		margin-left: 0px;
	}
	
	ol.commentlist li {
		list-style-type: none;
	}
	
	ol.commentlist li .comment-author img {
		float: left;
		margin: 0 1em 0 0;
	}
	
	ol.commentlist li .author-meta {
		display: inline-block;
	}
	
	ol.commentlist li .author-meta cite.fn {
		font-style: normal;
		font-weight: 600;
	}
	
	ol.commentlist li header.vcard {
		padding: 0px 0px 0.625rem 0px;
		margin: 0px;
		border: none;
	}
	
	ol.commentlist li section.comment {
		margin-left: 4rem;
		margin-bottom: 2rem;
	}
	
	ol.commentlist ul.children {
		margin-left: 4rem;
	}
	
/* 2.8 Tables */

/* 2.9 Tabs */
.tabs-content > .content {
	padding: 0;
}

/* 2.10 Buttons */
button, .button, input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

button:focus {
    outline: 0;
}

/* 2.11 Global Helpers */

/* =============================================================================
3.0 Global Structure Overrides
========================================================================== */
.row, .reveal-modal, dialog {
    max-width: 73.125rem;
}

div#main-wrapper {
  padding: 35px 0;
}

/* =============================================================================
4.0 Global Header Styling
========================================================================== */
header#global-header {
  background: #ffffff;
}

header#gloabl-header div.logo {
  margin-bottom: 20px;
}

/* =============================================================================
5.0 Global Navigation Styling
========================================================================== */
header ul#menu-primary-navigation {
  float: left;
  width: 100%;
  margin-bottom: 0;
}


header ul#menu-primary-navigation li, header ul#menu-primary-navigation li a {
  background: none;
  line-height: 1;
  float: left;
}

header ul#menu-primary-navigation li:first-of-type {
  margin-left: 0;
}

header ul#menu-primary-navigation li {
  border-right: 1px solid #999999;
  list-style: none;
  margin: 0.255rem 1.055rem 0.255rem 0;
  padding-right: 1.055rem;
  position: relative;
}

header ul#menu-primary-navigation li:last-of-type {
  border: none;
}

header ul#menu-primary-navigation li a {
  color: #999999;
  text-transform: lowercase;
  font-weight: 400;
  font-size: 1.355rem;
}

header ul#menu-primary-navigation li a:hover, header ul#menu-primary-navigation li.current-menu-item a {
  color: #9f160a;
}

header ul#menu-primary-navigation li ul.sub-menu {
    max-height: 0px;
    overflow: hidden;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
    background: rgba(255, 255, 255, 0.9);
    float: left;
    width: 100%;
    margin: 0px;
    position: absolute;
    top: 100%;
    z-index: 5000;
  padding: 0.255rem;
}

header ul#menu-primary-navigation li.menu-item-has-children:hover ul.sub-menu {
	max-height: 700px;
}

header ul#menu-primary-navigation li ul.sub-menu li {
  border: none;
}

header ul#menu-primary-navigation li ul.sub-menu li a {
  font-size: 0.8rem;
}

/* Mobile Menu */
ul#menu-mobile-navigation {
  margin: 1.25rem;
}

ul#menu-mobile-navigation li {
  list-style-type: none;
  margin-bottom: 10px;
}

ul#menu-mobile-navigation li a {
  color: #ffffff;
  font-size: 1.155rem;
}

/* =============================================================================
6.0 Global Sidebar Styling
========================================================================== */
aside#global-sidebar .panel {
  border: none;
  background: none;
  padding: 0 0 0 1.555rem;
}

aside#global-sidebar h4 {
  text-transform: lowercase;
  color: #565656;
  font-size: 1.255rem;
}

aside#global-sidebar section#sidebar-bluesky h4 a i {
  font-size: 1.655rem;
  color: #55acee;
}

aside#global-sidebar section#sidebar-facebook h4 a i {
  font-size: 1.655rem;
  color: #1877F2;
}

aside#global-sidebar section#sidebar-instagram h4 a i {
  font-size: 1.655rem;
  color: #8A49A1;
}

aside#global-sidebar section#sidebar-bluesky p, aside#global-sidebar section#sidebar-facebook p, aside#global-sidebar section#sidebar-instagram p {
	font-size: 80%!important;
	margin: 0;
}

aside#global-sidebar ul {
  margin: 0;
}

aside#global-sidebar ul li {
  margin: 0;
  list-style: none;
}

aside#global-sidebar ul li a {
  color: #9f160a;
  font-size: 1.055rem;
}

aside#global-sidebar section#sidebar-social img {
  width: 15%;
}

/* =============================================================================
7.0 Global Footer Styling
========================================================================== */
footer#global-footer {
	padding: 0 0 20px 0px;
  background: #999999;
  color: #ffffff;
}

footer#global-footer div#footer-top {
  background: #cccccc;
  margin-bottom: 20px;
  padding: 20px 0;
}

footer#global-footer div#footer-top ul#footer-logos, footer#global-footer div#footer-top ul#footer-logos li {
  margin-bottom: 0;
  padding-bottom: 0;
}

footer#global-footer p {
  margin: 0;
  color: #ffffff;
  font-size: 0.8rem;
}

footer#global-footer p a, footer#global-footer a {
  color: #ffffff;
}

ul#menu-footer-navigation {
  padding: 0;
  margin: 0 0 5px 0;
  float: left;
  width: 100%;
}

ul#menu-footer-navigation li {
  float: left;
  line-height: 1;
  list-style: none;
  border-right: 1px solid #ffffff;
  margin-right: 5px;
  padding-right: 5px;
  font-size: 0.8rem;
}

ul#menu-footer-navigation li:last-of-type {
  border: none;
}

ul#menu-footer-navigation li a {
  line-height: 1;
  font-size: 0.8rem;
}

/* =============================================================================
8.0 Page Templates
========================================================================== */
/* Home */
div#home-promo-boxes-wrap {
  margin: 0;
}

div#home-promo-boxes-wrap ul {
  margin: 0 -1.355rem;
}

div#home-promo-boxes-wrap ul li {
  padding: 0 1.355rem 1.25rem;
}

div#home-promo-boxes-wrap ul li a {
  color: #9f160a;
}

div#home-promo-boxes-wrap ul li a:hover {
  color: #999999;
}

/* Slider */
div#intro {
  margin-bottom: 25px;
}

div#intro div.slick-slide {
    height: 500px;
}

/* Experiences */
article.experience-item div.columns {
  margin-bottom: 35px;
}

article.experience-item p {
  font-weight: 700;
  margin-bottom: 5px;
}

article.experience-item p.experience-meta {
  font-weight: 400;
  font-size: 0.8rem;
}

/* Gallery */
body.gallery section.entry-content ul {
  margin-left: -0.625rem;
}

/* Blog */
body.blog section.news-item, body.archive section.news-item {
  margin-bottom: 20px;
}

body.blog section.news-item a, body.archive section.news-item a {
  color: #333333;
}

body.blog section.news-item a.read-more-link, body.archive section.news-item a.read-more-link {
  color: #9f160a;
}

	/* Single Post Navigation */
	nav#single-post-pagination li {
		width: auto;
		max-width: 46%;
		height: auto;
	}

	nav#single-post-pagination li.right {
		text-align: right;
	}
	
	/* Post Tags */
	aside.entry-tags ul {
		margin-left: 0px;
	}

	aside.entry-tags ul li {
		display: inline-block;
		list-style-type: none;
	}

/* Single Blog Post */
body.single img.wp-post-image {
  margin-bottom: 30px;
}

/* Contact */
input.wpcf7-submit {
  color: #ffffff;
  font-weight: 600;
  background-color: #9f160a;
  border: 1px solid #9f160a;
}

div.wpcf7-mail-sent-ok {
  border: 1px solid #8AAD36;
}

div.wpcf7-validation-errors {
  border: 1px solid #9f160a;
}

span.wpcf7-not-valid-tip {
  color: #9f160a;
}

form.wpcf7-form.sent p {
	display: none;
}

form.wpcf7-form.sent div.wpcf7-response-output {
	display: block;
	border: 1px solid #8AAD36;
}

/* =============================================================================
9.0 Widgets and Features
========================================================================== */
/* 9.1 Social Share Buttons */
ul.social-share {
	margin-left: 0px;
}

ul.social-share li {
	list-style-type: none;
	display: inline-block;
	margin-right: 5px;
}

ul.social-share li i:before {
	font-size: 1.6rem;
}

/* 9.2 Twitter Widget */
section.rh-twitterfeed ul.rh-fetched-tweets {
	margin: 0px;
}

section.rh-twitterfeed ul.rh-fetched-tweets li.rh-tweet {
	list-style-type: none;
}

iframe#twitter-widget-0 {
  width: 100%!important;
}

/* 9.3 Cookie Notice */
div#cookie-law-info-bar {
	border: 0;
	font-size: 0.9rem;
	margin: 0 auto;
	padding: 5px;
	text-align: center;
	width: 100%;
	z-index: 9999;
}

div#cookie-law-info-bar {
	color: #ffffff!important;
	background-color: #333333!important;
	border-top-width: 0px!important;
	border-top-style: none!important;
	border-top-color: transparent!important;
}

div#cookie-law-info-bar span {
	vertical-align: middle;
}

div#cookie-law-info-bar span a#cookie_action_close_header {
	border-style: solid;
	border-width: 0;
	cursor: pointer;
	font-weight: 600!important;
	line-height: normal;
	margin: auto 10px;
	position: relative;
	text-decoration: none;
	text-align: center;
	-webkit-appearance: none;
	border-radius: 0;
	display: inline-block;
	padding: 8px 14px 9px;
	font-size: 0.88889rem;
	background-color: #008CBA!important;
	border-color: #007095;
	color: #FFFFFF;
	transition: background-color 300ms ease-out;
}

div#cookie-law-info-bar span a#cookie_action_close_header:hover {
	background-color: #007095!important;
}

div#cookie-law-info-bar span a.cli-plugin-main-link, div#cookie-law-info-bar span a.cli-plugin-main-link:hover {
	color: #ffffff!important;
}

/* =============================================================================
10.0 MISC
========================================================================== */
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.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;
}

.fancybox-skin {
	position: relative;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	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('fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.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-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}

.fancybox-lock body {
    overflow: hidden !important;
}

.fancybox-lock-test {
    overflow-y: hidden !important;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url(../img/fancybox_overlay.png);
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	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: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        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: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){

	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
		background-image: url(../img/fancybox_sprite@2x.png);
		background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
	}

	#fancybox-loading div {
		background-image: url(../img/fancybox_loading@2x.gif);
		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
	}
}


/* =============================================================================
11.0 Responsive
========================================================================== */
// Small screens
@media only screen { } /* Define mobile styles */

@media only screen and (max-width: 40em) { 
  nav#desktop-menu {
    display: none;
  }
  
  aside#global-sidebar .panel {
    padding: 0;
}
  
  div#intro div.slick-slide {
    height: 200px;
}
  
  body.blog section.news-item h3, body.archive section.news-item h3 {
    margin-top: 10px;
  }
  
  aside#global-sidebar section#sidebar-latest-posts {
    margin-top: 25px;
    padding-top: 15px;
    border-top: 1px solid #565656;
  }
  
  aside#global-sidebar section#sidebar-social img {
  width: 12%;
}
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

@media only screen and (min-width: 40.001em) and (max-width: 50em) { 
  header ul#menu-primary-navigation li {
    padding-right: 0.555rem;
    margin-right: 0.555rem;
  }

  header ul#menu-primary-navigation li a {
    font-size: 1rem;
  }
  
  div#intro div.slick-slide {
    height: 300px;
}
}

@media only screen and (min-width: 50.001em) and (max-width: 63.5em) {
  
  div#intro div.slick-slide {
    height: 400px;
}
}

@media only screen and (min-width: 50.001em) and (max-width: 72em) { 
  header ul#menu-primary-navigation li {
    padding-right: 0.555rem;
    margin-right: 0.555rem;
  }

  header ul#menu-primary-navigation li a {
    font-size: 1.125rem;
  }
}


// Medium screens
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens */

@media only screen and (min-width: 40.063em) and (max-width: 64em) { 
aside#global-sidebar section#sidebar-social img {
  width: 20%;
}
} /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

// Large screens
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens */

@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

// XLarge screens
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens */

@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */

// XXLarge screens
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens */