@font-face {

    font-family: 'OpenSans';

    src: url('../fonts/OpenSans.eot');

    src: url('../fonts/OpenSans?#iefix') format('embedded-opentype'),

         url('../fonts/OpenSans.woff') format('woff'),

         url('../fonts/OpenSans.ttf') format('truetype'),

         url('../fonts/OpenSans.svg#OpenSans') format('svg');

    font-weight: normal;

    font-style: normal;

}

@font-face {

    font-family: 'OpenSans-Semibold';

    src: url('../fonts/OpenSans-Semibold.eot');

    src: url('../fonts/OpenSans-Semibold?#iefix') format('embedded-opentype'),

         url('../fonts/OpenSans-Semibold.woff') format('woff'),

         url('../fonts/OpenSans-Semibold.ttf') format('truetype'),

         url('../fonts/OpenSans-Semibold.svg#OpenSans-Semibold') format('svg');

    font-weight: normal;

    font-style: normal;

}

@font-face {

    font-family: 'OpenSans-Bold';

    src: url('../fonts/OpenSans-Bold.eot');

    src: url('../fonts/OpenSans-Bold?#iefix') format('embedded-opentype'),

         url('../fonts/OpenSans-Bold.woff') format('woff'),

         url('../fonts/OpenSans-Bold.ttf') format('truetype'),

         url('../fonts/OpenSans-Bold.svg#OpenSans-Bold') format('svg');

    font-weight: normal;

    font-style: normal;

}

@font-face {

    font-family: 'PlayfairDisplay-Regular';

    src: url('../fonts/PlayfairDisplay-Regular.eot');

    src: url('../fonts/PlayfairDisplay-Regular?#iefix') format('embedded-opentype'),

         url('../fonts/PlayfairDisplay-Regular.woff') format('woff'),

         url('../fonts/PlayfairDisplay-Regular.ttf') format('truetype'),

         url('../fonts/PlayfairDisplay-Regular.svg#OpenSans-Bold') format('svg');

    font-weight: normal;

    font-style: normal;

}







html, body, div, span, applet, object, iframe,

h1, h2, h3, h4, h5, h6, p, blockquote, pre,

a, abbr, acronym, address, big, cite, code,

del, dfn, em, img, ins, kbd, q, s, samp,

small, strike, strong, sub, sup, tt, var,

b, u, i, center,

dl, dt, dd, ol, ul, li,

fieldset, form, label, legend,

table, caption, tbody, tfoot, thead, tr, th, td,

article, aside, canvas, details, embed, 

figure, figcaption, footer, header, hgroup, 

menu, nav, output, ruby, section, summary,

time, mark, audio, video {

	margin: 0;

	padding: 0;

	border: 0;

	font-size: 100%;

	font: inherit;

	vertical-align: baseline;

}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, 

footer, header, hgroup, menu, nav, section {

	display: block;

}

body {

	line-height: 1;

}

ol, ul {

	list-style: none;

}

blockquote, q {

	quotes: none;

}

blockquote:before, blockquote:after,

q:before, q:after {

	content: '';

	content: none;

}

table {

	border-collapse: collapse;

	border-spacing: 0;

}







#body, html {

	font-family: OpenSans, Arial, Helvetica, sans-serif;	

	font-size: 16px;

}

html {

    scroll-behavior: auto !important;

}

a:hover, a:focus, a:active {

	opacity: .8;

	outline: none;	

}

h2 {

	font-family: PlayfairDisplay-Regular, "Times New Roman", Times, serif;	

	font-size: 2.22rem;

	line-height: 1.2;

	margin-bottom: 4.5rem;

}

h3 {

	font-family: PlayfairDisplay-Regular, "Times New Roman", Times, serif;	

	font-size: 1.6rem;

	line-height: 1.2;

	margin: 1.5rem 0 1rem 0;

}

strong {

	font-family: OpenSans-Bold, Arial, Helvetica, sans-serif;	

}

.mb {

	margin-bottom: 1rem;	

}

