/*
* ------------------------------------------------------------------
* General styles
* ------------------------------------------------------------------
*/

:root {
	--color-dark: #251f4e;
	--color-light: #ffffff;
	--color-accent: #1a91c6;
	--color-info: #265a86;	
	--color-highlight: #a1c03c;
	--color-muted: #91adc3;
	--color-muted-hover: #6d91ad;
	--text-color-body: #251f4e; 
	--text-color-heading: #251f4e; 
	--text-color-nav: #ffffff;
	--text-color-accent: #1a91c6;
	--text-color-highlight: #a1c03c;
	--text-color-muted: #91adc3;
	--text-color-link: #a1c03c;
	--text-color-light: #ffffff;
	--text-color-dark: #251f4e;
	--font-body: proxima-nova, sans-serif;
}

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	color: var(--text-color-body);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.4;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5  {
	color: var(--text-color-heading);
	font-weight: 800;
}

p {
	font-size: clamp(0.9rem, 0.8483rem + 0.1724vw, 1rem);
}

a {
	color: var(--text-color-link);
	-webkit-transition:all 0.3s ease; /* Safari and Chrome */
	-moz-transition:all 0.3s ease; /* Firefox */
	-o-transition:all 0.3s ease; /* IE 9 */
	-ms-transition:all 0.3s ease; /* Opera */
	transition:all 0.3s ease;
}

a:hover {
	color: var(--text-color-highlight);
}


button,
.button {
	background-color: var(--color-highlight);
	border: none;
	border-radius: 0;
	color: var(--color-dark);
	font-family: var(--font-body);
	font-weight: 800;
	height: 50px;
	letter-spacing: .05rem;
	padding-bottom: unset;
	padding-left: 3rem;
	padding-right: 3rem;
	padding-top: unset;
	text-transform: uppercase;
	-webkit-transition:all 0.3s ease; /* Safari and Chrome */
	-moz-transition:all 0.3s ease; /* Firefox */
	-o-transition:all 0.3s ease; /* IE 9 */
	-ms-transition:all 0.3s ease; /* Opera */
	transition:all 0.3s ease;
}

.button.is-hovered, .button:hover {
    background-color: var(--text-color-accent);
    color: var(--text-color-light);
}

.button.is-light {
    background-color: var(--color-accent);
    border-color: transparent;
}

.button.is-light.is-hovered,
.button.is-light:hover {
    background-color: var(--color-accent);
    border-color: transparent;
    color: var(--text-color-light);
}

.button.is-light.is-focused:not(:active),
.button.is-light:focus:not(:active) {
    box-shadow: 0;
}

.button.is-light.is-focused,
.button.is-light:focus {
    border-color: transparent;
    color: var(--text-color-light);
}

.button.is-dark {
    background-color: var(--color-dark);
    border-color: transparent;
}

.button.is-dark.is-hovered,
.button.is-dark:hover {
    background-color: var(--color-info);
    border-color: transparent;
    color: var(--text-color-light);
}

.button.is-dark.is-focused,
.button.is-dark:focus {
    background-color: var(--color-info);
    border-color: transparent;
    color: var(--text-color-light);
}

.button.is-social-media {
	align-items: center;
	background-color: var(--color-accent);
	border-radius: 50%;
	color: var(--text-color-dark);
	display: inline-flex;
	font-size: 16px;
	height: 45px;
	justify-content: center;
	line-height: 1;
	padding: unset;
	text-align: center;
	text-decoration: none;
	width: 45px;
}

.button.is-social-media:not(:last-child) {
    margin-right: .5rem;
}

.button.is-social-media:hover {
    color: var(--text-color-light);
}

strong {
	color: inherit;
}

.fa-ul {
    margin-left: 1.5em !important;
}

.has-shadow {
    box-shadow: 0 0 40px 20px rgba(100, 100, 100, 0.1);
}

.has-white-background {
	background-color: #ffffff;
}

.has-no-background {
	background-image: none !important;
}

.has-bottom-background {
	background-position: bottom !important;
}

.title {
	color: var(--text-color-heading);
	font-weight: 800;
}




/*
 * ------------------------------------------------------------------
 * Form styles
 * ------------------------------------------------------------------
 */

.control {
	font-size: clamp(1rem, 0.8707rem + 0.4310vw, 1.25rem);	
}

.input,
.select select,
.textarea {
    background-color: transparent !important;
    border-color: var(--color-info);
    border-radius: 0;
	box-shadow: none;
    color: var(--text-color-info) !important;
	font-size: clamp(1rem, 0.8707rem + 0.4310vw, 1.25rem);
}

