* { box-sizing: border-box; }
/* Defaults */
/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('/assets/fonts/poppins-v20-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v20-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('/assets/fonts/poppins-v20-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v20-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('/assets/fonts/poppins-v20-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v20-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('/assets/fonts/poppins-v20-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v20-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* poppins-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url('/assets/fonts/poppins-v20-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v20-latin-700italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* poppins-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url('/assets/fonts/poppins-v20-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v20-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/roboto-v30-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/assets/fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/roboto-v30-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

:root {
	--font-family: 'Roboto', Arial, -apple-system, system-ui, sans-serif;
	--font-family-headings: 'Poppins', Arial, -apple-system, system-ui, sans-serif;
	--font-family-monospace: Courier, monospace;
}

/* Theme colors */
:root {
	--background-color: #fff;
	--text-color-white: #fff;
	--text-color: #444;
	--text-color-black: #141618;
	--text-color-link: #a50034;
	--text-color-link-active: #ff0050;
	--text-color-link-visited: #a50034;
	--background-color-black: #333;
	--background-color-trueblack: #000;
	--background-color-darkgrey: #141618;
	--background-color-palegrey: #f7f7f7;
	--syntax-tab-size: 2;
}

/*@media (prefers-color-scheme: dark) {
	:root {
		--darkreader-text--text-color-white: #fff!important;

		--text-color-white: #fff;
		--text-color-link: #a50034;
		--text-color-black: #fff;
		--text-color-link-active: #a50034;
		--text-color-link-visited: #a50034;

		--background-color: #141618;
	}
}*/

* {
box-sizing:border-box
}

html,body {
padding:0;
margin:0 auto;
font-family: var(--font-family);
font-size:18px;
color:var(--text-color);
background-color:var(--background-color)
}

body {
background-repeat:no-repeat;
background-size:100% 600px;
}

.visually-hidden {
clip:rect(0 0 0 0);
clip-path:inset(50%);
height:1px;
overflow:hidden;
position:absolute;
white-space:nowrap;
width:1px
}

.mobile-hidden {
	display:none;
}

.container-fluid {
padding:0!important
}

.container {
	padding-left:2.0rem!important;
	padding-right:2.0rem!important
}

.resp {
width: auto;
max-width:100%
}

.center {
	text-align:center;
}

hr {
	margin: 27px 0px 45px 0px;
	border-style: solid;
	border-color:var(--text-color-link-visited);
	width: 90px;
	border-top-width: 2px;
	opacity: 1!important;
}

.logo-image {
	max-width:109px;
	max-height:50px;
}

.clear { clear:both; }
.clear15 { clear:both;height:15px; }
.clear75 { clear:both;height:75px; }

.team-photo { width: 100%; padding: 5% 10%; }

h1 {
	font-family: var(--font-family-headings);
	margin-bottom:20px!important;
	font-weight:700!important;
}

h2,h3,h4,h5 {
	font-family: var(--font-family-headings);
	margin-bottom:30px!important;
	font-weight:700!important;
}

h2, h2 a {
	font-size:34px!important;
	font-weight:700;
	color: var(--text-color-black)!important;
	text-decoration:none;
	margin-bottom:30px!important;
}

p:last-child {
margin-bottom:0
}

p {
font-family: var(--font-family);
line-height:1.5
}

li {
line-height:1.5
}

a[href] {
color:var(--text-color-link)
}

a[href]:visited {
color:var(--text-color-link-visited)
}

a[href]:hover,a[href]:active {
color:var(--text-color-link-active)
}

.img-left.img-padding {
	padding: 0 20px 20px 0;
}

.img-right.img-padding {
	padding: 0 0 20px 20px;
}

.btn {
font-size:.65rem!important;
color:var(--text-color-grey)!important;
background-color:var(--text-color-white)!important;
border-color:var(--text-color-white)!important;
font-weight:500!important;
font-family:Poppins!important;
letter-spacing:.1em!important;
text-transform:uppercase!important;
padding:13px 31px!important;
border-radius:3px!important;
transition-duration:.4s
}

.btn:hover {
color:var(--text-color-white)!important;
background-color:var(--text-color-link)!important
}

.btn-primary {
	color: var(--text-color-white)!important;
	background-color:var(--text-color-link)!important;
	border-color:var(--text-color-link)!important;
}

.btn-primary.btn:hover {
	color: var(--text-color-white)!important;
	background-color:var(--background-color-black)!important;
	border-color:var(--text-color-link)!important;
}

.btn-primary-small {
padding:5px 10px!important;
color:var(--text-color-black)!important
}

.btn-secondary {
	color: var(--text-color-white)!important;
	background-color:var(--background-color-darkgrey)!important;
	border-color:var(--background-color-darkgrey)!important;
	border-radius:8px!important;
}

.btn-secondary.btn:hover {
	color: var(--text-color-black)!important;
	background-color:transparent!important;
	border-color:var(--text-color-black)!important;
}

.btn-tertiary {
	color: var(--text-color-black)!important;
	background-color:#ddd!important;
	border-color:var(--background-color-black)!important;
	border-radius:8px!important;
}

.btn-tertiary.btn:hover {
	color: var(--text-color-white)!important;
	background-color:var(--text-color-link)!important;
	border-color:var(--text-color-link)!important;
}

.btn-banner {
	margin-top:30px;
	color: var(--text-color-black)!important;
	background-color:var(--text-color-white)!important;
	border-color:var(--text-color-white)!important;
}

.btn-banner.btn:hover {
	color: var(--text-color-white)!important;
	background-color:var(--text-color-link-visited)!important;
	border-color:var(--text-color-white)!important;
}

.btn-search, .btn-search:hover {
	background:transparent!important;
	border:0px!important;
	padding:0!important;
	margin:0!important;
}

.btn-footer {
display:block;
color:var(--text-color-white)!important;
background-color:var(--text-color-link)!important;
border-color:var(--text-color-link)!important;
padding:10px 56px!important;
min-width:230px;
font-size:.65rem;
margin-bottom:35px
}

.btn-footer:last-child {
margin-bottom:0
}

.btn-footer:hover {
color:var(--text-color-white)!important;
background-color:var(--text-color-black)!important
}

.btn-notfound {
	border-radius:30px!important;
	color:#333!important;
	font-size:11px!important;
}

.modal-backdrop.show {
	opacity:0;
}

#searchModal .modal-header, #menuModal .modal-header {
	border:none;
}

#searchModal .modal-content, #menuModal .modal-content {
	background: var(--background-color-trueblack);
}

#searchModal .search-container {
	display:table-cell;
	vertical-align: middle;
	width:100%;
}

