/*
Theme Name: Total Child Theme
Theme URI: https://your-site.com
Description: Your site description. Go to Appearance > Editor to modify this file.
Author: Your Name
Author URI: https://your-site.com
Template: Total
Version: 1.0
*/

/*** General CSS ***/

:root {
	--yellow: #f8b314;
	--yellow-90: #f9bb2b;
	--pink: #E2236D;
	--pink-30: #F6BDD3;
	--green: #02AAAA;
	--green-70: #B3E5E5;
	--blue: #0684CB;
	--accent-08: #ECEDF0;
	
	--input-border-color: #B7BAC8;
	--input-border-radius: 8px;
	
	--block-margin-bottom: clamp(64px, 8vw, 128px);
	--block-padding-left-right: clamp(24px, 8vw, 98px);
	--block-paddings-top-bottom: clamp(24px, 8vw, 128px);
	--block-border-radius: clamp(16px, 3vw, 32px);
	--margin-between-elements: clamp(24px, 8vw, 40px);
	
	--card-paddings: clamp(24px, 3vw, 64px);
	--card-border-radius: clamp(16px, 3vw, 32px);
	
	--block-box-shadow: 0 30px 60px 0 rgba(0,0,0,0.15);
	
	--max-width-768px: 768px;
	
	--diap: #fff;
	
	--wpex-heading-font-family: "Nunito";
	--wpex-body-font-family: "Outfit";
}

/* Smartphones */
@media screen and (max-width: 767px) {
  :root {
    --block-margin-bottom: 64px;
	--block-padding-left-right: 16px;
	--block-paddings-top-bottom: clamp(24px, 8vw, 128px);
	--block-border-radius: clamp(16px, 3vw, 32px);
	--margin-between-elements: 24px;
  }
	
	.header.textmedia.vc_row.vc_row-flex>.vc_column_container>.vc_column-inner {
		padding-left: 0;
		padding-right: 0;
	}
	
	.textmedia.header .img-col .vcex-image {
		margin: 16px auto;
	}
}


/* Main menu */
.main-navigation-ul>.menu-item>a>.link-inner, .main-navigation-ul>.menu-ancestor>a>.link-inner {
	position: relative;
}

.main-navigation-ul>.menu-item>a>.link-inner::after, .main-navigation-ul>.menu-ancestor>a>.link-inner::after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 22px);
	height: 4px;
	background: transparent;
	transition: .15s all ease;
}

.main-navigation-ul>.current-menu-item>a>.link-inner::after, .main-navigation-ul>.current-menu-ancestor>a>.link-inner::after, .main-navigation-ul>.menu-item>a:hover>.link-inner::after, .main-navigation-ul>.menu-ancestor>a:hover>.link-inner::after {
	background: var(--yellow);
	bottom: 4px;
}


/* Paragraph styles */
h1, h2, h3, h4, h5, h6, .wpex-h1, .wpex-h2, .wpex-h3, .wpex-h4, .wpex-h5, .wpex-h6 {
	margin-top: 0;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 120%;
}

h1, .wpex-h1 {
	font-size: clamp(32px, 4vw, 48px) !important;
}

h2, .wpex-h2 {
	font-size: clamp(28px, 4vw, 40px) !important;
}

h3, .wpex-h3 {
	font-size: clamp(24px, 2vw, 32px) !important;
}

h4, .wpex-h4 {
	font-size: clamp(20px, 2vw, 24px) !important;
}

h5, .wpex-h5, .form-row.vc_row form>label {
	font-size: clamp(18px, 2vw, 20px) !important;
}

.diap h1, .diap h2, .diap h3, .diap h4, .diap h5, .diap h6, .diap p, .diap li, .diap ol {
	color: var(--diap);
}

.wpb_text_column a {
	color: var(--blue);
	text-decoration: underline;
}

/* Buttons */

.theme-button.white {
	color: var(--wpex-accent);
}

.theme-button.white:hover {
	background: var(--accent-08);
}

.theme-button.outline {
	font-weight: var(--wpex-btn-font-weight);
}

.theme-button.outline:hover {
	border: var(--wpex-outline-btn-border-width, 2px) solid currentColor !important;
    color: var(--wpex-accent);
	background: var(--accent-08);
}

.vcex-multi-buttons .theme-button.outline.white:hover {
	color: var(--diap);
	background: rgba(0, 0, 0, 0.25);
	border-color: var(--diap) !important;
}

.theme-button, .theme-txt-link, .specialty-card a, .theme-button.outline, input[type="submit"] {
	transition: .15s all ease;
}

/*.theme-button:hover, .theme-txt-link:hover, .form-row.vc_row input[type="submit"]:hover {
	transform: translateY(-2px);
} */

.button.yellow, .main-navigation .menu-button.yellow>a>.link-inner {
	background: var(--yellow);
	color: var(--wpex-accent);
}

.button.yellow:hover, .main-navigation .menu-button.yellow>a:hover>.link-inner, .form-row.vc_row input[type="submit"]:hover {
	background: var(--yellow-90);
	color: var(--wpex-link-color);
}