.input:hover, .is-hovered.input, .is-hovered.textarea, .select select.is-hovered, .select select:hover, .textarea:hover {
    border-color: var(--color-accent);
    color: var(--text-color-accent);
	background-color: transparent;
}

.input:focus, .textarea:focus, .select select:focus, .is-focused.input, .is-focused.textarea, .select select.is-focused, .input:active, .textarea:active, .select select:active, .is-active.input, .is-active.textarea, .select select.is-active {
	background-color: transparent !important;
}

.input:active, .input:focus, .is-active.input, .is-active.textarea, .is-focused.input, .is-focused.textarea, .select select.is-active, .select select.is-focused, .select select:active, .select select:focus, .textarea:active, .textarea:focus {
    border-color: var(--color-accent);
    box-shadow: 0;
}

.input::-moz-placeholder,
.select select::-moz-placeholder,
.textarea::-moz-placeholder {
	color: var(--text-color-info);
}

.input::-webkit-input-placeholder,
.select select::-webkit-input-placeholder,
.textarea::-webkit-input-placeholder {
	color: var(--text-color-info);
}

.input:-moz-placeholder,
.select select:-moz-placeholder,
.textarea:-moz-placeholder {
	color: var(--text-color-info);
}

.input:-ms-input-placeholder,
.select select:-ms-input-placeholder,
.textarea:-ms-input-placeholder {
	color: var(--text-color-info);
}

.field:not(:last-child) {
    margin-bottom: 1rem;
}

.message {
	background-color: transparent;
	font-size: clamp(1rem, 0.8707rem + 0.4310vw, 1.25rem);
	font-weight: 800;
	margin-bottom: 1rem;
}

footer .input,
footer .select select,
footer .textarea {
    background-color: transparent !important;
    border-color: var(--color-accent);
    border-radius: 0;
    color: var(--text-color-accent) !important;
	font-size: clamp(0.9rem, 0.8483rem + 0.1724vw, 1rem);
}

footer .input:hover,
footer .is-hovered.input,
footer .is-hovered.textarea,
footer .select select.is-hovered,
footer .select select:hover,
footer .textarea:hover {
    border-color: var(--color-light);
    color: var(--text-color-light);
	background-color: transparent;
}

footer .input:focus,
footer .textarea:focus,
footer .select select:focus,
footer .is-focused.input,
footer .is-focused.textarea,
footer .select select.is-focused,
footer .input:active, .textarea:active,
footer .select select:active,
footer .is-active.input,
footer .is-active.textarea,
footer .select select.is-active {
	background-color: transparent !important;
}

footer .input:active,
footer .input:focus,
footer .is-active.input,
footer .is-active.textarea,
footer .is-focused.input,
footer .is-focused.textarea,
footer .select select.is-active,
footer .select select.is-focused,
footer .select select:active,
footer .select select:focus,
footer .textarea:active,
footer .textarea:focus {
    border-color: var(--color-light);
    box-shadow: 0;
}

footer .input::-moz-placeholder,
footer .select select::-moz-placeholder,
footer .textarea::-moz-placeholder {
	color: var(--text-color-accent);
}

footer .input::-webkit-input-placeholder,
footer .select select::-webkit-input-placeholder,
footer .textarea::-webkit-input-placeholder {
	color: var(--text-color-accent);
}

footer .input:-moz-placeholder,
footer .select select:-moz-placeholder,
footer .textarea:-moz-placeholder {
	color: var(--text-color-accent);
}

footer .input:-ms-input-placeholder,
footer .select select:-ms-input-placeholder,
footer .textarea:-ms-input-placeholder {
	color: var(--text-color-accent);
}

footer .message {
	font-size: clamp(0.9rem, 0.8483rem + 0.1724vw, 1rem);
}



/*
 * ------------------------------------------------------------------
 * Navigation styles
 * ------------------------------------------------------------------
 */
  
.navbar {
	min-height: 4rem;
	background-color: var(--color-info);
}

@media screen and (min-width: 1024px) {
	.navbar {
		background: linear-gradient(90deg, var(--color-accent) 40%, var(--color-info) 40%);
	}
}

@media screen and (max-width: 1023px) {
	.navbar-menu {
		background-color: var(--color-info);
	}
}

.navbar-burger {
    color: var(--text-color-light);
	margin-left: 0;
    margin-right: auto;
}

.navbar-burger:hover {
    background-color: var(--color-info);
    color: var(--text-color-light);
}
  