#searchModal .search-container-inner {
	width: 80%;
	border: 1px solid var(--text-color-link);
	padding: 25px 40px;
	margin: 0 auto;
	position:absolute;
	top:45%;
	left:10%;
}

#searchModal .search-container-inner svg {
	margin-top:-10px;
}

#searchModal input[type='search'] {
    outline-offset: -2px;
    appearance: textfield;
    -webkit-appearance: textfield;
    background: none;
    border: none;
    box-shadow: none;
		outline:none;
    width: 88%;
    font-size: 32px;
    color: #fff;
}

#searchModal input:focus {
	box-shadow:none;
	outline:none;
}

input, button, select, textarea {
	-webkit-transition: color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), border-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-moz-transition: color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), border-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-o-transition: color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), border-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
	transition: color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86), border-color 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.section-border {
	border-bottom: 1px solid #eee;
}

.section-border.red {
	width:100px;
	margin: 20px auto 40px;
	text-align:center;
	border-bottom: 2px solid var(--text-color-link);
}

.post-navigation ul {
	display:flex
}

pre,code {
font-family:var(--font-family-monospace)
}

pre:not([class*="language-"]) {
margin:.5em 0;
line-height:1.375;
-moz-tab-size:var(--syntax-tab-size);
-o-tab-size:var(--syntax-tab-size);
tab-size:var(--syntax-tab-size);
-webkit-hyphens:none;
-ms-hyphens:none;
hyphens:none;
direction:ltr;
text-align:left;
white-space:pre;
word-spacing:normal;
word-break:normal
}

code {
word-break:break-all
}

svg {
fill:#feffff
}

