/*
Theme Name: Severn Valley Accounting
Author: Rotary Creative - Mark Feltwell
Author URI: http://www.rotaryprinters.co.uk/
Description: Graphic Design, Litho Printing, Digital Printing and Web Design in Stourport, Kidderminster, Worcester, Birmingham
Version: 1.0
Tags:
Text Domain: severnvalley
*/

/* Template Style */

@import url("css/root.css");

html {
	font-size: 9px;
}


@media (min-width: 768px) {
	html {
		font-size: 12px;
	}
}

@media (min-width: 992px) {
	html {
		font-size: 14px;
	}
}

@media (min-width: 1200px) {
	html {
		font-size: 16px;
	}
}

body {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	color: #444;
}

/* Global ____________________________________________________________________*/

h1, h2, h3, h4, h5, h6 {
	font-family: 'Playfair Display', serif;
	font-weight: bold;
	color: #02273a;
	letter-spacing: 1px;
}

h3.under:after {
  content: '';
  height: 2px;
  width: 100px;
  background-color: #005e7d;
  display: block;
  margin-top: 15px;
}

h3.under.under-drk:after {
  content: '';
  height: 2px;
  width: 100px;
  background-color: #fff;
  display: block;
  margin-top: 15px;
}

h3.under.under-drk {
  color: #fff;
}

.standard {
	padding: 100px 0;
}

ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.index_page ul {
	list-style-type: disc;
	margin-bottom: 1rem;
	padding-left: 2.5rem;
}

.flexy {
  display: flex;
  align-items: center;
}

.flexy.text-right {
  display: flex;
  align-items: center;
	justify-content: flex-end;
}

.anchor {
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}

.logo {
  display: flex;
  align-items: center;
  height: 100%;
}

a {
	color: #005E7C;
	transition: 0.15s;
}

a:hover {
	color: #004961;
}

.grecaptcha-badge {
   visibility: hidden;
   opacity: 0;
}

/* Buttons ___________________________________________________________________*/

.btn {
	text-transform: uppercase;
	border-radius: 0;
	padding: 1rem 3rem;
	font-size: 0.75rem;
	letter-spacing: 1px;
}

.btn-primary {
  background-color: #005E7C;
  border-color: #005E7C;
}

.btn-primary:hover {
	background-color: #004961;
	border-color: #004961;
}

/* Header ____________________________________________________________________*/

header.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
  padding: 1.25rem 3.125rem;
	z-index: 20;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}