#header {

	position: fixed;

	top: 0;

	left: 0;

	width: 100%;

	z-index: 100;

}

.content {

	padding: 0 15px;	

}

#bar {

	background: #1F3D87;

	color: #fff;

	height: 40px;

	display: flex;

	align-items: center;

	justify-content: space-between;

	font-size: .9375rem;

}

#contactBar {

	font-size: .8333rem;

}

#contactBar2 {

	display: block;

	font-size: .9375rem;

	color: #fff;

	border-top: 1px solid #8F9EC3;

	padding: 3rem 0;

}

#contactBar a, #contactBar2 a {

	color: #fff;

	text-decoration: none;

	font-family: OpenSans, Arial, Helvetica, sans-serif !important;

}

#contactBar span, #contactBar2 span {

	margin-right: 30px;

}

#contactBar span:last-child, #contactBar2 span:last-child {

	margin-right: 0;

}

#contactBar .phone, #contactBar .mobile {

	display: none;

}

#contactBar span:before, #contactBar2 span:before {

	content: "";

	display: inline-block;

	margin-right: 10px;

	position: relative;

	top: 1px;

}

.phone:before {

	width: 15px;

	height: 16px;

	background: url('../img/phone.png') no-repeat center;

}

.mobile:before {

	width: 9px;

	height: 15px;

	background: url('../img/mobile.png') no-repeat center;

}

.mail:before {

	width: 19px;

	height: 14px;

	background: url('../img/mail.png') no-repeat center;

}

#social li {

	display: inline-block;	

}

#social a {

	display: inline-block;	

	margin-left: 10px;

}

#social li:first-child a {

	margin-left: 0;

}

#facebook a {

	width: 10px;

	height: 20px;

	background: url('../img/facebook.svg') no-repeat center;

}

#instagram a {

	width: 20px;

	height: 20px;

	background: url('../img/instagram.svg') no-repeat center;

}

#linkedin a {

	width: 20px;

	height: 20px;

	background: url('../img/linkedin.svg') no-repeat center;

}

#logoNav {

	background: #fff;

	padding-top: 10px;

	padding-bottom: 3px;

	display: flex;

	align-items: center;

	justify-content: space-between;

	position: relative;

}

#menu {

	width: 25px;

	cursor: pointer;

}

#menu span {

	display: block;

	width: 100%;

	height: 2px;

	margin-bottom: 6px;

	background: #1F3D87;	

}

#menu span:last-child {

	margin-bottom: 0;

}

#logoNav nav {

	position: absolute;

	top: 100%;

	background: #1F3D87;

	margin: 0 -15px;

	padding: 0 15px;

	width: 100%;

	display: none;

}

#logoNav nav li {

	margin: 3rem 0;

}

#logoNav nav a {

	text-decoration: none;

	text-transform: uppercase;

	font-family: OpenSans-Bold, Arial, Helvetica, sans-serif;	

	font-size: .9375rem;

	color: #fff;

}

#claim {

	display: flex;

	align-items: center;

	justify-content: center;

	width: 100%;

	height: 100vh;

	background-image: url('../img/bg-m.jpg');

	background-repeat: no-repeat;

	background-position: center;

	background-size: cover;

}

#claim p {

	margin-top: -5rem;

	text-align: center;

	color: #fff;

	font-family: PlayfairDisplay-Regular, "Times New Roman", Times, serif;	

	font-size: 2.25rem;

	line-height: 1.2;

}

.section {

	line-height: 1.6;	

	padding: 5rem 0;

}

#about {

	background-color: #1F3D87;

	background-image: url('../img/b.png');

	background-repeat: no-repeat;

	background-position: 200px center;

	color: #fff;	

}

#about .content > div {

	max-width: 760px;	

}

#products {

	background-image: url('../img/bg-2.jpg');

	background-repeat: no-repeat;

	background-position: center;

	background-size: cover;	

	color: #fff;

	padding-bottom: 0;

}

#products h3 {

	font-family: OpenSans-Bold, Arial, Helvetica, sans-serif;

	text-transform: uppercase;

	font-size: 1.44rem;

	line-height: 1.2;

	padding-top: 0;

}

