/* Landing pages */

/* Basics */

body {
	font-family: 'Montserrat', sans-serif;
}

a {
	color: #3D5769;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	line-height: 140%;
}

h2 {
	font-size: 1.875rem;
}


/* Sections */

section {
	padding: 60px 0px;
}

@media (min-width: 576px) {
	section {
		padding: 120px 0;
	}	
}	

.section_alert {
	background-color: #F7B348;
	padding: 25px 0px 10px 0px;
}


.section_cta {
	background: linear-gradient(98.1deg, rgba(119, 138, 166, 0.9) 6.49%, rgba(81, 98, 124, 0.9) 103.14%), url(https://ocsi.uk/wp-content/uploads/2025/10/background_cta.jpg);
	min-height: 400px;
}


.section_cta h2,
.section_cta p {
	color: #fff;
}


.section_hero {
	background: linear-gradient(98.1deg, #778AA6 6.49%, #51627C 103.14%);
	height: auto;
	padding: 60px 0px;
}

.section_trusted {
	padding: 40px 0px 20px 0px;
}


@media (min-width: 1200px) {

	/* Only apply on large screens */
	.section_hero {
		min-height: 70vh
	}
}


.section_hero h1 {
	font-size: 1.5rem;
	margin-bottom: 0.5rem;
}

@media (min-width: 576px) {
	.section_hero h1 {
		font-size: 1.875rem;
		margin-bottom: 0.875rem;
	}
}


.section_hero h2 {
	font-size: 1.3rem;
}

.section_hero h1,
.section_hero h2 {
	color: #fff;
}

.section_trusted {
	background-color: #fff;
}


.section_pricing .card_right {
	color: #fff;
	background-color: #51627C;
	padding-top: 10px;
}


.section_pricing .card_left {
	border-color: #7AD6D9;
	border-width: 2px;
	padding-top: 10px;
}

.section_push {
	height: 55px;
	padding: 0px;

}


.section_text_and_image h2 {
	font-size: 1.5rem
}

@media (min-width: 576px) {
	.section_text_and_image h2 {
		font-size: 1.875rem;
	}
}


@media (min-width: 576px) {
	.section_push {
		height: 75px;
	}
}


/* Lists */

.section_content ul {
	list-style: none;
	padding-left: 2rem;
	font-size: 0.8rem;
}

.section_pricing ul {
	font-size: 0.9rem;
	font-weight: 500;
}

.section_content ul li::before {
	width: 2em;
	margin-left: -2em;

}

.section_content ul li:before {
	content: '✓';
}

ul.list_block {
	list-style-type: none;
	padding-left: 0px;
}

ul.list_block li {
	background-color: #f5f5f5;
	margin-bottom: 3px;
	padding: 8px 8px;
}

ul.list_block li:before {
	margin: 0px;
	content: unset;
}

ul.list_footer_logos {
	list-style-type: none;
	padding-left: 0px;
}

ul.list_footer_logos li {
	display: inline-block !important;
}

/* Buttons */

a.btn-primary {
	background-color: #7AD6D9;
	border-color: #7AD6D9;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: #3D5769;
	font-weight: 600;
	padding: 12px 18px;
	letter-spacing: 1px;
	border-bottom: 0px !important;
}

.btn_full_width {
	width: 100%;
}


.btn-primary .disabled {
  background-color: #C8EDEE;
  color: #9BAAB5;
  border: none;
  cursor: not-allowed !important;
  opacity: 0.7;
  box-shadow: none;
  pointer-events: none;

}


.section_alert a.btn-primary {
	background-color: #3D5769;
	border-color: #3D5769;
	color: #fff;
}

a.btn-info {
	background-color: #fff;
	border-color: #fff;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: #3D5769 !important;
	font-weight: 600;
	padding: 12px 18px;
	letter-spacing: 1px;
	border-bottom: 0px !important;
}

a.btn-info:hover {
	background-color: #7AD6D9;
	border-color: #7AD6D9;
	color: #3D5769 !important;
}

/* Button overrides */

.btn-primary {
  background-color: #7AD6D9;
  color: #3D5769;
  border: none;
}

.btn-primary:hover {
  background-color: #68C5C9;
  color: #2F4656;
}

.btn-primary:focus {
  background-color: #7AD6D9;
  color: #3D5769;
  outline: 2px solid #55B4B9;
  outline-offset: 2px;
  box-shadow: none;
}

.btn-primary:active {
  background-color: #55B4B9;
  color: #2A3F4E;
}

/* Header */

header {
	background-color: #fff;
	position: fixed;
	width: 100%;
	height: 55px;
	z-index: 999;
	padding: 10px 0px;
}

@media (min-width: 576px) {
	header {
		padding: 20px 0px;
		height: 75px;
	}
}


/* Modal */

.modal {
	z-index: 9999;
}

/* Footer */

footer {
	background-color: #fff;
	padding: 40px 0px;
}

footer p {
	color: #4D4D4D;
	font-size: 0.8rem;
	line-height: 110%;
}

footer .text_terms {
	font-size: 0.7rem;
}


footer h5 a,
.landing_footer h5 a:hover {
	color: #4D4D4D;
	font-weight: 600;
	font-size: 0.85rem;
}

footer hr {
	height: 1px;
}


/* Backgrounds */

.background_grey {
	background-color: #F9F9F9;
}


/* Accordion */

.accordion>.card>.card-header {

	margin-bottom: auto;
}

.accordion h6 {
	display: inline-block;
}

.accordion i {
	display: inline-block;
	float: right;
}

.accordion .card-header {
	background-color: rgba(255, 255, 255, 1);
}

.accordion .card {
	margin-bottom: 8px;
	border-bottom: 1px solid rgba(0, 0, 0, .125);
	border-radius: 4px;
}


.landing_box_accordion {
	padding: 40px 20px 40px 20px;

}

@media (min-width: 576px) {
	.landing_box_accordion {
	padding: 40px;
	}
}


/* Boxes */

.box_price {
	width: 150px;
	float: right
}

.box_instant {
	position: absolute;
	background-color: #7AD6D9;
	left: 0px;
	top: 0px;
	padding: 3px 5px;
	font-size: 0.7rem;
}

.box_icon {
	padding: 10px 0px;
	border-bottom: 2px solid #eee;

}

.box_icon_left {
	width: 54px;
	margin-right: 15px;
}

.box_download {
	font-size: 0.7rem;
	padding: 5px;
	border-radius: 4px;
	border: 2px solid #eee;
}

.box_centred_then_left {
	text-align: center;
}

@media (min-width: 576px) {
	.box_centred_then_left {
		text-align: left
	}
}


/* Text */

.text_weight_regular {
	font-weight: 400;
}

.text_large::first-line {
	font-variant: unset;
}

.text_bold {
	font-weight: 600;

}

.text_tiny {
	font-size: 0.7rem;
}


.text_blue,
.text_blue a,
a.text_blue {
	color: #3D5769 !important;
}

.text_black {
	color: rgba(0, 0, 0, 0.8);
}

.text_green {
	color: #265928;
}

.text_underline {
	text-decoration: underline;
}

.text_block_mobile {
	display: block;
	clear: both;
}

@media (min-width: 576px) {
	.text_block_mobile {
	display: unset;
	clear: unset;
}
}


/* Images */

.image_edge_right img {
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
}

.image_edge_left img {
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
}


@media (min-width: 1200px) {

	/* Only apply on large screens */
	.image_edge_right {
		position: relative;
		right: calc((100vw - 1140px) / -2);
		/* 1140px is the max-width of .container in Bootstrap 4.5 */

	}
}

@media (min-width: 1200px) {
	.image_edge_left {
		position: relative;
		left: calc((100vw - 1140px) / -2);
		/* Push out to the left */
	}
}


.section_text_and_image {
	position: relative;
	display: flex;
	align-items: center;
	/* vertically center the text block */
	min-height: auto;
	/* ensure enough height for the image */
}


.image_right_edge {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);

}

.image_left_edge {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);

}

.image_large_left {
	max-width: 500px;
	/* adjust for your design */
	height: auto;
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
}

.image_large_right {
	max-width: 500px;
	/* adjust for your design */
	height: auto;
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
}

@media (min-width: 1500px) {
	.display_xl {
		display: block !important;
	}

	.section_text_and_image {

		min-height: 600px;
	}
}