.theme-txt-link {
	position: relative;
	font-family: var(--wpex-btn-font-family);
	font-weight: var(--wpex-btn-font-weight);
}

.theme-txt-link:hover {
	text-decoration: none;
}

.theme-txt-link::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 2px;
	background: currentcolor;
}

.theme-txt-link:hover::after {
	background: var(--yellow);
}

input#gform_submit_button_1 {
	background: var(--yellow);
	border-radius: var(--wpex-btn-border-radius);
    color: var(--wpex-accent);
    font-family: var(--wpex-btn-font-family);
	font-size: var(--wpex-btn-font-size);
    font-weight: var(--wpex-btn-font-weight);
    padding: var(--wpex-btn-padding);
	width: 100%;
}

/* Max widths */

#main {
	margin-top: 64px;
}

.vc_row.block-margin-bottom {
	margin-bottom: var(--block-margin-bottom);
}

.width-768 {
	max-width: var(--max-width-768px);
	margin: 0 auto;
}


/* Footer */

#footer .widget-title {
	font-size: 32px;
	font-family: "Nunito";
	font-weight: 700;
}


/*** Blocks ***/

.header.vc_row {
	padding: 0 var(--block-padding-left-right);
	background-color: var(--pink-30);
	border-radius: var(--block-border-radius);
	margin-bottom: var(--block-paddings-top-bottom);
	margin-left: 0;
	margin-right: 0;
	position: relative;
}

.header.textmedia {
	margin-bottom: calc(var(--block-paddings-top-bottom) + 64px);
}

.header.vc_row.vc_row-flex::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url("/wp-content/uploads/2025/02/sshape.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: var(--block-border-radius);
}

.header.vc_row .text-col {
		padding: var(--block-paddings-top-bottom) var(--block-padding-left-right) var(--block-paddings-top-bottom) 0;
	}


.header.text-only .text-col {
	margin-left: 0;
}



.textmedia.header .img-col .vcex-image {
	border-radius: var(--block-border-radius);
	box-shadow: var(--block-box-shadow);
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.text-col>.vc_column-inner>.wpb_wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: var(--margin-between-elements);
	}
	
	.textmedia.header .img-col .vcex-image {
		margin: -64px auto;
	}
}

.textmedia .img-col .vc_column-inner {
	margin: 0;
	}

.specialties .wpb_text_column, .steps-row .wpb_text_column {
	margin-bottom: var(--margin-between-elements);
}

.specialties .wpex-row.gap-60, .steps-row .vcex-steps__items {
	--wpex-row-gap: clamp(16px, 4vw, 60px);
}

.steps-row .vcex-steps__items {
	gap: var(--wpex-row-gap);
}

.specialty-card a {
	padding: var(--card-paddings);
	border: solid 1px #DBDDE4;
	border-radius: var(--card-border-radius);
}

.specialty-card a:hover {
	border-color: var(--wpex-accent);
}

.specialty-card a:hover h3 {
	text-decoration: underline;
}

.specialty-card .vc_column-inner>.wpb_wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 32px;
	align-items: center;
}

.specialty-card .vcex-icon-wrap {
	background: var(--yellow);
}


.textmedia.has-background {
	background: var(--wpex-accent);
	margin-left: 0;
	margin-right: 0;
	border-radius: var(--block-border-radius);
	overflow: hidden;
}

.textmedia.has-background .img-col.vc_column_container>.vc_column-inner, .form-row .vc_column_container>.vc_column-inner {
	padding: 0;
}

.textmedia.has-background .text-col {
	position: relative;
}

.textmedia.has-background .text-col::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom center;
	border-radius: var(--block-border-radius);
}

.textmedia.has-background.media-left .text-col::after {
	background-image: url("/wp-content/uploads/2025/02/amp-shape-yellow.svg");
}

.textmedia.has-background.media-right .text-col::after {
	background-image: url("/wp-content/uploads/2025/02/amp-shape-blue.svg");
}

.textmedia.has-background .text-col {
	padding: var(--block-paddings-top-bottom) var(--block-padding-left-right) calc(var(--block-paddings-top-bottom) * 2);
}

.textmedia.no-background .text-col {
	padding: var(--block-paddings-top-bottom) var(--block-padding-left-right) var(--block-paddings-top-bottom);
}

.textmedia.no-background .img-col .vcex-image {
	border-radius: var(--block-border-radius);
	box-shadow: var(--block-box-shadow);
	overflow: hidden;
}

.text-columns {
	display: flex;
}

.text-columns .width-768 {
	margin: 0 auto;
}

.steps-row .vcex-steps-item__line {
	display: none;
}

@media only screen and (min-width: 768px) {
    .steps-row .wpex-md-grid-cols-5, .steps-row .wpex-md-grid-cols-4, .steps-row .wpex-md-grid-cols-6, .steps-row .wpex-md-grid-cols-7, .steps-row .wpex-md-grid-cols-8, .steps-row .wpex-md-grid-cols-9 {
        --wpex-grid-columns: 3;
    }
}

.steps-row .wpex-md-flex-row {
	justify-content: center;
}