svg:hover {
fill:var(--text-color-link-visited);
}

#cookieNotice {
background:var(--text-color);
color:var(--text-color-white);
font-size:.7rem;
text-align:center;
padding:15px;
}

#cookieNotice p {
padding-top:6px
}

a.more-info-link,a.more-info-link:visited {
color:var(--text-color-white)
}

.navbar-bg {
	background:rgba(255,255,255,0.5);
}

#mobileNav-container {
	display:block;
	padding-right:0px;
}
#mainNav-container {
	display:none;
}

.navbar-brand {
	padding: 20px 35px;
}

.navbar-brand.brand-dark {
	padding: 20px 0;
}

#mainNav header nav {
float:right;
text-transform:uppercase;
color:var(--text-color-white);
font-size:.7rem;
border-bottom:rgba(255,255,255,0.15)!important;
margin-right:36px
}

#mainNav ul.navbar-nav li {
font-family:var(--font-family-headings);
font-weight:500;
font-size:12px;
letter-spacing:0.5px;
word-break: keep-all;
padding:40px 15px;
text-align:center;
}

#mainNav ul.navbar-nav li a, #mainNav ul.navbar-nav li a[href], #mainNav ul.navbar-nav li a[href]:visited {
text-transform:uppercase;
text-decoration:none;
color:var(--text-color-white);
}

#mainNav ul.navbar-nav li a[href]:hover {
	color:var(--text-color-link-visited);
}

#mainNav ul.navbar-nav li a.active, #mainNav ul.navbar-nav li a[href].active {
color:var(--text-color-link-visited);
}

#mainNav ul.navbar-nav {
	flex-direction:row;
}

#mainNav ul.navbar-nav li.nav-item.boxed {
float:right;
padding:40px;
margin-left:15px;
border-left-width:1px;
border-left-style:solid;
border-color:rgba(255,255,255,0.15)!important
}

