/* cmsms stylesheet: Layout modified: Monday, September 14, 2020 9:49:49 AM */
/* browsers interpret margin and padding a little differently, we'll remove all default padding and margins and set them later on */
* {
	margin: 0;
	padding: 0;
}
/*Set initial font styles*/
body {
	text-align: left;
	font-family: Trebuchet MS,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif;
    font-stretch: condensed;
    font-size: 14px;
	line-height:20px;
    color: #222222;
    margin: 0;
	padding: 0;
    background: #6973A9;
}
/*if img is inside "a" it would have borders, we don't want that*/
img {
	border: 0;
        padding: 0;
        max-width: 100%;
}

/*****************basic layout *****************/
div#header-row {
        width: 100%;
        padding:10px 0 0 0;
        margin: 0;
        background: #ffffff;
        height: 120px;
}
div#header-container  {
        width: 100%;
        max-width: 1200px;
        height: auto;
        margin: 0 auto;
        padding: 0;
        text-align: left;
        background: none;
} 
div#nav-row {
	 width: 100%;
        max-width: 2000px;
 	height: auto;
	padding: 0;
	 text-align: left;
        margin: 0 auto;
        background: #6973A9;
}
div#nav-row-small, div#header-content-small {display: none;}
div#nav-container {
        width: 96%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0;
        text-align: right;
        background: none;
        height: 34px;
} 
div#header-container img {margin: 0 auto; max-width: 100%;}
#logo-container {
        float: left;
        margin: 0;
        padding: 10px 0 0 0;
        width:40%;
        text-align: left;
        background: none;
}
#header-right {
        float: right;
        margin: 30px 0 0 0;
        padding: 0;
        width: auto;
        text-align: left;    
}
.header-right-icon, .header-right-text {float: left;}
.header-right-icon {clear: both; margin: 5px 0; padding-right: 10px;}
.header-right-text {color: #6973A9; font-size: 18px; padding-top: 15px;}

.content-row {
       clear: both;
       width: 100%;
       background: none;
       margin: 0 auto;
       min-height: 50px;
       height: auto;
}
.content-row-homeslider {
        margin: 0;
        padding: 0;
        width: 100%; 
        height: auto;
        min-height: 60px;
        background: #ffffff;
        border-bottom: 1px solid #6973A9;
}
.content-container-2000 {
      width: 100%;
      max-width: 2000px;
      margin: 0 auto;
      padding: 0;
      background: none;
}
.content-container-1200 {
      max-width: 1200px;
      width: 96%;
      margin: 0 auto;
      padding: 0 2%;
      background: #ffffff;
      height: auto;
}
.content-100 {
     clear: both;
     width: 100%;
     margin: 0;
     padding: 20px 0;
}
.content-75 {
     width: 72%;
     margin: 0;
     padding: 20px 3% 20px 0;
     float: left;
}
.content-70 {
     width: 67%;
     margin: 0;
     padding: 20px 3% 20px 0;
     float: left;
}
.content-60 {
     width: 60%;
     margin: 0;
     padding: 20px 0;
     float: left;
}
.content-50 {
     width: 50%;
     margin: 0;
     padding: 20px 0;
     float: left;
}
.content-40 {
     width: 40%;
     margin: 0;
     padding: 20px 0;
     float: left;
}
.content-33 {
     width: 31%;
     margin: 0 1%;
     padding: 20px 0;
     float: left;
}
.content-30 {
     width: 30%;
     margin: 0;
     padding: 20px 0;
     float: left;
}
.content-25 {
     width: 25%;
     margin: 0;
     padding: 20px 0;
     float: left;
}

div#footer-container {clear: both; width: 100%; height: auto;
  background: #222222; border-top: 1px solid #000000;}
div#footer {
        width: 98%;
 	max-width: 1200px;
        margin: 0 auto;
        height: auto;
        text-align: left;
        padding: 0;
        background:none;
        color: #fff;
        font-size: 12px;
}
div#subfooter-container {clear: both; width: 100%; height: auto; padding: 10px 0;
  background: #000000; color: #fff;}
div#subfooter {
	width: 96%;
        max-width: 1200px;
        margin: 0 auto;
        height: auto;
        text-align: left;
        background:none;
        font-size: 0.75em;
        color: #ffffff;
}
#subfooter span {float: left; padding-right:10px;}
div#subfooter-left {width: 50%; margin: 0; padding: 0; float: left;}
div#subfooter-right{width: 50%; margin: 0; padding: 0; float: left; text-align: right;}
#footer a img:hover {opacity: 0.7;}
div#home-footer { }
div.internal-footer {}
.content-container-1200.home-top {
      padding-top: 30px;
}