.navbar-item, .navbar-link {
	color: var(--text-color-nav);
	padding: .5rem 1.5rem;
}
  
a.navbar-item {
	color: var(--color-light);
	cursor: pointer;
}

.navbar-item {
	color: var(--text-color-nav);
	font-size: .85rem;
	letter-spacing: .075rem;
	text-transform: uppercase;
}

@media screen and (max-width: 1023px) {
	.navbar-start {
		background-color: var(--color-accent);
	}
	.navbar-start .navbar-item {
		padding: .75rem .75rem;
	}
}
    
.navbar-start > .navbar-item strong {
	font-weight: 800;
}

.navbar-start > .navbar-item a {
	color: var(--text-color-light);
	font-weight: 800;
}

.navbar-end > .navbar-item {
	font-weight: 800;
}

.navbar-end > .navbar-item.navbar-item-social:not(:last-child) {
	padding-right: .75rem;
}

.navbar-dropdown > .navbar-item {
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.navbar-link.is-active,
.navbar-link:focus,
.navbar-link:focus-within,
.navbar-link:hover,
a.navbar-item.is-active,
a.navbar-item:focus,
a.navbar-item:focus-within,
a.navbar-item:hover {
	color: var(--text-color-highlight);
}

@media screen and (min-width: 1024px) {
	.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,
	.navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
		color: var(--text-color-highlight);
	}

	.navbar-link:not(.is-arrowless)::after {
	    border-color: var(--text-color-nav);
	}

	.navbar-link:hover:not(.is-arrowless)::after {
		border-color: var(--text-color-highlight);	
	}
	
	.navbar-dropdown > .navbar-item{
	  color: var(--text-color-accent);
	}
}




/*
 * ------------------------------------------------------------------
 * Card styles
 * ------------------------------------------------------------------
 */

.card {
	border-radius: 0;
	color: var(--text-color-body);
	height: 100%;
}

@media screen and (min-width: 1024px) {
	.card {
	    box-shadow: 0 0 40px 20px rgba(100, 100, 100, 0.1);
	}
}

.card-content {
	display: flex;
	flex-direction: column;
	padding: 3rem;
	height: 100%;
}

.detail-card .card-content {
	display: block;
}


@media screen and (min-width: 1216px) {
	.service-card .card-content {
		padding: 3rem 2rem;
	}
	.detail-card .card-content {
		padding: 3rem 2rem;
	}
}

.card h3 {
	font-size: clamp(1.375rem, 1.3103rem + 0.2155vw, 1.5rem);
	line-height: 1.1;
	text-transform: uppercase;
}

.card-icon {
	max-height: 93px;
	height: 93px;
}

.card .image img {
	height: 100%;
	object-fit: cover;
}

.card-image {
	overflow: hidden;
	width: 100%;
}