.navbar-expand {
	z-index: 99;
	padding: 0;
}
.navbar-expand .container .navbar-toggler {
	display: block;
	margin:8px 0 0 0!important;
}
.navbar-collapse {
	background: var(--background-color-trueblack);
	position: fixed;
	z-index: 9;
	display: block;
	visibility: hidden;
	opacity: 0;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	transition: all 0.4s;
}
.navbar-collapse ul.navbar-nav {
	position: absolute;
	background: #000;
	top: 53px;
	left: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 37px;
	padding-bottom: 15px;
}
.navbar-collapse ul.navbar-nav li {
	font-family:var(--font-family-headings);
	font-weight:500;
	opacity: 0;
	transition: opacity 0.4s cubic-bezier(0.58, 0.3, 0.005, 1);
	padding: 0;
	margin: 10px 0 0;
}
.navbar-collapse ul.navbar-nav li a {
	color: var(--text-color-white);
	text-decoration:none;
	font-size: 20px;
	padding: 0;
}
.navbar-collapse.show {
	visibility: visible;
	opacity: 1;
	z-index: 9;
}
.navbar-collapse.show ul li {
	opacity: 1;
}
.navbar-collapse.show ul li:nth-child(1) {
	transition-delay: 0.06s;
}
.navbar-collapse.show ul li:nth-child(2) {
	transition-delay: 0.12s;
}
.navbar-collapse.show ul li:nth-child(3) {
	transition-delay: 0.18s;
}
.navbar-collapse.show ul li:nth-child(4) {
	transition-delay: 0.24s;
}
.navbar-collapse.show ul li:nth-child(5) {
	transition-delay: 0.3s;
}
.navbar-collapse.show ul li:nth-child(6) {
	transition-delay: 0.36s;
}
.navbar-toggler {
	padding: 0;
}
.navbar-toggler #nav-icon {
	display:block;
	width: 30px;
	height: 22px;
	position: relative;
	margin: 0 auto;
	transform: rotate(0deg);
	cursor: pointer;
	z-index:1000;
}
.navbar-toggler #nav-icon span {
	display: block;
	position: absolute;
	height: 3px;
	width: 50%;
	background: white;
	opacity: 1;
	transform: rotate(0deg);
	transition: 0.25s ease-in-out;
}
.navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(even) {
	left: 50%;
}
.navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(odd) {
	left: 0px;
}
.navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(1), .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(2) {
	top: 0px;
}
.navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(3), .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(4) {
	top: 9px;
}
.navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(5), .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(6) {
	top: 18px;
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(1), .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(6) {
	transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(2), .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(5) {
	transform: rotate(-45deg);
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(1) {
	left: 5px;
	top: 7px;
	background-color:#000;
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(2) {
	left: calc(50% - 5px);
	top: 7px;
	background-color:#000;
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(3) {
	left: -50%;
	opacity: 0;
	background-color:#000;
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(4) {
	left: 100%;
	opacity: 0;
	background-color:#000;
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(5) {
	left: 5px;
	top: 12px;
	background-color:#000;
}
.navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(6) {
	left: calc(50% - 5px);
	top: 12px;
	background-color:#000;
}
.main-nav-header {
	width:100%;
	text-align:left;
	background:#fff;
	padding:20px 0 20px 35px;
}
button:focus:not(:focus-visible) {
	box-shadow:none;
}

main h1 {
text-align:left;
color:var(--text-color-white);
font-weight:700;
font-size:2.0rem;
}

main .header-left, main .header-right {
	width:100%;
	margin:0px;
	padding:0px 10px;
	text-align:center;
}

main .header-left p {
	font-family:var(--font-family-headings);
	color:var(--text-color-white);
	font-weight:700;
	font-size:34px;
	line-height:2.1rem;
	text-align:center;
	margin-bottom:30px;
}

main .header-right p {
	font-family:droid-serif,serif;
	color:var(--text-color-white);
	font-weight:400;
	font-size:1.3rem;
	text-align:center;
}

.banner-wrap {
	background-repeat:no-repeat;
	background-size:auto 600px;
	background-position:top center;
}

.banner-wrap-content {
display:table-cell;
vertical-align:bottom;
height:900px;
padding-bottom:175px;
}

.banner-wrap-content-page.home {
	height:550px!important;
}

.banner-wrap-content-page {
	font-family: 'Poppins', san-serif!important;
	height:778px;
	vertical-align:bottom!important;
	padding-top:50px;
	color:var(--text-color-white);
}

.banner-wrap-content-page.short {
	height:147px!important;
	vertical-align:bottom!important;
	padding:0px 0 50px!important;
	color:var(--text-color-white);
}

.banner-wrap-content-page h1 {
	vertical-align:bottom!important;
	text-align:left;
	font-size:35px;
	margin-bottom:0px!important;
}

.banner-wrap-content-page .center h1 {
	text-align:center!important;
	text-transform:uppercase;
	width:100%!important;
	font-size:80px;
	text-shadow: 2px 2px 10px rgba(0,0,0,0.5);
}

.banner-wrap-content-page .center p {
	font-family: var(--font-family-headings);
	text-transform:uppercase;
	font-size:12px;
}

.banner-wrap-solid {
	background:var(--text-color-link)
}

.red-bg {
margin-top:2rem;
border-radius:8px;
background-color:var(--text-color-link);
-webkit-box-shadow: 0px 30px 60px -30px rgba(0, 0, 0, 0.45);
-moz-box-shadow: 0px 30px 60px -30px rgba(0, 0, 0, 0.45);
box-shadow: 0px 30px 60px -30px rgba(0, 0, 0, 0.45);
}

.services-wrapper {
	background: var(--background-color-palegrey);
	padding-bottom:72px;
}

#services {
	margin-top:600px;
	padding:100px 10px!important;
	text-align:center;
	text-transform:uppercase;
	font-weight:500;
	background:#1b1d1f;
	color:var(--text-color-white)
}

#services svg {
	fill:#a50034;
	margin-bottom:30px;
}

#services p {
	font-family: var(--font-family-headings);
	font-size:1.1rem;
	letter-spacing:1px;
}

#services .btn-services {
	font-size:0.8rem!important;
	margin-top:90px;
	padding:0.75rem 2.4rem!important;
}

#services-page, #singleservices-page, #projects-page, #posts-page, #content-page, #single-post-page {
	padding: 30px 0;
}

#projects-page .card-body { 
	margin-bottom: 30px;
}

#services-page h2, #projects-page h2 {
	font-size:0.8rem!important;
	text-align:center;
	margin-bottom:0px!important;
}