.main-container {}
.main-container a img:hover, .sectors a img:hover,#header-social a img:hover {opacity: 0.7;}
.internal-container {}

.nopad {padding-top: 0; padding-bottom: 0;}
.pad-left {padding-left: 5%; width: 95%;}
.pad-right {padding-right: 5%; width: 95%;}
.main-container ul {margin-bottom: 10px;}
/* cmsms stylesheet: Nav modified: Wednesday, March 23, 2016 9:56:25 AM */
#menuwrapper {
   background: none;
       width: 100%;
       padding: 0;
       margin: 0;
       height: 34px;   
       text-transform: uppercase;
       float: left;
}

ul#primary-nav {
	list-style-type: none;
	margin: 0;
	padding: 0;
        width: auto;
        float: right;
}

#primary-nav ul {
	list-style-type: none;
	text-align: left;
	width: auto;
	position: absolute;
	top: auto;
	display: none;
	background: #a5abcb;
	z-index: 999;
	margin: 0;
        margin-top: -1px;
	padding: 0;
        border-left: 1px solid #225a4b;
        border-right: 1px solid #225a4b;
} 
#primary-nav ul ul {
	margin-top: -1px;
	margin-left: -1px;
	left: 100%;
	top: -3px;
}
#primary-nav li {
        margin-right: 10px;
   	float: left;   
        padding: 0;
        width: auto;
}
#primary-nav li#contact-us{margin-right: 0;}
#primary-nav li li {
	 margin-left: 0px;
        margin-right: 0;
	 margin-top: -1px;
  	 float: none;
	 position: relative;
        border-bottom: 1px solid #225a4b;
}
#primary-nav li:hover {background:#ffffff;}
ul#primary-nav li a {
	font-size: 14px;
        line-height: 18px;
	font-weight: normal;
	color: #FFFFFF;
	padding: 0;
	display: block;
	text-decoration: none;
        font-style: normal;
}
 ul#primary-nav li a span, ul#primary-nav li li a span{
	padding: 8px 20px;
	display: block;
	border-top: 1px solid #a5abcb;
}
 ul#primary-nav li a span:hover {color: #000000;}
ul#primary-nav li a:hover {
        color: #ffffff;
        text-decoration: none;
        font-weight: normal;
}
ul#primary-nav li span {}
ul#primary-nav li li a span {}
ul#primary-nav li:hover,
ul#primary-nav li.menuh,
ul#primary-nav li.menuparenth {}
ul#primary-nav li:hover span,
ul#primary-nav li.menuh span,
ul#primary-nav li.menuparenth span {}

ul#primary-nav li:hover li a span {}
ul#primary-nav li a.menuactive span {font-weight: bold;}

#primary-nav li li a {
        font-size: 14px;
        line-height: 14px;
	padding: 10px 20px;
	margin: 0;
	background: none;
        color: #ffffff !important;
}

#primary-nav li li a:hover {
        color: #a5abcb!important;
}
#primary-nav li.menuparent li a:hover span {}
#primary-nav li li.menuactive a.menuactive, #primary-nav li li.menuactive a.menuactive:hover {}
#primary-nav li li.menuactive a.menuactive span {}
#primary-nav li li.menuactive a.menuactive:hover span {}

#primary-nav li.menuactive li a:hover span {}
ul#primary-nav li li a.menuactive  span {}
#primary-nav li.menuactive li a {}
#primary-nav li.menuactive li a:hover {}
#primary-nav li.menuactive li a:hover span {}
ul#primary-nav li:hover li a span, ul#primary-nav li.menuparenth li a span {}

#primary-nav ul li.separator, #primary-nav .separator:hover {display: none;}
#primary-nav ul ul li.separator, #primary-nav ul ul li.separator:hover {}