#products .row {

	margin: 0 -15px;

}

#products .product {

	padding: 0 15px;

	margin-bottom: 5rem;

}

#products .product > div {

	padding-left: 60px;

	position: relative;

}

#products .product .icon {

	width: 45px;

	height: 45px;

	position: absolute;

	top: .25rem;

	left: 0;

	background-size: cover;

	background-repeat: no-repeat;

	background-position: center;

}

#professionalIndemnity .icon {

	background-image: url('../img/professional-indemnity.png');

}

#tradesman .icon {

	background-image: url('../img/tradesman.png');

}

#liability .icon {

	background-image: url('../img/liability.png');

}

#pubRestaurant .icon {

	background-image: url('../img/pub-restaurant.png');

}

#propertyOwners .icon {

	background-image: url('../img/property-owners.png');

}

#motorFleet .icon {

	background-image: url('../img/motor-fleet.png');

}

#medical .icon {

	background-image: url('../img/medical.png');

}

#life .icon {

	background-image: url('../img/life.png');

}

#products h3 {

	font-family: OpenSans-Bold, Arial, Helvetica, sans-serif;

	text-transform: uppercase;

	font-size: 1.44rem;

	line-height: 1.2;

	margin-bottom: 2rem;

}

#products h3 .br {

	display: none;

}

#products .more {

	font-family: OpenSans-Semibold, Arial, Helvetica, sans-serif;

	text-transform: uppercase;

	font-size: .8333rem;

	text-decoration: none;

	color: #fff;

	display: inline-block;

	margin-top: 1rem;

}

#products .more:after {

	content: "+";

	position: relative;

	top: .1rem;

	margin-left: 10px;

	font-size: 1.1rem;

	font-family: OpenSans, Arial, Helvetica, sans-serif !important;

}

#partners {

	color: #1F3D87;

}

#partners .content > div {

	overflow-x: hidden;

}

#logos {

	display: flex;

	align-items: center;

}

#logos img {

	margin-right: 50px;

}

#contact {

	background-image: url('../img/bg-3.jpg');

	background-repeat: no-repeat;

	background-position: center;

	background-size: cover;	

	color: #fff;

}

#contact a {

	color: #fff;

	text-decoration: none;

}

#formData {

	display: flex;

	flex-direction: column;

}

#contact form {

	margin: 0 0 5rem 0;

}

#success, #error {

	padding: 20px;

	background: #fff;

	margin-bottom: 2rem;	

	display: none;

}

#success {

	color: #090;	

}

#error {

	color: #900;	

}

#contact form input, #contact form textarea {

	width: 100%;

	background: none;

	border: 1px solid #fff;

	height: 40px;

	padding: 0 15px;

	margin-bottom: 20px;

	color: #fff;

	outline: none;

	border-radius: 0;

}

#contact form textarea {

	height: auto;

}

#contact form button {

	background: #fff;

	outline: none;

	border: none;

	height: 40px;

	padding: 0 20px;

	color: #1F3D87;

	text-transform: uppercase;

	font-size: .889rem;

}

#contact form button:hover, #contact form button:focus, #contact form button:active {

	opacity: .8;

}

#footer .content {

	display: flex;

	justify-content: space-between;	

	flex-direction: column;

	padding-top: 2.5rem;

	padding-bottom: 2.5rem;

	font-size: .722rem;

	line-height: 1.5;

}

#footer a {

	color: #000;

}

#divCopy {
	max-width: 760px;	
}
#divCopy a {
	white-space: nowrap;	
}
#copy {

	font-size: .8333rem;

	margin-bottom: 1rem;	

}

#webdesign {

	margin-top: 2.5rem;

}

#webdesign, #webdesign a {

	text-decoration: none;

	color: #999;

}

#wa {

	position: fixed;

	right: 15px;

	bottom: 30px;

	width: 60px;

	height: 60px;

	background: url('../img/wa.png') no-repeat center;

	z-index: 1000;

	opacity: 1;

	transform: scale(.8);

	transform-origin: right bottom;

}