#content-page h2 {
	font-size:1.1rem!important;
	text-align:left;
	margin-bottom:30px!important;
}

#content-page h3 {
	font-size:1.0rem!important;
	text-align:left;
	margin-bottom:20px!important;
}

#content-page p {
	margin-bottom:30px;
}

#content-page.user-content h2 {
	font-size: 26px!important;
	line-height: 34px!important;
	font-weight: 700;
	width:200px;
	text-align: center;
	padding-bottom:0.2ch;
	margin: 1.5ch auto 1.35ch!important;
	border-bottom: 2px solid var(--text-color-link);
}

#content-page.user-content h3 {
	font-size: 20px!important;
	line-height: 28px!important;
	font-weight: 500!important;
	text-align:center;
	margin: 25px 0;
}

#portfolio.portfolio-content, #portfolio.portfolio-content h3 {
	text-align: left;
	margin: 0 0 25px 0;
}

#content-page.user-content p {
	line-height:28px;
}

#content-page.user-content.centred p {
	text-align:justify;
	line-height:28px;
}

#content-page .icon {
	text-align:center;
}

#singleservices-page h2 {
	font-size:27px!important;
	font-weight:500!important;
	text-align:left!important;
	margin-bottom:30px!important;
}

#singleservices-page h3 {
	font-size:24px!important;
	font-weight:500!important;
	text-align:left;
	margin:40px 0 30px!important;
}

#singleservices-page p, #singleservices-page ul  {
	margin-bottom:30px;
}

#projects-page img {
	margin-bottom:10px;
}

#projects-page p {
	font-family: 'Roboto', sans-serif;
	font-size:0.9rem!important;
	margin-top:20px;
}

#projects-page p.intro, #posts-page p.intro {
	font-family:'Roboto', san-serif;
	font-size:18px!important;
	text-align:justify;
}

#projects-page h2 {
	font-size:1.0rem!important;
}

#services-page a, #projects-page a, #posts-page a, #content-page a {
	text-decoration:none!important;
}

#services-page a:hover h2, #projects-page a:hover h2, #content-page a:hover h2 {
	color: var(--text-color-link-active)!important;
}

#posts-page  {
	background:#f4f4f4;
	padding-top:30px!important;
}

#posts-page .card {
	-webkit-box-shadow: 1px 1px 10px 1px rgba(0,0,0,0.05);
	box-shadow: 1px 1px 10px 1px rgba(0,0,0,0.05);
}

#posts-page ul {
	list-style:none;
	padding-left:0px!important;
	margin-bottom:30px;
}

#posts-page ul li {
	display:inline;
	font-family: var(--font-family-headings);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.25px;
	word-break: keep-all;
	padding: 40px 15px;
}

#posts-page ul li a {
	color:var(--background-color-black)!important;
}

#posts-page ul li.post-tag a {
	text-transform: uppercase!important;
}

#posts-page ul li a.active {
	color:#909090!important;
}

#posts-page ul li a:hover {
	color:#888!important;
}

#posts-page img {
	margin-top:0px!important;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

#posts-page .card-body {
	padding:25px 30px;
}

#posts-page .card-body p.card-title, #posts-page .card-body p.card-title a, #posts-page ul li p.card-title a, #posts-page ul li p.card-title a:visited {
	text-align:left;
	font-size:20px!important;
	font-weight:700!important;
	color:var(--background-color-black)!important;
}

#posts-page .card-body p.card-title a:hover {
	color:var(--text-color-link-visited)!important;
}

#posts-page .card-body hr {
	border:1px solid #eee;
	width:100%;
	margin:20px 0 20px;
}

#posts-page .card-body p {
	text-align:left;
	font-size:12px;
	color:#595959;
}

#single-post-page h2 {
	font-size:29px!important;
	line-height:37px;
	font-weight:500!important;
}

.service {
	padding:0 0 50px;
}

.card {
	border:none!important;
	text-align:center;
}

.card .btn {
	margin-top:30px;
}

