@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');

:root {
	--page-min-width: 950px;
    --page-padding-top: 0;
    --page-padding-right: 10px;
    --page-padding-bottom: 0;
    --page-padding-left: 10px;

/*-- Main column --*/
    --contents__main-margin-top: 0;
    --contents__main-margin-right: 0;
    --contents__main-margin-bottom: 0;
    --contents__main-margin-left: 0;
    
    --contents__main-padding-top: 0;
    --contents__main-padding-right: 0;
    --contents__main-padding-bottom: 0;
    --contents__main-padding-left: 0;

/*-- Areas column --*/
    --contents__sub-a-width: 190px;
    
    --contents__sub-a-margin-top: 0;
    --contents__sub-a-margin-right: 0;
    --contents__sub-a-margin-bottom: 0;
    --contents__sub-a-margin-left: 15px;
    
    --contents__sub-a-padding-top: 0;
    --contents__sub-a-padding-right: 0;
    --contents__sub-a-padding-bottom: 0;
    --contents__sub-a-padding-left: 15px;

/*-- Logos & Testimonials column --*/
    --contents__sub-b-width: 190px;
    
    --contents__sub-b-margin-top: 0;
    --contents__sub-b-margin-right: 25px;
    --contents__sub-b-margin-bottom: 0;
    --contents__sub-b-margin-left: 0;
    
    --contents__sub-b-padding-top: 0;
    --contents__sub-b-padding-right: 0;
    --contents__sub-b-padding-bottom: 0;
    --contents__sub-b-padding-left: 0;

/*-- Theme Colours --*/
    --color__main: #000048;
    --color__sub: #000000;
    --color__accent: #FF5500;
    --color__headings-bg: #eee;
}


html {		/* The rem unit is relative to the document root, thus sizing should go here --*/
	overflow-y: scroll;
	font-size: 62.5%;
	line-height: 200%;
}

body {		/*-- margin, background and other font styles should go here --*/
	margin: 0;
	padding: 0;
	background: #FFF;
	color: #333;
	font-family: "Open Sans", Helvetica, Arial, Verdana, sans-serif;
	font-size: 1.6rem;
}