.modal-dialog {

	max-width: 800px;	

}

.modal-content {

	border-radius: 0;

	color: #000;

	padding: 2.5rem 1rem;

}

.btn-close {

	position: absolute;

	top: 15px;

	right: 15px;

	opacity: 1;

	outline: none;

	box-shadow: none !important;	

}

.btn-close:hover, .btn-close:focus, .btn-close:active {

	opacity: .8;

}

.modal-header {

	border: none;

	padding: 1rem 0 0 0;

}

.modal-body {

	padding: 0	

}

.modal-dialog h2 {

	color: #1F3D87;

	margin-bottom: 2rem;

	line-height: 1.2;

}

.modal-dialog .h3 {

	color: #1F3D87;

	font-family: OpenSans-Semibold, Arial, Helvetica, sans-serif !important;

	text-transform: none !important;

	font-size: 1.111rem !important;

	margin: 1.5rem 0 1rem 0 !important;

}

.modal-dialog ul {

	list-style: disc;

	padding-left: 20px;

}

#privacyModal h3 {

	color: #1F3D87;	

}

#privacyModal p, #privacyModal ul,
#cookiePolicyModal p, #cookiePolicyModal ul {

	line-height: 1.6;	

	margin-bottom: 1rem;

}

.bx-wrapper {

	border: none;

	box-shadow: none;

	margin: 0;

}



@media (min-width: 576px) {

	#body, html {

		font-size: 18px;

	}

	#contactBar, #contactBar2 {

		font-size: .8333rem;

	}

	#social a {

		margin-left: 28px;

	}

	#logoNav nav a {

		font-size: .8333rem;

	}

	#claim p {

		font-size: 2.78rem;

	}

	#about {

		background-position: 300px center;

	}

	#products .product > div {

		padding-left: 95px;

	}

	#products .product .icon {

		top: 0;

		width: 75px;

		height: 75px;

	}

	#products h3 {

		padding-top: .3rem;

	}

	#products h3 .br {

		display: inline-block;

	}

	#logos img {

		margin-right: 100px;

	}

	#wa {

		transform: scale(1);

	}

	.modal-content {

		margin: 0 15px;

		padding: 2.5rem;

	}

	.btn-close {

		top: 30px;

		right: 30px;

	}

}

@media (min-width: 768px) {

	.content  {

		padding: 0 30px;	

	}

	#logoNav nav {

		margin: 0 -30px;

		padding: 0 30px;

	}

	#claim {

		background-image: url('../img/bg.jpg');

	}

	#about {

		background-position: 400px center;

	}

	#wa {

		right: 30px;

	}

}

@media (min-width: 992px) {

	#contactBar .phone, #contactBar .mobile {

		display: inline-block;

	}

	#contactBar2 {

		display: none;

	}

	#menu {

		display: none;	

	}

	#logoNav {

		padding-top: 20px;

		padding-bottom: 13px;

	}

	#logoNav nav {

		position: relative;

		top: 0;

		background: none;

		margin: 0;

		padding: 0;

		width: auto;

		display: block !important;

	}

	#logoNav nav li {

		display: inline-block;

		margin: 0 0 0 2.5rem;

	}

	#logoNav nav a {

		color: #1F3D87;

	}

	#about {

		background-position: 85% center;

	}

	#products .row {

		margin: 0 -25px;

	}

	#products .product {

		padding: 0 25px;

	}

	#formData {

		flex-direction: row;

	}

	#contact form {

		margin: 0 80px 0 0;

		width: 75%;

	}

	#footer .content {

		flex-direction: row;

	}

	#webdesign {

		margin-top: 0;

	}

}

@media (min-width: 1200px) {

	.content  {

		padding: 0 50px;	

	}

	#contact form {

		width: 760px;

	}

	#wa {

		right: 50px;

	}

}

@media (min-width: 1500px) {

	.content  {

		padding: 0 100px;	

	}

}

@media (min-width: 1800px) {

	.content {

		padding: 0 200px;	

	}

}