#news, #who-we-work-with, #how-we-can-help {
	padding:75px 0!important;
	text-align:center;
}

#news h3, #who-we-work-with h3, #how-we-can-help h3 {
	padding: 30px 0 10px!important;
	font-size:1.5rem!important;
}

#news h3 {
	width:80%;
	height:125px;
	overflow-y:hidden;
}

#news a, #news a:visited {
	color: var(--text-color-black);
	text-decoration:none;
}

#how-we-can-help {
	background:var(--background-color-darkgrey);
	color:var(--text-color-white)
}

#how-we-can-help h3 {
	font-size:1.75rem!important;
	color:var(--text-color-white);
}

#how-we-can-help label {
	font-size:16px;
	font-weight:bold;
	margin-bottom:5px;
}

#how-we-can-help label, #how-we-can-help input, #how-we-can-help textarea {
	display:block;
	width:100%;
}

#how-we-can-help input {
	margin-bottom:15px;
}

#how-we-can-help input.input-inline {
	display:inline;
	margin-bottom:15px;
	width:25px;
}

#how-we-can-help label.label-inline {
	display:inline;
	width: auto;
	line-height:16px!important;
}

#how-we-can-help a {
	color:var(--text-color-white);
}

.field-container {
	margin-bottom:30px;
}

#not-found {
	padding: 100px 0;
	text-align:center;
	color:var(--text-color-white);
}

#not-found h1 {
	font-size:175px;
	line-height:105px;
}

#not-found h2 {
	font-size:45px!important;
	font-family:var(--font-family-headings);
	color:var(--text-color-white)!important;
	margin-bottom:30px!important;
}

#not-found p, #not-found hr {
	margin-bottom:40px!important;
}

table {
	border: 1px solid #ccc;
	margin-bottom:20px;
}

th {
	border: 1px solid #ccc;
	vertical-align:top;
	padding:10px;
}

td {
	border: 1px solid #ccc;
	vertical-align:top;
	padding:10px;
}

.post-nav {
	background:#f7f7f7;
	border-top:1px solid #eaeaea;
	padding:20px;
}
.post-metadata, .post-nav ul.navigation {
	list-style:none;
}

input.input-inline { 
	display:inline; 
}

span.required-label {
	color:var(--text-color-link-active)!important;
}

footer {
	background:var(--background-color-trueblack);
	color:var(--text-color-white)
}

footer p {
	font-size:.7rem;
	line-height:1.3rem
}

footer a {
	color:var(--text-color-white)!important;
	text-decoration:none
}

footer a:hover {
	color:var(--text-color-link-active)!important;
}

footer #social,footer #copyright {
	background:var(--background-color-darkgrey)
}

footer #copyright {
	padding:27px 36px
}

footer .flex-fill {
	text-align:center
}

footer .scroll-top {
	cursor:pointer;
	display: none;
	background: var(--background-color-black);
	width: 2em;
	height: 2em;
	padding-top: 6px;
	text-align:center;
	position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
}

footer .scroll-top:hover {
	background: var(--text-color-link-visited);
}

.header-anchor {
	text-decoration:none;
	font-style:normal;
	font-size:1em;
	margin-left:.1em
}

a[href].header-anchor,a[href].header-anchor:visited {
	color:transparent
}

a[href].header-anchor:focus,a[href].header-anchor:hover {
	text-decoration:underline
}

a[href].header-anchor:focus,:hover > a[href].header-anchor {
	color:#aaa
}

/* Media Queries */