.steps-row .vcex-steps-item {
	padding: var(--card-paddings);
	border-radius: var(--card-border-radius);
	background: var(--wpex-surface-2);
	width: 100%;
}

.steps-row span.vcex-steps-item__symbol {
	background: var(--yellow);
	color: var(--wpex-text-1);
	width: auto;
	height: auto;
	padding: 6px 12px;
}

.steps-row span.vcex-steps-item__symbol::before {
	content: "Stap ";
	display: block;
	position: relative;
	padding-right: 4px;
}

.steps-row .vcex-steps-item .wpex-mb-40 {
	margin: 0;
}

.steps-row .vcex-steps-item h3 {
	font-weight: 700;
}

.cta-row {
	padding: var(--block-paddings-top-bottom) var(--block-padding-left-right);
	position: relative;
	display: flex;
	background: var(--yellow);
	border-radius: var(--block-border-radius);
	margin-right: 0;
	margin-left: 0;
}

.cta-row .vc_column_container>.vc_column-inner {
	padding: 0;
}

.cta-row .vcex-multi-buttons {
	width: 100%;
}

.cta-row.vc_row::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url("/wp-content/uploads/2025/02/cta-shapes.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: var(--block-border-radius);
	z-index: 0;
}

.cta-row .text-col {
	z-index: 1;
}

.form-row.vc_row {
	background: var(--green-70);
	margin-left: 0;
	margin-right: 0;
	position: relative;
	border-radius: var(--block-border-radius);
	padding: var(--block-paddings-top-bottom) var(--block-padding-left-right);
	display: flex;
}


.form-row.vc_row::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url("/wp-content/uploads/2025/02/form-row-shapes.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: var(--block-border-radius);
	z-index: 0;
}

.form-row.vc_row .form-col {
	z-index: 1;
	background: var(--wpex-white);
	padding: var(--block-padding-left-right);
	border-radius: var(--block-border-radius);
}

.form-row.vc_row form li {
	margin-bottom: 40px !important;
}

.form-row.vc_row label, .form-row.vc_row legend.gfield_label.gform-field-label, .gfield_required.gfield_required_asterisk {
	color: var(--wpex-text-1);
	font-family: var(--wpex-heading-font-family);
	font-weight: 900;
	font-size: 20px;
}

.wpcf7-form.cf7skins input[type="text"], .wpcf7-form.cf7skins input[type="email"], .wpcf7-form.cf7skins input[type="tel"], .wpcf7-form.cf7skins input[type="url"], .wpcf7-form.cf7skins input[type="number"], .wpcf7-form.cf7skins input[type="range"], .wpcf7-form.cf7skins input[type=date], .wpcf7-form.cf7skins input[type=file], .form-row.vc_row form span.wpcf7-list-item-label, .form-row.vc_row .ginput_container input[type="text"], .form-row.vc_row .ginput_container input[type="email"], .form-row.vc_row .ginput_container input[type="number"], .form-row.vc_row .ginput_container textarea {
	border-color: var(--input-border-color);
	font-family: var(--wpex-body-font-family);
	font-weight: 400;
	font-size: 20px;
	border-radius: var(--input-border-radius);
	padding: 16px 24px;
	height: auto;
}

.wpcf7-form.cf7skins input[type="text"], .wpcf7-form.cf7skins input[type="email"], .wpcf7-form.cf7skins input[type="tel"], .wpcf7-form.cf7skins input[type="url"], .wpcf7-form.cf7skins input[type="number"], .wpcf7-form.cf7skins input[type="range"], .wpcf7-form.cf7skins input[type=date], .wpcf7-form.cf7skins input[type=file] {
		padding: 16px 24px;
}

.gfield--input-type-datepicker.gfield--datepicker-default-icon .ginput_container_date input {
	width: 100%;
}

.wpcf7-form.cf7skins li label .cf7s-reqd {
	color: var(--pink);
	font-style: normal;
}

.form-row.vc_row span.wpcf7-form-control.wpcf7-radio {
	display: inline-flex;
}


.form-row.vc_row span.wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
	padding: 16px 24px;
	border: solid 1px var(--input-border-color);
	border-radius: var(--input-border-radius);
}

.form-row.vc_row input[type="submit"] {
	background: var(--yellow);
	font-family: var(--wpex-btn-font-family);
	font-weight: var(--wpex-btn-font-weight);
	padding: var(--wpex-btn-padding);
}


/*** Footer ***/
#footer #footer-inner {
	padding: var(--block-paddings-top-bottom) 0;
}

#footer .footer-list li, #footer ul.menu li {
	list-style: none;
	position: relative;
	margin-bottom: 15px;
}

ul.footer-list li a, #footer ul.menu li {
	padding-left: 24px;
}

ul.footer-list li a .wpex-icon {
	position: absolute;
	left: 0;
}

ul.footer-list li a .wpex-icon svg {
	max-width: 16px;
}

#footer ul.menu li::before {
	position: absolute;
	content: "";
	background-image: url("/wp-content/uploads/2025/02/angel-right.svg");
	top: 6px;
	left: 0;
	width: 9px;
	height: 16px;
	background-size: cover;
}

#footer li a:hover {
	text-decoration: underline
}