/* WRAPPER
---------------------------------------------------------------------------------- */
.wrapper {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* HEADER
---------------------------------------------------------------------------------- */
.header {
	background: #000048;
	min-width: var(--page-min-width);
	width: calc(100% - var(--page-padding-left) - var(--page-padding-right));
	height: 160px;
	margin: 0;
    padding-top: var(--page-padding-top);
    padding-right: var(--page-padding-right);
    padding-bottom: var(--page-padding-bottom);
    padding-left: var(--page-padding-left);
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	justify-content: center;
}
.header__picture {
	min-width: 300px;
	width: 300px;
	max-width: 300px;
	height: 100%;
	background: transparent url('images/ssm_title_car3.jpg') no-repeat;		/*-- 300x143 --*/
	background-position: center center;
}
.header__logo {
	position: relative;
	min-width: 322px;
	width: 322px;
	max-width: 322px;
	margin-left: 10px;
	margin-right: 40px;
	height: 100%;
	background: transparent url('images/ssm_title_logo.png') no-repeat;		/*-- 322x112 --*/
	background-position: center 10px;
}
.header__email {
	position: absolute;
	bottom: 13px;
	left: 50%;
	transform: translateX(-50%);
	color: #FFF;
	font-size: 15px;
	z-index: 2;
	/*background: transparent url('images/icon_email_small_white.png') no-repeat;
	background-position: left center;*/
}
.header__ribands {
	max-width: 250px;
	width: 200px;
	min-width: 150px;
	text-align: center;
	margin: auto 0;
}
.header__ribands div img {
	margin: 5px 0;
}
.header a:link,
.header a:visited {
	text-decoration: none;
	color: #FFF;
}
.header a:hover,
.header a:active {
	text-decoration: underline;
	color: #FFF;
}

/* NAVIGATION MENU
---------------------------------------------------------------------------------- */
.global-navi {
	background: var(--color__main);
	min-width: var(--page-min-width);
	width: calc(100% - var(--page-padding-left) - var(--page-padding-right));
	margin: 1px 0 15px;
    padding-top: var(--page-padding-top);
    padding-right: var(--page-padding-right);
    padding-bottom: var(--page-padding-bottom);
    padding-left: var(--page-padding-left);
	height: 23px;
	line-height: 16px;
	font-size: 14px;
}

.global-navi ul {
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

.global-navi ul li {
	position: relative;
	display: inline-block;
}

.global-navi ul li a {
	display: block;
	background: #transparent;
	color: white;
	padding: 3px 25px;
	border-right: 1px solid #778;
	color: #2d2b2b;
	text-decoration: none;
}

.global-navi ul li:first-child {
	border-left: 1px solid #778;
}

.global-navi ul li a:link,
.global-navi ul li a:visited {
	color: white;
}

.global-navi ul li a.selected {
	background: black; 
	color: white;
}

.global-navi ul li a:hover {
	background: #000035;
	color: white;
	text-decoration: underline;
	position: relative;
	left: 0px;
	top: 0px;
}

/* CONTAINER
---------------------------------------------------------------------------------- */
.container {
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: flex-start;
    min-width: calc( var(--page-min-width) - var(--page-padding-left) - var(--page-padding-right) );
    max-width: calc( 1050px - var(--page-padding-left) - var(--page-padding-right) );
	margin: 0 auto;
    padding-left: var(--page-padding-left);
    padding-right: var(--page-padding-right);
}

/* FOOTER
---------------------------------------------------------------------------------- */
.footer {
	width: 620px;
	border-top: 1px #999 solid;
	margin: 20px auto 8px;
    padding-top: var(--page-padding-top);
    padding-right: var(--page-padding-right);
    padding-bottom: var(--page-padding-bottom);
    padding-left: var(--page-padding-left);
}

.footer__copyright {
	font-size: 1.1rem;
	text-align: right;
}

/* GENERAL ELEMENTS
---------------------------------------------------------------------------------- */
a:link {
	text-decoration: none;
	color: #FF5500;
}

a:visited {
	text-decoration: none;
	color: #FF5500;
}

a:hover {
	text-decoration: underline;
	color: #FF5500;
/*	position: relative;
	left: 2px;
	top: 2px;
*/
}

a:active {
	text-decoration: underline;
	color: #FF5500;
}

a[target="_blank"]::after {
	padding-left: .3rem;
	content: url('images/icon_newwindow.png');
	top: 1px;
	position: relative;
}

h1 {
	font-weight: normal;
	font-size: 2.6rem;
	letter-spacing: -0.08rem;
	padding-bottom: 1rem;
	color: #000258;
	color: #000;
}

h2 {
	padding: 5px 10px;
	border: 1px solid #ccc;
	background-color: #eee;
	color: #000;
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: -0.05rem;
}

h3 {
	color: #000;
	font-size: 1.6rem;
	margin: 10px 0;
	letter-spacing: -0.05rem;
}

h4 {
	color: #FF5500;
	font-size: 1.6rem;
	margin: 10px 0;
	line-height: 1.8rem;
	letter-spacing: -0.05rem;
}

h5 {
	color: #FF5500;
	font-size: 1.3rem;
	margin: 10px 0;
}

p {
	margin-left: 5px;
}

span.error__message {
	color: #F00;
}

.note-f {
	font-size: 1.0rem;
}
.note-c {
	color: var(--color__main);
}
.note__warning {
	color: #F00;
}

/* MAIN CONTENTS
---------------------------------------------------------------------------------- */
.contents__main {
	order: 2;
	flex: 1 1 auto;		/* flex-grow flex-shrink flex-basis */
	background-color: #FFF;
	margin-top: var(--contents__main-margin-top);
	margin-right: var(--contents__main-margin-right);
	margin-bottom: var(--contents__main-margin-bottom);
	margin-left: var(--contents__main-margin-left);
	padding-top: var(--contents__main-padding-top);
	padding-right: var(--contents__main-padding-right);
	padding-bottom: var(--contents__main-padding-bottom);
	padding-left: var(--contents__main-padding-left);
}

/* SUB COLUMNS
---------------------------------------------------------------------------------- */
/* this is the Areas column */
.contents__sub-a {
	order: 3;
	flex: 0 0 auto;		/* flex-grow flex-shrink flex-basis */
	margin-top: var(--contents__sub-a-margin-top);
	margin-right: var(--contents__sub-a-margin-right);
	margin-bottom: var(--contents__sub-a-margin-bottom);
	margin-left: var(--contents__sub-a-margin-left);
	padding-top: var(--contents__sub-a-padding-top);
	padding-right: var(--contents__sub-a-padding-right);
	padding-bottom: var(--contents__sub-a-padding-bottom);
	padding-left: var(--contents__sub-a-padding-left);
	width: var(--contents__sub-a-width);
	border-left: 1px dotted #999;
}

/* this is the Logos & Testimonial column */
.contents__sub-b {
	order: 1;
	flex: 0 0 auto;		/* flex-grow flex-shrink flex-basis */
	margin-top: var(--contents__sub-b-margin-top);
	margin-right: var(--contents__sub-b-margin-right);
	margin-bottom: var(--contents__sub-b-margin-bottom);
	margin-left: var(--contents__sub-b-margin-left);
	padding-top: var(--contents__sub-b-padding-top);
	padding-right: var(--contents__sub-b-padding-right);
	padding-bottom: var(--contents__sub-b-padding-bottom);
	padding-left: var(--contents__sub-b-padding-left);
	width: var(--contents__sub-b-width);
}

.contents__sub--logos {
	width: 100%;
	text-align: center;
	margin-bottom: 8px;
}

.contents__sub--logos img {
	margin: 5px 0 10px;
	border: 1px solid #91C5DB;
}

.l-plate img {
	padding: 30px 0 0 10px;
	position: static;
}

.crossfade__testimonials--box {
}

.crossfade__testimonials--one-entry {
    display: none;		/* !!! this is needed to control crossfading !!! */
	margin: 0;
	padding: 1px 12px 12px;
	width: calc( var(--contents__sub-b-width) - 12px * 2);
	background: rgb(206,207,232);
	background: linear-gradient(0deg, rgba(206,207,232,1) 0%, rgba(206,207,232,1) 50%, rgba(240,240,248,1) 100%);
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
}

.crossfade__testimonials--one-entry.display {
    display: block !important;		/* !!! this is needed to control crossfading !!! */
}

.crossfade__testimonials--one-entry h3 {
	font-size: 1.6rem;
	color: #000;
}

.crossfade__testimonials--one-entry .crossfade__testimonials--comment {
	font-size: 1.3rem;
	letter-spacing: normal;
	margin-top: 1rem;
}

.crossfade__testimonials--one-entry a {
	color: #FF5500;
}

.crossfade__testimonials--one-entry .crossfade__testimonials--image {
	margin: 0 auto 5px;
	width: 100%;
	text-align: center;
}

.crossfade__testimonials--one-entry .crossfade__testimonials--image img {
	border: 1px #444444 solid;
	padding: 1px;
}

.contents__sub--areas {
	padding: 5px 15px;
	width: calc( var(--contents__sub-a-width) - 15px * 2);
	color: #fff;
	background: rgb(0,0,68);
	background: linear-gradient(0deg, rgba(0,0,68,1) 0%, rgba(0,0,68,1) 60%, rgba(60,79,148,1) 100%);
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
}

.contents__sub--areas h3 {
	color: #fff;
}

.contents__sub--areas img {
	width: 100%;
}

.contents__sub--areas p {
	margin-left: 1px;
	margin-right: 1px;
	letter-spacing: -0.02rem;
}

.contents__sub--areas .note {
	color: #CCC;
}

.underline {
	border-width: 0px 0px 1px 0px;
	border-style: dashed;
}

.underline-hook {
	border-width: 0px 0px 1px 1px;
	border-style: dashed;
	line-height: 1.5rem;
}

/******************************************************************************************************************/

/* TOP PAGE
---------------------------------------------------------------------------------- */

/*--- Temporary Notice Box ---*/
.noticebox {
	width: var(--page-min-width);
	overflow: auto;
	margin: .5rem auto 1rem;
	padding: .5rem;
	background: #FFF;
	border: solid 1px #FF5500;
	border-radius: 0 20px;
	font-size: 1.6rem;
}
.noticebox h2 {
	margin: 0 auto;
	background: #FF5500;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.02rem;
	border-radius: 0 15px 0 0;
}
.noticebox p {
	margin: .5rem;
}
.noticebox img {
	width: 70px;
	margin: 10px 20px;
	float: left;
}

.contents__main.top .our-message {
	padding: 12px 17px;
	margin: 25px 10px 20px;
	border-radius: 8px;
	background: linear-gradient(180deg, #F8F8FA, #E7E7F1);
}

.contents__main.top .boxes {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	align-content: stretch;
	justify-content: space-between;
}

.contents__main.top .boxes .box,
.contents__main.top .boxes .box-long {
	width: calc((50% - 12px * 2) - (15px / 2)); /* (50% - this_padding * 2) - (desired_margin / 2) */
	margin-bottom: 15px;
	padding: 2px 12px;
	background-color: #efedf9;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	font-size: 1.4rem;
	letter-spacing: normal;
}

.contents__main.top .boxes .box-long {
	width: calc(100% - 12px * 2);
}

.contents__main.top .boxes .box h4 {
	background: url(images/icon_tick.png) no-repeat left 5px;
	padding: 0 0 0 22px;
}

/* PRICES PAGE
---------------------------------------------------------------------------------- */
.prices__contact {
	display: none;
	float: right;
	margin: 1rem;
}

.prices__contact--phone {
	background: url('images/icon_phone_small.png') no-repeat left 50%;
	margin: 5px 0;
	padding-left: 24px;
}

.prices__contact--email {
	background: url('images/icon_email_small.png') no-repeat left 50%;
	margin: 5px 0;
	padding-left: 24px;
}

.prices__contact--phone a,
.prices__contact--email a {
	font-weight: 700;
}

.prices__container {
	display: flex;
	flex-direction: column;
	align-items: left;
	margin: 20px 1rem 0;
}

.prices__normal {
	font-size: 2.2rem;
}

.prices__alternative {
	margin-top: 3rem;
	font-size: 2.0rem;
}

.prices__conditions {
	font-size: 1.5rem;
	margin: 25px 0;
}

.prices__conditions .prices__normal--conditions {
	color: #F00;
}

.prices__conditions .prices--boxed_conditions {
	border: 1px var(--color__accent) solid;
	border-radius: 10px;
	padding: .3em 1em;
}

.prices__other {
	flex-direction: row;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	align-content: stretch;
	justify-content: space-between;
}

.prices__other div.item {
	width: calc((100% - 12px * 2) - (15px / 2)); /* (50% - this_padding*2) - (desired_margin/2) */
	margin-bottom: 15px;
	padding: 2px 12px;
	background-color: #FFF7CD;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	font-size: 1.4rem;
}

.prices span.price {
	font-weight: 700;
}

/* WHY CHOOSE US?
---------------------------------------------------------------------------------- */
.whychooseus .box {
	background-color: #FFF7CD;
	margin: 0 0 30px;
	padding: 8px 18px;
	color: #222;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	overflow: auto;
}

.whychooseus .box h3 {
	margin-top: 0px;
	font-size: 1.3rem;
	font-weight: normal;
	letter-spacing: -0.01rem;
	color: #FF5500;
}
.whychooseus .box .keyword {
	color: #ff5500;
	font-weight: bold;
	font-style: italic;
	letter-spacing: 0.005rem;
}
.whychooseus .box img {
	margin: 5px 0 15px 15px;
}

.whychooseus .booklet {
    width: 266px;
    float: right;
	margin: 0 0 8px 10px;
	padding: 0;
}
.whychooseus .booklet img {
	border: 1px solid #fff;
	padding: 1px;
	width: 80px;
	height: 60px;
    display: block;
    float: left;
	margin: 2px;
}
.whychooseus .booklet img:hover {
	border: 1px solid #FF5500;
}
	
.whychooseus .booklet figure {
    margin: 0;
    padding: 0;
    display: none;
}

.whychooseus .booklet figcaption {
    display: none;
}

/* TESTIMONIAL PAGE
---------------------------------------------------------------------------------- */
.testimonials__entry {
	margin: 20px auto;
	padding: 30px 15px 0;
	border-top: 1px #FF5500 dotted;
	overflow: auto;
	font-size: 1.4rem;
}

.testimonials__entry img {
	margin: 0 0 10px 15px;
}

.testimonials__entry--name {
	font-style: italic;
}

.dropcap {
	float: left;
	margin-top: 0px;
	margin-right: .4rem;
	color: #FF5500;
	padding-top: .8rem;
	font-size: 3.2rem;
	height: .5rem;
	font-weight: bold;
	font-family: "Times New Roman", Georgia, Century Gothic;
	line-height: 1rem;
	} 
.dropcapend {
	margin-bottom: 0px;
	margin-left: 2px;
	color: #FF5500;
	padding-bottom: .2rem;
	font-size: 1.4rem;
	height: 0.5rem;
	font-weight: bold;
	font-family: "Times New Roman", Georgia, Century Gothic;
	} 

/* LINKS PAGE
---------------------------------------------------------------------------------- */
.links .box .links__title::before {
	padding-right: .5rem;
	content: url('images/icon_orange_arrow_right.png');
	top: 3px;
	position: relative;
}

.links .box .links__title {
	display: inline-block;
	margin: 7px;
	color: #FF5500;
}

.links .box .links__images {
	float: right;
	margin: 0 5px 5px 5px;
}

.links .box h2 {
	margin-top: 20px;
	font-size: 1.6rem;
}

.links table.links__banners a[target="_blank"]::after  {
	padding-left: 0rem;
	content: "";
	top: 0px;
	position: relative;
}

/* CONTACT PAGE
---------------------------------------------------------------------------------- */
.contact dl {
	margin-top: -2rem;
	margin-bottom: 2rem;
}
.contact dt.contact__phone,
.contact dt.contact__email {
	padding-left: 20px;
	margin-bottom: .5rem;
}
.contact dd.contact--link {
	padding-left: 23px;
}
.contact dd.contact--link a {
	font-size: 2.4rem;
	color: #FF5500;
}
.contact dt.contact__phone::before {
	content: url("images/icon_phone.png");
	position: relative;
	left: -5px;
	top: 30px;
}
.contact dt.contact__email::before {
	content: url("images/icon_email.png");
	position: relative;
	left: -5px;
	top: 30px;
}

.contact li span.error__message {
	font-style: italic;
}

.contact .contact-form {
	margin-top: 1rem;
	margin-left: 1rem;
	width: 90%;
	background: #fff;
	padding: .5rem 1rem 1rem;
	border: 1px solid #ddf;
	border-radius: 10px;
}

.contact .contact-form fieldset {
	border: 1px solid #ddd;
	padding: 0 .5rem .5rem;
	margin-bottom: 1rem;
}

.contact .contact-form .contact-form--buttons {
	margin-top: 1rem;
}

.contact .contact-form fieldset.contact-form__aboutyou {
	background: url("images/bg_form_user.png") no-repeat right 10px bottom 10px;
}

.contact .contact-form fieldset.contact-form__enquiry {
	background: url("images/bg_form_comment.png") no-repeat right 10px bottom 10px;
}

.contact .contact-form fieldset legend {
	color: #ff5500;
	font-size: 1.8rem;
}
/*/////////////////////////////////////////////////////////////////////////*/
.contact-form__aboutyou div {
	position: relative;
	margin: 1rem;
}

.contact-form__aboutyou div input[type='text'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 32rem;
	padding-left: 5rem;
}

.contact-form__aboutyou div input {
	padding: 2px 0;
	border: 0;
	border-bottom: 1px solid #ff5500;
}

.contact-form__aboutyou div input[type='text']:focus {
	outline: none;
}

.contact-form__aboutyou div input ~ .focus_line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 3px;
	transition: 0.4s;
	background-color: #ff5500;
}

.contact-form__aboutyou div input:focus ~ .focus_line {
	width: calc(32rem + 20px);
	transition: 0.4s;
	left: -0.8rem;
}

.contact-form__aboutyou div input ~ label {
	position: absolute;
	z-index: 1;
	top: 5px;
	left: 0;
	transition: 0.3s;
	color: #ff5500;
	font-size: 1.3rem;
}

.contact-form__aboutyou div input:focus ~ label {
	position: absolute;
	top: 5px;
	left: -5px;
	font-size: 1.5rem;
	letter-spacing: .5px;
	transition: 0.3s;
}

.contact .contact-form textarea {
	width: 400px;
	height: 190px;
	padding: 1.0rem;
	border: 1px solid #ff5500;
	margin: 1rem;
	font-family:  arial, sans-serif;
	line-height: 1.2rem;
	border-radius: 4px;
}

.contact .contact-form textarea:focus {
	border-width: 2px;
	margin: calc(1rem - 1px);
}

.contact .contact-form__buttons .contact-form__buttons--submit,
.contact .contact-form__buttons .contact-form__buttons--reset,
.contact .contact-form__buttons .contact-form__buttons--back {
	border-top: 1px solid #ccc;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	border-left: 1px solid #ccc;
	padding: 5px 20px;
	cursor: pointer !important;
	cursor: hand;
	color: #000;
	font-weight: bold;
	vertical-align: middle;
}

.contact .contact-form__buttons .contact-form__buttons--submit {
	width: 200px;
	margin-left: 1rem;
}

.contact .contact-form__buttons .contact-form__buttons--reset,
.contact .contact-form__buttons .contact-form__buttons--back {
	width: 90px;
}

.contact .contact-form__buttons .contact-form__buttons--submit:hover,
.contact .contact-form__buttons .contact-form__buttons--reset:hover,
.contact .contact-form__buttons .contact-form__buttons--back:hover {
	color: #FF5500;
	background: -moz-linear-gradient(top, #fff, #efefef 50%, #cfcfcf 99%, #ccc);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#cfcfcf'); /* IE6,7�p */
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#cfcfcf')"; /* IE8,9�p */
	background: -webkit-gradient(linear, top, bottom, from(#fff), to(#cfcfcf)); /* Safari,Google Chrome�p */
}

.contact .contact-form ul.contact-form__confirm {
	border-collapse: collapse;
	margin: 1rem 1rem 2rem;
}

.contact .contact-form ul.contact-form__confirm {
	padding-left: 0;
}

.contact .contact-form ul.contact-form__confirm li {
	display: flex;
	list-style: none;
	margin-left: 0;
}

.contact .contact-form ul.contact-form__confirm li span.key {
	padding-right: 1.0rem;
	padding-bottom: 5px;
	color: #FF5500;
	font-size: 1.4rem;
}

.contact .contact-form ul.contact-form__confirm li span.value {
}

.contact .contact-form .recipient {
	font-style: italic;
}

.contact .contact-form__success .recipient {
	padding-left: 2rem;
}