#primary-nav ul,
#primary-nav li:hover ul,
#primary-nav li:hover ul ul,
#primary-nav li.menuparenth ul,
#primary-nav li.menuparenth ul ul {
	display: none;
}
#primary-nav li:hover ul,
#primary-nav ul li:hover ul,
#primary-nav ul ul li:hover ul,
#primary-nav li.menuparenth ul,
#primary-nav ul li.menuparenth ul,
#primary-nav ul ul li.menuparenth ul {
	display: block;
}
/* cmsms stylesheet: Text Styles modified: Thursday, June 10, 2021 9:08:12 AM */
a, a:link, a:visited {color: #6973A9; text-decoration:none; font-weight: normal;}
a:hover {text-decoration: underline;}
p {font-size: 16px; line-height: 20px; margin-bottom: 10px;}
p.intro, span.intro {font-size: 17px; line-height: 21px; font-weight: bold;}
.breadcrumbs a, .breadcrumbs a:visited {color: #fbfad4;}
#footer p, #subfooter p {color: #ffffff; margin-bottom: 10px; padding-right: 10px;}
#subfooter p {font-size: 13px; margin-bottom: 10px; padding-right: 10px;}
#footer p strong {color: #ffffff;}
h1 {font-family: Trebuchet MS,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif; font-size: 42px; line-height:48px; margin-bottom: 5px; font-weight: 500;}
h2 {font-family: Trebuchet MS,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif; font-size: 32px; line-height:38px; margin-bottom: 5px; font-weight: 500;}
h3, p.h3 {font-family: Trebuchet MS,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif; font-size: 24px; line-height: 30px; margin-bottom: 5px; font-weight: normal;}
h4, p.h4 {font-family: Trebuchet MS,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif; font-size: 18px; line-height: 24px; margin-bottom: 5px; font-weight: normal;}


#footer h3 {color: #ffffff; margin-bottom: 15px;}
div#footer a, 
div#footer a:visited, 
div#footer p a, 
div#footer p a:visited
 {
        color: #ffffff;
        text-decoration: none;
        font-weight: normal;
}
div#subfooter p, 
div#subfooter p a, 
div#subfooter p a:visited {
        color: #ffffff;
        font-size: 12px;
        text-decoration: none;
        font-weight: normal;
}
div#footer a:hover, 
div#footer p a:hover,
div#subfooter p a:hover  {
        text-decoration: underline;
}

.text-purple, .title {color: #6973A9;} 

ul, ol {margin-left: 20px;}
/* cmsms stylesheet: Form Styles modified: Monday, November 23, 2020 9:42:42 AM */
form {  margin-top: 0;
        display: inline;
}
form div {
	margin-bottom: 0
}
fieldset div {
	margin: 0;
        clear: both;
        width: 100%;
}
fieldset div div {
	margin: 0;
}
fieldset {
        margin: 0;
	border: none;
 	padding: 0;
        width: 100%;
}
legend {display: none;}
.contactform input, 
.contactform textarea,
.contactform select,
.contactform option {font-family: Trebuchet MS;}
.captcha img {
	border: 1px solid #006b51;
	margin-top: 10px;
        max-width: 100%;
}
.submit {
      clear: both;
      height: auto;
      padding: 5px 0;
      margin: 10px 10px 0 0 ;
      text-align: center;
}
.submit input {
     background: none;
     border: none;
}
.captcha input {
	margin-top: 1px;
        text-align: left;
}
.error_message, .error_message li, #footer-right h4 {
  font-size: 15px;
  color: #e16602;
  font-weight: bold;
}

.contactform label {
        float: left;
	    width: 95%;
       text-align: left;
       padding: 12px 5%x 0 0;
       font-size: 16px;
       font-weight: bold;
} 
.contactform label.cms_submit {text-align: center;}
.error_message li {
  font-size: 15px;
  color: #e16602;
  font-weight: bold;
}