.card-image:first-child img {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


a+.card,
.card {
	cursor: pointer;
	-webkit-transition:all 0.1s ease; /* Safari and Chrome */
	-moz-transition:all 0.1s ease; /* Firefox */
	-o-transition:all 0.1s ease; /* IE 9 */
	-ms-transition:all 0.1s ease; /* Opera */
	transition:all 0.1s ease;
}

a+.card:hover,
.card:hover {
	background-color: var(--color-info);
}

a+.card:hover h3,
.card:hover h3 {
	color: var(--text-color-light);
}

a+.card p,
.card p {
	color: var(--text-color-body);
	margin-bottom: 1rem;
	flex-grow: 1;	
}

a+.card:hover p,
.card:hover p {
	color: var(--text-color-light);
}

.card-link {
	color: var(--text-color-highlight);
	display: block;
	font-size: .8em;
	font-weight: 800;
	letter-spacing: .02rem;
	margin-top: auto;
	text-transform: uppercase;
}

.card-link:hover {
	color: var(--text-color-light);
}




/*
* ------------------------------------------------------------------
* Hero styles
* ------------------------------------------------------------------
*/

.hero strong {
	color: var(--text-color-accent);
	font-weight: 800;
}

@media screen and (max-width: 768px) {
	.hero {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.hero {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.hero-wrapper {
	position: relative;
}

.hero-image {
	display: block;
	height: auto;
	max-height: 960px;
	min-width: 1100px;
	position: absolute;
	width: 100%;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.hero-image {
		min-width: 1100px;
	}
}

@media screen and (min-width: 769px) {
	.hero-image {
		min-width: 1150px;
	}
}

@media screen and (min-width: 1024px) {
	.hero-image {
		min-width: 1450px;
	}
}

@media screen and (min-width: 1216px) {
	.hero-image {
		min-width: 1500px;
	}
}

.hero-head {
	padding: 3rem 0 1rem;
}

.hero-head .hero-logo {
	max-height: 110px;
}

.hero-overlay {
  transition: .5s ease;
  top: 0;
  left: 0;
  width: 100%;
}

.hero-body {
	padding: 3rem 0 5rem;	
}

.hero-body .title {
	font-size: clamp(2.5rem, 2.2414rem + 0.8621vw, 3rem);
}

.hero-body p {
	font-size: clamp(1rem, 0.8448rem + 0.5172vw, 1.3rem);
	line-height: 1.3;
	margin-bottom: 1.5rem;
}

.hero-list {
	color: var(--text-color-accent);
	font-weight: 800;
	font-size: clamp(1.45rem, 1.2948rem + 0.5172vw, 1.75rem);
	margin-bottom: 1.5rem;
	text-transform: uppercase;
}

.hero-contact .hero-list {
	text-transform: none;
	font-size: clamp(1rem, 0.8448rem + 0.5172vw, 1.3rem);
}

.hero-contact .hero-list a {
	color: var(--text-color-accent);
}

.hero-button {
	margin-bottom: 2rem;
}




/*
* ------------------------------------------------------------------
* Feature styles
* ------------------------------------------------------------------
*/

.feature,
.capabilities {
	margin-bottom: 5rem;
}

.capabilities {
	margin-top: 8rem;
}

.feature-image,
.capabilities-image {
	height: 100%;
}

.feature-image .image,
.capabilities-image .image {
	height: 100%;
}

.feature-image .image img,
.capabilities-image .image img {
	object-fit: cover;
	min-height: 300px;
	height: 100%;
}

.feature-image .feature-image-max {
	max-height: 650px;
}

.feature-body,
.capabilities-body {
	padding: clamp(3rem, 1.9655rem + 3.4483vw, 5rem);
	height: 100%;
}

.feature-body {
	background: var(--color-accent);
	color: var(--text-color-light);
}

.feature-body.feature-body-light {
	background: var(--color-light);
	color: var(--text-color-body);
}

.feature-body.feature-body-dark {
	background: var(--color-info);
	color: var(--text-color-light);
}

.feature-body h2,
.capabilities-body h2 {
	color: var(--text-color-heading);
	font-size: clamp(2.5rem, 2.2414rem + 0.8621vw, 3rem);
	font-weight: 800;
	text-transform: uppercase;
}

.feature-body h2 {
	color: var(--text-color-light);
}

.feature-body p,
.capabilities-body p,
.feature-body ul {
	font-size: clamp(1rem, 0.8707rem + 0.4310vw, 1.25rem);
}

.feature-title-home {
	font-size: clamp(2rem, 1.7414rem + 0.8621vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 2.5rem;
	text-transform: uppercase;
}

.feature-title-home strong {
	color: var(--text-color-accent);
	font-weight: 800;
}

.certifications {
	padding: 3rem clamp(3rem, 1.9655rem + 3.4483vw, 5rem);
}

.certification-logo {
	max-height: 100px;
	max-width: 300px;
}




/*
* ------------------------------------------------------------------
* Services styles
* ------------------------------------------------------------------
*/

.services {
	background-image: url(https://d3n9wn1t8ah06y.cloudfront.net/images/bg-plans-01a.png), url(https://d3n9wn1t8ah06y.cloudfront.net/images/bg-plans-01b.png);
	background-position: 0px 250px, 0px 2150px;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% auto, 100% auto;
}

.services.has-bottom-background {
	background-image: url(https://d3n9wn1t8ah06y.cloudfront.net/images/bg-plans-services.png);
	padding-bottom: 5rem;
}

.services h2 {
	font-size: clamp(2.5rem, 2.2414rem + 0.8621vw, 3rem);
	text-transform: uppercase;
}

.services.services-sub h2 {
	font-size: clamp(1.5rem, 1.1121rem + 1.2931vw, 2.25rem);
	text-transform: uppercase;	
}

.services .intro p {
	font-size: clamp(1rem, 0.8448rem + 0.5172vw, 1.3rem);
	margin-bottom: 3rem;
}




/*
 * ------------------------------------------------------------------
 * Announcement styles
 * ------------------------------------------------------------------
 */

.announcement {
	background-color: #a5b586;
	margin-top: 4rem;
	padding: 3rem;
}

.announcement .image.is-square {
	height: auto;
	width: 100px;
}

.announcement-heading {
	font-size: clamp(1.375rem, 1.3103rem + 0.2155vw, 1.5rem);
	line-height: 1.1;
	margin-bottom: .5rem;
	text-transform: uppercase;
}

.announcement-heading strong {
	color: #c7e252;
	font-weight: 800;
}




/*
 * ------------------------------------------------------------------
 * Call-to-Action styles
 * ------------------------------------------------------------------
 */

.callToAction {
	background-color: var(--color-highlight);
	margin-top: 4rem;
	padding: 3rem;
}

.callToAction .image.is-square {
	height: auto;
	width: 100px;
}

.callToAction p {
	font-size: clamp(1rem, 0.8707rem + 0.4310vw, 1.25rem);
	
}
.callToAction .cta {
	font-weight: 800;
	text-transform: uppercase;
}

.callToAction .cta .phone {
	color: var(--color-light);
}




/*
 * ------------------------------------------------------------------
 * Process styles
 * ------------------------------------------------------------------
 */

.process {
	margin: 7rem 0;
}



/*
 * ------------------------------------------------------------------
 * About styles
 * ------------------------------------------------------------------
 */

.about .content {
	background-color: var(--color-dark);
	height: 100%;
	padding: clamp(3rem, 1.9655rem + 3.4483vw, 5rem);
}

.about .content h2 {
	font-size: clamp(2.5rem, 2.2414rem + 0.8621vw, 3rem);
	font-weight: 800;
	text-transform: uppercase;
}

.about .content h3 {
	color: var(--text-color-highlight);
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: .5rem;
	text-transform: uppercase;
}

.about .image {
	height: 100%;
}

.about .image img {
	object-fit: cover;
	height: 100%;
}




/*
 * ------------------------------------------------------------------
 * Client styles
 * ------------------------------------------------------------------
 */

.clients {
	margin: 5rem 0;
}

.clients .container {
	position: relative;
}

.client-logo {
	height: 75px;
	max-width: 200px;
	object-fit: contain;
}

.owl-nav {
	width: 100%;
}

.owl-theme .owl-nav [class*=owl-] {
	color: var(--color-muted) !important;
	cursor: pointer !important;
	font-size: 50px !important;
	line-height: 1!important;
	display: block!important;
	position: absolute;
	top: 0px !important;
}

.owl-theme .owl-nav [class*=owl-]:hover {
	color: var(--color-muted-hover) !important;
	background: transparent!important;
}

button.owl-prev {
	left: -10% !important;	
}

button.owl-next {
	right: -10% !important;
}



/*
 * ------------------------------------------------------------------
 * Showcase styles
 * ------------------------------------------------------------------
 */

.showcase {
	margin-bottom: 3rem;
}

.showcase h2 {
	font-size: clamp(2.5rem, 2.2414rem + 0.8621vw, 3rem);
	margin-bottom: 0;
	text-transform: uppercase;
}

.showcase .card-image {
	padding: 2rem 2rem 1rem;
} 
 
.showcase .card-content {
	padding: 0 2rem 2rem;
}  
 
.showcase .owl-carousel .owl-stage-outer {
	overflow: normal;
	padding-top: 3rem;
	padding-bottom: 3rem;
	position: relative;
	-webkit-transform: translate3d(0,0,0);
}




/*
 * ------------------------------------------------------------------
 * Policy styles
 * ------------------------------------------------------------------
 */

.hero-policy .content h2 {
	color: var(--text-color-heading);
	font-size: clamp(1.5rem, 1.1121rem + 1.2931vw, 2.25rem);
	font-weight: 800;
}

.hero-policy .content h3 {
	color: var(--text-color-heading);
	font-size: clamp(1.375rem, 1.3103rem + 0.2155vw, 1.5rem);
	font-weight: 800;
}




/*
 * ------------------------------------------------------------------
 * Footer styles
 * ------------------------------------------------------------------
 */

footer {
	background-color: var(--color-dark);
	color: var(--text-color-light);
	font-size: .9rem;
	padding: 4rem 0;
}

@media screen and (max-width: 1023px) {
	footer {
		padding: 4rem 3rem;
	}
}

footer .media-left img {
	width: 120px;
}

.contact-info {
    margin-bottom: 2rem;
}

footer span a,
.contact-info > li,
.contact-info > li a {
	color: var(--text-color-accent);
}

footer span a:hover,
.contact-info > li a:hover {
	color: var(--text-color-light);
}

.copyright {
	color: var(--text-color-muted);
}