/* Small devices (tablets, 576px and up)*/
@media (min-width: 576px) {
	.mobile-hidden {
		display:block;
	}
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
	body {
		background-repeat:no-repeat;
		background-size:100% 850px;
	}
	.tablet-hidden {
		display:none;
	}
	h2, h2 a {
		font-size:1.0em;
		font-weight:700;
		color: var(--text-color-black)!important;
		text-decoration:none;
		margin-bottom:30px!important;
	}
	.container {
		padding-left:.75rem!important;
		padding-right:.75rem!important
	}
	#mobileNav-container {
		padding-right:20px;
	}
	.nav-bar {
		border-bottom-width:1px;
		border-bottom-style:solid;
		border-color:rgba(255,255,255,0.15)!important
	}
	main h1 {
		font-size:3.0rem;
		text-align:center;
	}
	.banner-wrap {
		background-repeat:no-repeat;
		background-size:cover;
		background-position:top center;
		margin-bottom:0px;
	}
	.banner-wrap-content {
		padding-bottom:0px;
	}
	.banner-wrap-content-box {
		position:relative;
		bottom:100px;
	}
	#services {
		margin-top:300px;
	}
	.service {
		padding:0 20px 50px;
	}
	.banner-wrap-content-page {
		padding-top:280px;
	}
	.banner-wrap-content-page.short {
		height:225px!important;
	}
	.banner-wrap-content-page h1 {
		font-size:54px;
	}
	.banner-wrap-content-page.home {
		height:550px!important;
		/*padding-top:380px;*/
	}
	.banner-wrap-content-page.home h1 {
		width:100%;
		letter-spacing:-3px;
		text-align:center;
	}
	#searchModal input[type='search'] {
		width: 95%;
	}
	#not-found {
		padding: 200px 0;
	}
	#not-found h2 {
		font-size:89px!important;
	}
	.navbar-collapse ul.navbar-nav {
		margin-top:35px;
		padding-bottom:20px;
	}
	.navbar-collapse ul.navbar-nav li a {
		font-size:30px;
	}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.navbar-collapse ul.navbar-nav {
		margin-top:65px;
		padding-bottom:35px;
	}
	#mobileNav-container {
		display:none;
	}
	#mainNav-container {
		display:block;
		margin-right:20px;
	}
	#services {
		margin-top:275px;
	}
}

/* X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
	.tablet-hidden {
		display:block;
	}
	header {
		padding:0px;
		border-bottom: 1px solid rgba(255,255,255,0.15)!important;
	}
	.navbar-collapse ul.navbar-nav li a {
		font-size:40px;
	}
	main h1 {
		font-size:5rem;
	}
	main .header-left {
		width:50%;
		padding-left:40px;
	}	
	main .header-right {
		width:50%;
		padding-right:40px;
		text-align:left;
	}
	main .header-left p {
		font-family:var(--font-family-headings);
		color:var(--text-color-white);
		letter-spacing:-0.5px;
		font-weight:700;
		font-size:2.6rem;
		line-height:3rem;
		text-align:right;
	}	
	main .header-right p {
		font-family:droid-serif,serif;
		color:var(--text-color-white);
		font-weight:400;
		font-size:1.3rem;
		text-align:left;
		margin-bottom:0px;
	}
	#services {
		margin-top:300px;
	}
	.banner-wrap-content-page {
		padding-top:240px;
	}
	.banner-wrap-content-page h1 {
		font-size:70px;
	}
	#content-page.user-content h2 {
		padding-bottom:0.2ch;
		margin: 1.5ch auto 1.73ch!important;
	}
	#searchModal .search-container-inner {
		width: 50%;
		top:45%;
		left:25%;
	}
	#searchModal input[type='search'] {
			width: 95%;
	}
	#not-found h2 {
		font-size:45px!important;
	}
	#posts-page ul li:first-child {
		padding-left:0px!important;
	}
}
/* CSS-tricks.com                               */
/* A simple system for producing CSS animations */
/* Thanks, guys ;-) */

.animate {
  animation-duration: 0.75s;
  animation-delay: 0.5s;
  animation-name: animate-fade;
  animation-timing-function: cubic-bezier(.26, .53, .74, 1.48);
  animation-fill-mode: forwards;
}

/* Fade In */
.animate.fadeelement {
  animation-name: animate-fadeelement;
  animation-timing-function: ease;
}

@keyframes animate-fadeelement {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* Pop In */
.animate.pop { animation-name: animate-pop; }

@keyframes animate-pop {
  0% {
    opacity: 0;
    transform: scale(0.5, 0.5);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .animate {
    animation: none !important;
  }
}

/* SWUP.js */
html.is-changing .transition-fade {
  transition: opacity 0.25s;
  opacity: 1;
}
html.is-animating .transition-fade {
  opacity: 0;
}