.contactform input, .contactform textarea, .contactform select {
	border: 1px solid #6973A9;
        width: 90%;
        height: 30px;
        margin: 10px 0;
        background: none;
        color: #404042;
        padding: 5px 5%;
        font-size: 16px;
        line-height: 16px;
        font-family: Trebuchet MS;
}
.contactform select {height: 40px;}
.contactform option {padding: 5px 5%;}
.contactform textarea {height: 90px;}
.contactform .captcha {
        clear: both;
	margin: 10px auto;
	width: 304px;
	text-align: center;
}
.contactform .submit {float:none; margin: 10px 0;}
.contactform input.cms_submit {
      width: 140px; 
      height: 40px;
      padding: 0;
      margin: 0;
      color: #fff;
      font-size: 16px;
      line-height: 20px;
      cursor: pointer;
      text-align: center;
      text-transform: uppercase;
      background: #6973A9;
      border: none;
      border-radius: 8px;
}
.contactform input.cms_submit:hover {background: #000000;}
div.newsletter  {
	width: 95%;
        height: auto;
        margin: 0;
        padding: 0;
}
.contactform .short-field input {max-width: 200px;}
.contactform .short-field select {max-width: 200px;}
.contactform .medium-field input {max-width: 300px;}
.contactform .medium-field select  {max-width: 260px;}
/* cmsms stylesheet: SubNav modified: Monday, April 4, 2016 9:16:36 AM */
.vnav-container {
  	width:100%;
	margin: 0;
	padding: 0;
        height: auto;
        text-transform: uppercase;  
        text-align: center;
        background: #a5abcb;
        color: #fff;
}
.subnav ul {
	float:none;
	width:100%;
        list-style:none;
        padding:0px!important;
        margin:0px;
        font-size: 14px;
}
.subnav li {
	float:none;
	width:100%;
        padding:10px 0 0 0;
        min-height: 30px;
        margin:0px;
        border-top: 1px solid #000000;
}

.subnav li li, .subnav li li li {border-top: 1px solid #c7c7c7;}

.subnav ul {margin:0 ; background: none;}

.subnav ul ul {margin:0; background:none; margin-top: 10px;}

.subnav ul ul ul {margin:0; background:none;}

.subnav li a {
        width: 100%;
        padding:10px 0;
        text-decoration:none;
        color:#fff;
        margin:0;
        text-transform: uppercase;
        font-size: 14px; 
        line-height: 14px;
}
.subnav li li a {
        padding:10px 0;
        text-decoration:none;
        color:#fff;
        margin:0;
        border-top:  none;
}
.subnav li li li a {
        padding:10px 0;
        text-decoration:none;
        color:#ababac;
        margin:0px;
        border-top:  none;
}
.subnav li a.menuactive, .subnav li a:hover { 
         color:#ffffff;  
         font-weight:bold; 
         text-decoration: none;
}
.subnav li li a.menuactive, .subnav li li a:hover { 
         color:#ffffff;
         font-weight:bold; 
         text-decoration: none;
}
.subnav li li li a.menuactive, .subnav li li li a:hover { 
         color:#fff;      
         font-weight:bold; 
         text-decoration: none;
}
.subnav h3 {padding: 0; background: none; margin: 0; font-size: 14px; line-height: 14px; color: #ffffff; font-weight: bold;}
/* cmsms stylesheet: MobileMenu modified: Monday, April 4, 2016 9:15:50 AM */
#mobmenucontainer {
  float: none;
  margin:0 auto;
  width: 100%;
  z-index: 9999;
   text-align: center;
   background:#000000;
}
   .mobtabbed-content a {text-decoration: none;}
   .mobtabbed-content a:hover {text-decoration: none;}
   .mobmenu {
      width: 100%;
      margin: 0 auto;
      border: none; 
}       
  .mobmenu  ul {margin: 0; padding: 0;}
   .mobmenu .mobtabs li {
       list-style: none;
       color: #000000;
        float: left;
	 margin: 0 auto;
	  padding: 0;
       text-align: center;
       height: 42px;
       background: #a5abcb;
       width: 100%;
}
.mobmenu .mobtabs li#mobtab-one {height: 1px;}
   .mobmenu .mobtabs li a {
      display: block;
      padding: 0;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      color: #000000;
      background: none;
      height: 20px;
      font-size: 14px;
}
   .mobmenu .mobtabs li:first-child a {
      border-left: none; 
}
   .mobmenu .mobtabs  li a:hover {
     text-decoration: none;
      color: #000000;
    background: none; 
}
   .mobmenu .mobtabs  li a:focus {
      outline: none; 

}
   .mobmenu .mobtabs li a.active {
      background: none;
      color: #000000;
    }
   .mobtabbed-content {
     clear: both;
      margin: 0;
      padding: 0 10px;
      display: none; 
      background:none;
      border: none;
}
.mobtabbed-content#mobtabbed-home {height: 0px; overflow: hidden; padding: 0;}

.mobmenu button {background: none; border: none; padding: 0; margin: 10px auto; height: 14px; cursor: pointer;}

.mobmenu ul {width: 100%; margin: 0 auto;}
/* cmsms stylesheet: Blocknav modified: Wednesday, March 9, 2016 3:45:07 PM */
div.blocknav{
        width: 100%;
        height: auto;
        float: left;
        margin: 30px 0 0 0;
        z-index: 999;
        background: none;
        padding:0;
}

.clearb {
/* needed for some browsers */
	clear: both;
}
.blocknav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.blocknav li {
	margin: 0 2% 20px 2%;
        padding: 0;
	float: left;
        height: auto;
        text-align: center;
        max-width: 400px;
}
.blocknav-3 .blocknav li {width: 29%;}
.blocknav-4 .blocknav li {width: 21%;}
.blocknav-5 .blocknav li {width: 16%;}


.blocknav-readmore img {max-width: 50%;}
.blocknav li img
       {max-width: 100%; border: none;  border-bottom: 6px solid #880022; border-radius: 6px;}
.blocknav li img:hover, .clientnav li a img:hover {opacity: 0.5}
.blocknav hr {
        position: relative;
        width: 100%; 
        height: 25px; 
        background: url(https://www.freeben.co.uk/images/blocknav/products-bg.png) no-repeat right top;
        border: none;
}
.blocknav-image {width: 100%; padding: 0; margin: 0;}
.blocknav-text {width: 90%; padding: 0 5%; margin: 0 auto;}
.blocknav h3 {padding: 0; color: #880022; min-height: 60px;}
.blocknav p {padding: 0; }
/* cmsms stylesheet: Responsive modified: Monday, July 24, 2017 12:10:37 PM */
div.gallerysmall {display: none;}
div.content-row-homeslider-small {display: none;}
.content-container-1200 img {max-width: 100%;}
@media (max-width:1150px){
.content-50.team {min-height: 640px;}
.team-2 .content-33.team {min-height: 700px;}
}
@media (max-width: 900px) {
.content-50.team {min-height: 720px;}
.team-2 .content-33.team {min-height: 820px;}
.team-3 .content-33.team {min-height: 720px;}
}
@media (max-width: 855px) {
ul#primary-nav li#home {display: none;}
}
@media (max-width: 800px){
#primary-nav li {margin-right: 8px;}
}
@media (max-width: 745px){
body {background: #ffffff;}
div#subfooter {text-align: center;}
#footer h3 {font-size: 16px;}
div#header-row {height: auto; position: relative;}
div#nav-row {display: none;}
div.vnav-container.sidebar {display: none;}
div.vnav-container {float: none; width: 100%; max-width: 400px; margin: 0 auto;}
div#nav-row-small {display: block;}
.contactform {float: none !important; margin: 20px auto !important;}
.content-row.top-row, .content-row.top-row-nobanner {margin-top: 10px;}
img {max-width: 100%;}
h1.sitename, h3.sitename {text-align: center; }
h3.sitename {margin-bottom: 20px;}
div#menuwrapper, 
div.social-container {
        clear: both;
        float: none; 
        width: 100%; 
        text-align: center;
        padding: 5px 0;
}
.content-100,
.content-75, 
.content-70, 
.content-60, 
.content-50, 
.content-40, 
.content-33, 
.content-30, 
.content-30.home-weddings,
.content-25, 
.home-lower .content-25,
div#subfooter-left,
div#subfooter-right {
        float: none; 
        width: 98%; 
        text-align: center;
        margin: 0 auto;
        padding: 10px 0;
}
.featuretext {margin-top: 0;}
.pad-right {width: 100%; padding: 0;}
.home-lower .content-25 {max-width: 300px;  color: #b5a10f;}
.home-lower p {min-height: 30px; height: auto;}
ul#primary-nav {float: none; width: 98%; margin-left: 2%;}
#primary-nav li {width: 48%; margin: 10px auto;}
#primary-nav li#home {display: none;}
div#nav-row {height: auto;}
.main-container {top: 10px;}
div#footer-container , div#subfooter-container {margin-top: 0;}
#footer-left, #footer-centre, #footer-right {width: 100%; float: none;}
#footer p, #footer h3 {width: 95%; padding: 0 2.5%;}
#subfooter p {float: none; display: block; width: 95%; text-align: center; margin: 0; padding: 3px;}
#primary-nav li:hover ul {display: none;}
ul#primary-nav li a span {padding: 0;}
img.float-right, img.float-left {float: none; margin: 20px auto; text-align: center;}
div#subfooter-left, div#subfooter-right {width: 50%;} 
#logo-container {width: 100%; margin: 0 auto; background: #ffffff;padding: 10px 0; text-align: center; float: none;}
#header-right {float: none; clear: both; margin: 0 auto; text-align: center;}
.header-right-text, .header-right-icon {float: none;}
.header-right-text {padding: 5px 0 15px 0;}
.content-row-homeslider {top: 0;}
.main-container {top: 0;}
.nav-row-small {background: #225a4b;}
.internal-container {top: 0;}
div#home-footer, div.internal-footer {margin-top: 0;}
div.content-row-homeslider {display: none;}
.content-container-1200.home-top {margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0;}
}
@media (max-width: 655px){
body {text-align: center;}
.main-container {background: none;}
div#subfooter-left, div#subfooter-right {float: none; width: 100%;}
.page-title {text-align: center; border-top: none; height: 35px; min-height: 35px; padding-bottom: 10px;}
.page-title h1 {font-size: 28px; padding-top: 0; }


}
@media (max-width: 570px){
.contactform .medium-field input, .contactform .medium-field select {max-width: 90% !important;}
}
/*Cookie Consent responsive styling for small screens*/
@media (max-width: 500px){
   #cookie-consent-buttons a {  
      float: none;
      display: block;
      margin: 10px auto;
}
}