header.header .logo svg {
	width: 100%;
	max-width: 400px;
	fill: #005E7C;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}

header.header.down .logo svg {
	width: 350px;
}

header.header.down {
	background: #f8f8f8;
	border-bottom: 2px solid #005E7C;
}

a.home {
  display: none !important;
}

.header .nav.mainNav {
	justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.header .mainNav li {
	display: inline-block;
	color: #fff;
  text-transform: uppercase;
	margin: 0 0.5rem;
}

.header .mainNav li a {
  color: #f7f7f7;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
  padding: 0.4rem 1.3rem;
  display: block;
  font-size: 0.9rem;
	transition: 0.15s;
	-webkit-transition: 0.15s;
}

.header.down .mainNav li a {
  color: #444;
  text-shadow: none;
}

.header .mainNav li a:hover,
.header .mainNav li a.active {
	text-decoration: none;
	background-color: #024b6f;
	color: #fff;
}

.hasSub {
  position: relative;
}

/* ol.subMenu {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  z-index: 5;
  font-size: 0.85rem;
  width: 100%;
  min-width: 200px;
  text-align: left;
	opacity: 0;
	visibility: hidden;
	transition: 0.2s;
}

.hasSub:hover ol.subMenu {
	opacity: 1;
	visibility: visible;
}

ol.subMenu.carousel-indicators {
  right: unset;
  justify-content: unset;
  margin: 0;
  display: unset;
}

ol.subMenu.carousel-indicators li {
  flex: unset;
  height: auto;
  text-indent: 0;
} */

/* .header .mainNav ol.subMenu li {
  padding: 0.4rem 1rem;
  background-color: #024b6f;
  width: 100%;
  border-bottom: 1px solid #166187;
	cursor: pointer;
	transition: 0.15s;
	margin: 0;
}

.header .mainNav ol.subMenu li:hover {
	background-color: #005E7C;
}

.header .mainNav ol.subMenu li.active {
	background: #004961;
} */

.dropdown-menu {
  padding: 0;
  border-radius: 0;
	border: none;
}

.dropdown-item {
	background-color: #024b6f;
  border-bottom: 1px solid #166187;
}

.mobileMenu .mainNav li a {
	text-shadow: none;
}

.header.down .mainNav li a.dropdown-item,
.mobileMenu .mainNav li a.dropdown-item {
	color: #fff;
}

.mainNav li a.dropdown-item:hover,
.mobileMenu .mainNav li a.dropdown-item:hover {
	background: #004961;
}

.mobileMenu {
	position: absolute;
	top: 0;
	right: -500px;
	height: 100vh;
	min-height: 880px;
	overflow: auto;
	width: 100%;
	max-width: 500px;
	background: #fff;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.3);
	transition: 0.3s;
	z-index: 999;
}

.open .mobileMenu {
	right: 0;
	box-shadow: -100px 0 80px rgba(0, 0, 0, 0.15);
}

.mobileMenu .dropdown-menu {
  width: 100%;
}

.hamburger {
  color: #fff;
  font-size: 2.5rem;
	transition: 0.15s;
	cursor: pointer;
}

.down .hamburger {
  color: #005e7d;
}

.hamburger:hover {
    opacity: 0.7;
}

.drkBkg {
	position: absolute;
	top: 0;
	left: 0;
	height: 100vh;
	min-height: 880px;
	width: 100%;
	background: #fff;
	opacity: 0;
	transition: 0.3s;
	visibility: hidden;
	z-index: 998;
}

.open .drkBkg {
	opacity: 0.9;
	visibility: visible;
}

.mobileMenu-inner {
	height: 100%;
	padding: 8rem 2rem 4rem;
}

.mobileMenu-inner ul.mainNav {
	display: unset;
}

.mobileMenu-inner ul.mainNav li {
	display: block;
	color: inherit;
}

.mobileMenu-inner ul.mainNav li a {
  color: inherit;
  padding: 1rem 1.3rem;
  border-bottom: 1px solid #eee;
	font-size: 2rem;
}

.mobileMenu-inner ul.mainNav li:first-of-type a {
  border-top: 1px solid #eee;
}

ul.menuContact {
  text-align: center;
  padding: 2rem;
  margin-top: 3rem;
  font-size: 0.9rem;
  color: #777;
}

ul.menuContact li {
  margin: 0.3rem;
	font-size: 1.8rem;
}

ul.menuContact a {
  color: inherit;
}

.menuClose {
  font-size: 3rem;
  position: absolute;
  top: 2rem;
  right: 2rem;
  line-height: 2rem;
  cursor: pointer;
  transition: 0.15s;
}

.menuClose:hover {
  opacity: 0.7;
}

/* Footer ____________________________________________________________________*/

footer.footer {
	padding: 10px 50px;
	color: #aaa;
	font-size: 0.85rem;
	background: #fff;
	z-index: 500;
	position: relative;
}

ul.sm-nav li {
	display: inline-block;
}

ul.sm-nav li:after {
	content: ' -';
}

ul.sm-nav li:last-child:after {
	content: '';
}

ul.sm-nav a {
	color: inherit;
}

.footer img.icaew {
  height: 50px;
}

.alignleft {
  float: left;
  margin: 20px 20px 20px 0;
	max-width: 100%;
}

.alignright {
  float: right;
  margin: 20px 20px 20px;
	max-width: 100%;
}

.aligncenter {
  margin: 20px auto;
  display: block;
	max-width: 100%;
}

img.alignleft,
img.alignright,
img.aligncenter {
	width: auto !important;
}

p.wp-caption-text {
  background: #f8f8f8;
  font-size: 0.8rem;
  color: #444;
  padding: 10px;
}

/* Main ______________________________________________________________________*/

.main_page {
	height: 100vh;
	min-height: 880px;
	position: relative;
}

.bkg {
	height: 100%;
	width: 100%;
	filter: grayscale(100);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.bkg img {
	height: 100%;
	width: 100%;
	object-fit: cover;
  opacity: 0.5;
}

.ltBkg,
.dkBkg {
	position: absolute;
	top: 0;
	height: 100vh;
	min-height: 880px;
	opacity: 0.9;
	transition: 0.5s;
	-webkit-transition: 0.5s;
}

.ltBkg {
	left: 0;
	background-color: #f8f8f8;
	width: 42%;
}

.dkBkg {
  background-image: linear-gradient(45deg, #005e7d 0%, #009efd 100%);
  mix-blend-mode: multiply;
  right: 0;
	width: 58%;
}

.ltBkg.panel_left,
.dkBkg.panel_right {
	width: 42%;
}

.ltBkg.panel_right,
.dkBkg.panel_left {
	width: 58%;
}

.ltBkg.panel_center,
.dkBkg.panel_center {
	width: 50%;
}

.inner {
	margin: 0 15%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	min-height: 880px;
}

.normInner {
	margin-top: 6rem;
}

.inner_text {
	width: 38.5%;
}

.inner_text.columns2 {
	float: left;
}

h1 {
  text-transform: uppercase;
  font-size: 6rem;
	text-shadow: 0 1px rgba(255, 255, 255, 0.4);
	max-width: 65%;
}

.inner_text h6 {
	color: #005e7d;
	font-size: 2rem;
	font-weight: 400;
	margin: 30px 20px;
	text-align: left;
}

.inner_text .pane-text {
	margin: 0 20px;
	font-size: 1.3rem;
	font-weight: 300;
}

.inner_text.inTxt2 .pane-text {
	color: #fff;
}

.inner_text .pane-text ul {
	list-style-type: disc;
	margin-left: 15px;
}

.inner_text.columns2 .pane-text {
	margin-right: 50px;
}

.inner_text.columns2.inTxt2 .pane-text {
	margin-left: 50px;
}

.panel_center .inner_text {
  width: 50%;
}

.panel_left .inner_text,
.panel_right .inner_text.inTxt2 {
  width: 38.5%;
}

.panel_right .inner_text,
.panel_left .inner_text.inTxt2 {
  width: 61.5%;
}

.panel_right .inner_text.inTxt1 {
  padding: 0 6% 0 1.25rem;
}

.panel_left .inner_text.inTxt2 {
  padding: 0 1.25rem 0 6%;
}

.pane-text img {
  width: 100%;
  height: auto;
	border: 2px solid #f8f8f8;
}

/* Tabs & panes */

.tab-pane {
	height: 100vh;
	min-height: 880px;
	width: 100%;
}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5;
}

/* Slider */

#mainBkg .carousel-item,
#contentSlider .carousel-item {
	height: 100vh;
	min-height: 880px;
}

.countBar {
  position: absolute;
  bottom: 0;
  height: 5.625rem;
  background: #d7d7d7;
  width: 42%;
	text-align: right;
	font-family: 'Playfair Display', serif;
	font-size: 4rem;
	line-height: 1;
	color: #f8f8f8;
	transition: 0.5s;
	-webkit-transition: 0.5s;
}

.countBar .carousel-item {
  padding: 0.625rem 1.875rem;
}

.countBar .carousel-item span {
	font-size: 2.3rem;
  color: #898989;
  margin-left: -1rem;
}

.countBar .controls {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	height: 5.625rem;
	width: 19%;
	transform: translateX(100%);
}

.countBar .carousel-control-prev,
.countBar .carousel-control-next {
	position: relative;
	top: 0;
	bottom: unset;
	float: left;
	background: #07506b;054056
	opacity: 1;
	width: 50%;
	height: 100%;
	font-size: 3rem;
	opacity: 1;
	transition: 0.15s;
	-webkit-transition: 0.15s;
}

.countBar .carousel-control-prev:hover,
.countBar .carousel-control-next:hover {
	background: #054056;
}

.countBar .carousel-control-prev-icon,
.countBar .carousel-control-next-icon {
  background-image: none;
	width: auto;
	height: auto;
}

/* Contact ___________________________________________________________________*/

.formBox,
.contactBox {
  background-color: #f8f8f8;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contactForm,
.contactDetails {
	padding: 9.375rem 3.75rem;
	margin-right: -15px;
	width: 100%;
	max-width: 550px;
}

.contactForm h3,
.contactDetails h3 {
  font-weight: 600;
  font-style: italic;
  font-size: 2.2rem;
}

.contactForm h3 span {
  display: block;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 0.9rem;
  font-style: normal;
	color: #999;
  margin-bottom: 10px;
	letter-spacing: 0;
}

.contactDetails ul li {
  position: relative;
}

.contactDetails ul li svg {
	position: absolute;
	top: 0.3rem;
	left: -2rem;
}

.form-control {
  background: transparent;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid #ddd;
  height: 50px;
  position: relative;
  padding: 0;
  margin-top: 20px;
	transition: 0.15s;
	-webkit-transition: 0.15s;
}

.form-control:focus {
  color: #495057;
  background-color: #fdfdfd;
  border-color: #ddd;
  outline: 0;
  box-shadow: none;
}

.contactForm button {
	margin-top: 50px;
}

.form-control::placeholder {
	color: #999;
	font-size: 0.9rem;
}

.contactBox {
  background: #005e7d;
  position: relative;
  z-index: 0;
	border-top: 2px solid #f8f8f8;
	border-bottom: 2px solid #f8f8f8;
}

.contactBkg {
	filter: grayscale(100);
	background-size: cover;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	mix-blend-mode: multiply;
	opacity: 0.2;
}

.contactDetails {
	color: #fff;
}

.contactDetails ul {
	margin-top: 30px;
}

.contactDetails ul li {
	margin-bottom: 10px;
}

.contactDetails ul li:last-child {
	margin-bottom: 0;
}

.contactDetails ul li a {
	color: #fff;
}

/* Maps */

.map {
	filter: grayscale(100);
	background: #000;
}

.acf-map {
	width: 100%;
	height: 25rem;
	margin: 0;
	opacity: 0.85;
}

/* fixes potential theme css conflict */
.acf-map img {
   max-width: inherit !important;
}

/* Login _____________________________________________________________________*/

.login {
	padding: 20rem 0;
	min-height: 800px;
}

.accountLogin {
	max-width: 600px;
	margin: auto;
	padding: 1rem;
}

.accountLogin form table {
	width: 100%;
}

.boxTitle {
  width: 1px;
  white-space: nowrap;
	padding-right: 1rem;
}

.login_logo {
  margin-bottom: 2rem;
  text-align: center;
}

.login_logo img {
	max-height: 80px;
}

.login .ltBkg.panel_right, .login .dkBkg.panel_left,
.login .ltBkg.panel_left, .login .dkBkg.panel_right {
  width: 50%;
}

.login .ltBkg,
.login .dkBkg,
.login .bkg {
  min-height: 800px;
}

.accountLogin p span {
  display: block;
}
.accountLogin p {
  text-align: center;
  margin-top: 3rem;
}

.modal-content {
	border-radius: 0;
}

/* Mobile Changes ____________________________________________________________*/

@media (max-width: 991.98px) {

	h1 {
		max-width: 100%;
		font-size: 5rem;
	}

	.inner {
		padding: 10rem 15%;
		top: 0;
		left: 0;
		transform: translateY(0%);
		width: 100%;
		margin: 0;
	}

	.normInner {
    margin-top: 0;
	}

	/* .inner:before,
	.inner:after {
    content: '';
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
	}

	.inner:before {
		width: 80%;
		background-color: #f8f8f8;
		opacity: 0.9;
	}

	.inner:after {
		width: 20%;
		background-image: linear-gradient(45deg, #005e7d 0%, #009efd 100%);
		mix-blend-mode: multiply;
		left: unset;
		right: 0;
	}

	.inner .bkg {
    z-index: -2;
	} */

	.inner_text {
    width: 80% !important
	}

	.ltBkg {
    width: 80% !important;
	}

	.dkBkg {
    width: 20% !important;
	}

	.ltBkg,
	.dkBkg,
	.main_page {
		height: 100%;
	}

	.overlay {
    position: relative;
	}

	.carousel-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
	}

	.ht100 {
		height: 100%;
	}

	#mainBkg .carousel-item,
	#contentSlider .carousel-item {
    height: 100%;
	}

	.inner_text .pane-text {
    margin: 0 !important;
	}

	.panel_right .inner_text.inTxt1 {
    padding: 0;
	}

	.inner_text h6 {
    margin: 30px 0;
	}

	.tab-pane {
    height: 100%;
    width: 100%;
	}

	.countBar .controls {
    width: 10rem;
	}

	header.header.down .logo svg {
    width: 90%;
	}

	.mobileMenu,
	.drkBkg,
	.main_page,
	.ltBkg,
	.dkBkg,
	.inner,
	.tab-pane,
	#mainBkg .carousel-item,
	#contentSlider .carousel-item
	{
		min-height: 100%;
	}

	.inner_text.inTxt2 .pane-text {
    color: inherit;
	}

	.panel_left .inner_text.inTxt2 {
    padding: 0;
	}
}

@media (max-width: 575.98px) {
	.ltBkg {
		width: 95% !important;
	}

	.dkBkg {
		width: 5% !important;
	}

	.hamburger {
    color: #005e7c;
	}

	.inner_text {
    width: 95% !important;
	}

	h1 {
		font-size: 4rem;
	}
}

@media (max-width: 1499.98px) {
	h1 {
		font-size: 5rem;
	}
}

div.wpcf7-response-output {
  border: 2px solid transparent;
  background: #D00030;
  padding: 0.5rem 1.3rem;
  font-weight: 700;
  text-align: center;
	color: #fff;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
  background: #ffda0a;
	color: #444;
}

div.wpcf7-mail-sent-ok {
  background: #0F9826;
	color: #fff;
}

/* Page Modals ____________________________________________________________*/

.pageContent {
  padding: 2rem 4rem;
}

.pageContent h2 {
  border-bottom: 1px solid #005e7c;
  padding-bottom: 1rem;
}

.pageContent ul {
  list-style-type: disc;
  margin-bottom: 1rem !important;
  padding-left: 2.4rem;
}
