/**
Theme Name: Heimo Films
Author: Sitekick Oy
Author URI: https://sitekick.fi/
Description: Tämä on Heimo Filmsin verkkosivuston lapsiteema.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: heimo-films
Template: astra
*/

/* CSS VARIABLES */
:root {
	--fire-gradient: linear-gradient(90deg,rgba(251, 177, 76, 1) 0, rgba(236, 104, 63, 1) 100%);
	--white-gradient: linear-gradient(90deg,rgba(255, 255, 255, 1) 0, rgba(204, 204, 204, 1) 100%);
}

/* UTILITY & GENERAL STYLES */
body::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: opacity 150ms ease, visibility 150ms ease;
	z-index: 99;
	pointer-events: none;
}
.site {
	background-image: 
		linear-gradient(to right, #292324 1px, transparent 1px),
		linear-gradient(to bottom, #292324 1px, transparent 1px);
	background-size: 48px 48px;
}
body, h1, h2, h3, h4, p, a, span, div, ul, ol, li {
	font-family: 'Kelson Sans';
}
.elementor-widget-text-editor p:last-child,
.wp-block-paragraph:last-child {
	margin-bottom: 0;
}
.single-post #primary {
	margin: 0;
	padding: 0;
}
.single-post .ast-container,
.single-post #main > .post {
	padding: 0;
	background: none;
}
.single-post #content .ast-container {
	max-width: 100%;
}
.referenssit .elementor-widget-text-editor a,
.page .elementor-widget-text-editor a,
.page .box a,
.page .elementor-widget-button.post-card-link a.elementor-button,
.single .elementor-widget-button.post-card-link a.elementor-button,
.guides a,
.post-body a,
.address-details,
.package-comparison,
.services-grid a {
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}
.elementor-widget-button:not(.post-card-link) a.elementor-button,
.wp-block-button .wp-block-button__link,
.blog-tags .e-filter-item[aria-pressed="true"],
.post-grid .elementor-pagination .page-numbers.current,
#header .cta-mega p a,
#header .mobile-menu li:last-child a,
.booking-link,
.comparison-table tfoot a {
	background: var(--fire-gradient);
}
.elementor-widget-button:not(.post-card-link) a.elementor-button .elementor-button-text,
.wp-block-button .wp-block-button__link,
.blog-tags .e-filter-item[aria-pressed="true"],
.post-grid .elementor-pagination .page-numbers.current,
#header .cta-mega p a,
#header .mobile-menu li:last-child a,
.booking-link,
.comparison-table tfoot a {
	text-shadow: 0 1px 16px #EC683F;
}
.kicker,
.sales-card p.elementor-image-box-title,
.pricing-list .price,
.team-card-name,
.price-amount,
.heading-accent,
.responsibility-number,
#header .dropdown-title,
#header .primary-mega-links h3,
#header .cta-mega h3 {
	width: fit-content;
	background: var(--fire-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero h1 {
	background: var(--white-gradient);
	-webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.box .kicker {
	margin-bottom: 16px;
	font-size: 15px;
	font-weight: bold;
	text-transform: uppercase;
}
.box p {
	line-height: 1.6;
}
.box-vp {
	display: flex;
	align-items: center;
}
.box-vp .container-left {
	flex-basis: 70%;
}
.box-vp .container-right {
	flex-basis: 30%;
	text-align: center;
}
.box-vp .container-right img {
	max-width: 200px;
}
.box-vp h2 {
	font-size: 36px;
	margin-bottom: 18px;
}
.box-featured h3 {
	font-size: 30px;
	margin-bottom: 16px;
}
.box-vp p {
	max-width: 600px;
}
.box.box-featured p + a {
	display: inline-block;
	background: var(--fire-gradient);
	text-decoration: none;
	text-transform: uppercase;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
	text-shadow: 0 1px 16px #EC683F;
	padding: 12px 32px;
	border-radius: 8px;
	margin-top: 4px;
}
.text-highlight {
	color: #FFFFFF;
}
.sales-card.elementor-widget-image-box a,
.sales-card.elementor-widget-image-box span {
	display: block;
	font-size: 18px;
	line-height: 1.65;
	color: #CCCCCC;
	text-decoration: none;
}
.sales-card.elementor-widget-image-box span {
	color: #FFFFFF;
}

#content .sales-card.elementor-widget-image-box figure,
#content .sales-card.elementor-widget-image-box figure img  {
	width: 115px;
	height: 115px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: top center;
}

/* FAQ STYLES */
.faq .e-n-accordion {
	border-top: 1px solid #515151;
}
.faq summary h3.e-n-accordion-item-title-text {
	color: #DDDDDD;
	line-height: 1;
	margin-top: 5px;
}

/* TESTIMONIAL STYLES */
.testimonial {
	text-align: center;
}
p.testimonial-kicker {
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	margin-inline: auto;
	margin-bottom: 24px;
}
p.testimonial-quote {
	font-size: 36px;
	line-height: 1.4;
	color: #DDDDDD;
	max-width: 800px;
	margin-inline: auto;
	margin-bottom: 30px;
}
.testimonial-wide .testimonial-quote {
	max-width: 920px;
}
p.testimonial-person {
	font-size: 18px;	
	margin-bottom: 0;
}
.testimonial-icon {
	position: absolute;
}
.testimonial-icon.icon-top {
	top: -10px;
	right: 0;
}
.testimonial-icon.icon-bottom {
	left: 0;
	bottom: 30px;
	transform: scale(-1, -1);
}
.testimonial-highlight {
	color: #FB7B4C;
}

/* HOME PAGE STYLES */
.home .hero {
	height: 100vh;
	max-height: 1100px;
	min-height: unset;
}
.home #content .hero .elementor-background-video-container::before {
	background: linear-gradient(90deg,rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 1;
}
.client-logos .gallery {
	display: flex;
	align-items: center;
	gap: 20px;
}
.client-logos.client-logos-gallery .gallery {
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}
.client-logos.client-logos-gallery .gallery .gallery-item {
	flex-basis: calc(16.666% - 20px);
}
.client-logos .gallery img {
	max-height: 76px;
	width: auto;
	filter: grayscale(100%) brightness(180%) contrast(20%);
}
.client-logos .gallery img:is(:focus, :hover) {
	filter: grayscale(0) brightness(0) invert(1);
}
.client-logos .gallery-item:nth-child(3) img {
	margin-top: 8px;
}
.formats-list p {
	line-height: 1.4;
	margin-bottom: 36px;
}
.formats-list ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px 30px;
	padding: 0;
}
.formats-list ul li {
	background-color: #362D2E;
	border: 1px solid #383737;
	border-radius: 6px;
	padding: 12px 28px 8px;
	font-size: 20px;
	color: #FFFFFF;
}
.home-services .box:not(.box-featured) .kicker {
	font-size: 15px;
}
.home-services .box:not(.box-featured) h3 {
	font-size: 25px;
	margin-bottom: 16px;
}
.home-services .box:not(.box-featured) p,
.home-services .box:not(.box-featured) p + a {
	font-size: 18px;
}

/* SERVICES PAGE STYLES */
.services-grid .box-content {
	margin-bottom: 24px;
}
.services-grid a {
	display: block;
	margin-top: auto;
}
.services-grid .elementor-icon-box-wrapper,
.services-grid .elementor-icon-box-wrapper p {
	height: 100%;
}
.services-grid .elementor-icon-box-content,
.services-grid .elementor-icon-box-wrapper p {
	display: flex;
	flex-direction: column;
}

/* PRICING PAGE STYLES */
ul.pricing-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pricing-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #2A2324;
	border: 1px solid #3A3A3A;
	border-radius: 20px;
	margin-bottom: 20px;
	padding: 34px 36px 26px;
	line-height: 1;
	color: white;
	font-size: 22px;
}
.pricing-list li:last-child {
	margin-bottom: 0;
}
.pricing-list a.service-link {
	color: #FFFFFF;
	text-decoration: none;
}
.pricing-list .service-link:is(:hover, :focus) {
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 1px;
}
.pricing-list .price {
	font-weight: bold;
	margin-top: -2px;
}
.pricing-list .service-featured {
	border-width: 2px;
	border-color: #EC683F;
	justify-content: start;
	gap: 24px;
}
.pricing-list .service-featured .icon {
	width: 24px;
	height: auto;
	margin-top: -6px;
}
.pricing-list .service-featured .tag {
	background: var(--fire-gradient);
	font-size: 14.5px;
	font-weight: bold;
	letter-spacing: .25px;
	text-transform: uppercase;
	padding: 12px 18px 11px;
	margin-top: -5px;
	margin-left: 10px;
	border-radius: 3px;
}
.pricing-list .service-featured .price {
	margin-left: auto;
}

/* PACKAGES STYLES */
.packages {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}
.package {
	position: relative;
	background-color: #2A2324;
	border: 2px solid #3F3F3F;
	border-radius: 20px;
	padding: 48px 36px 36px;
	display: flex;
	flex-direction: column;
}
.package.package-featured {
	border-width: 3px;
	border-color: #EC683F;
}
.package-featured .package-badge {
	position: absolute;
	top: -18px;
	left: 24px;
	background: var(--fire-gradient);
	color: #FFFFFF;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	padding: 10px 18px;
	border-radius: 4px;
}
.package-title {
	font-size: 28px;
	margin-bottom: 14px;
}
.package-desc,
.package .text-highlight {
	font-size: 17px;
	line-height: 1.45;
}
.package .package-desc {
	margin-bottom: 24px;
	max-width: 320px;
}
.package .text-highlight {
	margin-bottom: 16px;
}
.package ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.package .package-tags {
	margin-bottom: 32px;
	display: flex;
	gap: 12px;
}
.package-tags li {
	background-color: #362D2E;
	border: 1px solid #383737;
	border-radius: 6px;
	padding: 9px 12px 6px;
	font-size: 13px;
	line-height: 1;
	color: #FFFFFF;
}
ul.package-list {
	margin-bottom: 28px;
}
.package-list li {
	font-size: 15px;
	line-height: 1.55;
	margin-bottom: 12px;
	padding-left: 32px;
  position: relative;
}
.package-list li:last-child {
	margin-bottom: 0;
}
.package-list li::before {
	content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 15px;
  height: 15px;
  background-image: url('/wp-content/uploads/valintamerkki.svg');
  background-repeat: no-repeat;
  background-size: contain;
}
.package-price {
	margin-top: auto;
}
.package-price span {
	display: block;
	font-size: 15px;
	line-height: 1.4;
}
.package-price .price-amount {
	font-size: 50px;
	font-weight: bold;
}
.package a.package-button {
	display: block;
	text-align: center;
	background: var(--fire-gradient);
	color: #FFFFFF;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
	padding: 12px 12px;
	margin-top: 8px;
	border-radius: 8px;
}
.package-note h3, 
.package-note h4 {
	font-size: 24px;
	font-weight: 400;
}
.package-note strong {
	font-weight: 400;
	color: #FFFFFF;
}
.package-comparison summary {
	width: fit-content;
	margin-inline: auto;
	text-align: center;
	color: #FBB14C;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  list-style: none;
  cursor: pointer;
  transition: all 300ms;
}
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
	border: 0;
}
.comparison-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}
.comparison-wrapper {
	margin-top: 32px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #3a3a3a;
	min-width: 1100px;
}
.comparison-table {
	background-color: #2A2324;
  width: 100%;
  border-collapse: collapse;
	border: none;
	margin-bottom: 0;
}
.comparison-table thead:hover,
.comparison-wrapper .comparison-table tbody tr:hover {
	background-color: #1F1F1F;
}
.comparison-table th,
.comparison-table td {
  padding: 20px 12px 14px;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	line-height: 1.4;
	border-width: 0 0 1px 0;
	width: 17%;
}
.comparison-table .row-label,
.comparison-table th[scope="row"] {
	width: 32%;
  text-align: left;
	padding-left: 20px;
}
.comparison-table thead th {
	background-color: #1F1F1F;
	color: #EEE;
	padding-top: 20px;
	padding-bottom: 16px;
	font-weight: 700;
}
.comparison-table tbody tr:nth-child(odd),
.comparison-table tfoot
{
	background-color: #2A2A2A;
}
.comparison-table tbody tr:last-child td:last-child {
	text-align: left;
}
.comparison-wrapper .comparison-table tfoot td {
	padding-top: 30px;
	padding-bottom: 28px;
	border-bottom: 0;
} 
.comparison-wrapper .comparison-table tfoot a {
	padding: 14px 30px;
	color: #FFFFFF;
	border-radius: 8px;
	font-size: 17px;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
}
.icon-check::before { 
	content: "✓"; 
	color: var(--accent-orange, #f4a442); 
}
.icon-dash::before { 
	content: "–"; 
	color: #ccc; 
}

/* CAROUSEL STYLES */
.arrows-carousel .swiper {
	overflow: visible;
	-webkit-clip-path: polygon(0 -100%, 700% -100%, 700% 200%, 0% 200%);                   clip-path: polygon(0 -100%, 700% -100%, 700% 200%, 0% 200%);
}
#content .arrows-carousel .elementor-swiper-button-next,
#content .arrows-carousel .elementor-swiper-button-prev {
	position: absolute;
  top: unset;
  left: unset;
  right: unset;
  bottom: unset;
  margin-top: 16px;
  background: var(--fire-gradient);
  transform: none;
	padding: 6px;
	border-radius: 50%;
}
#content .arrows-carousel .elementor-swiper-button-next {
	margin-left: 50px;
}

/* POSTS PAGE STYLES */
.blog-tags .e-filter-item {
	min-width: 60px;
}
.post-grid .elementor-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.post-grid .elementor-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	aspect-ratio: 1 / 1;
	background-color: #2A2324;
	border: 1px solid #3A3A3A;
	border-radius: 8px;
	text-decoration: none;
}
.post-grid .elementor-pagination .page-numbers:not(.current):hover,
.post-grid .elementor-pagination .page-numbers:not(.current):focus {
	background-color: #31292A;
}
h2.wp-block-heading {
	font-size: 36px;
	font-weight: 600;
	margin-bottom: 32px !important;
}
h3.wp-block-heading {
	font-size: 28px;
	margin-bottom: 24px !important;
}
h4.wp-block-heading {
	font-size: 22px;
	margin-bottom: 22px !important;
}
.wp-block-paragraph {
	font-size: 21px;
	line-height: 1.6;
}
.wp-block-paragraph a {
	text-decoration-line: underline;
}
.wp-block-list {
	margin-left: 1.5rem;
}
.wp-block-list li {
	font-size: 20px;
	margin-bottom: 16px;
}
.wp-block-list li a {
	text-decoration-line: underline;
}
.wp-block-list li:last-child {
	margin-bottom: 0;
}
.wp-block-list li::marker {
	color: #FFFFFF;
}
.wp-block-paragraph strong,
.wp-block-list li strong {
	font-weight: 400;
	color: #FFFFFF;
}
.wp-block-image img {
	margin: 20px 0;
	border-radius: 8px;
}
.wp-block-image figcaption {
	font-size: 16px;
	line-height: 1.5;
	margin-top: -4px;
	margin-bottom: 28px;
}
.wp-block-embed {
	margin-bottom: 40px;
}
blockquote.wp-block-quote.is-layout-flow.wp-block-quote-is-layout-flow {
	border-left: 5px solid #EC683F;
	margin: 40px 16px;
	padding: 12px 32px
}
.wp-block-quote p {
	font-size: 20px;
	line-height: 1.6;
	color: #BBBBBB;
}
.wp-block-table {
	margin-bottom: 40px;
}
.wp-block-table table {
	margin-bottom: 0;
	min-width: 640px;
	overflow-x: auto;
}
.wp-block-table table th,
.wp-block-table table td {
	vertical-align: top;
	border-color: #3A3A3A;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	padding: 16px 16px 12px;
}
.wp-block-table thead {
	background-color: #1B1B1B;
	border-bottom: 0;
	color: #FFFFFF;
}
.wp-block-table tbody tr:nth-child(even) {
	background-color: #1B1B1B;
}

/* GUIDES PAGE STYLES */
.guides.elementor-widget-posts h2 a {
	text-decoration: none;
}
.guide-body ul:not(:last-child),
.guide-body ol:not(:last-child) {
	margin-bottom: 36px;
}
.guide-body ul li,
.guide-body ol li {
	margin-bottom: 16px;
}
.guide-body ul.short-list li,
.guide-body ol.short-list li{
	margin-bottom: 4px;
}
.guide-body ul li:last-child,
.guide-body ol li:last-child {
	margin-bottom: 0;
}
.guide-body p strong,
.guide-body ul li strong,
.guide-body ol li strong {
	font-weight: 400;
	color: #FFFFFF;
}
.guide-body ul li::marker,
.guide-body ol li::marker {
	color: #FFFFFF;
}

/* WEBINAR PAGE STYLES */
.webinar-body p strong {
	font-weight: 400;
	color: #FFFFFF;
}
.webinar-body ol li {
	font-size: 19px;
	margin-bottom: 4px;
}
.webinar-body ol li:last-child {
	margin-bottom: 0;
}

/* SERVICE PAGE STYLES */
.service-includes p strong { 
	color: #FFFFFF;
	font-weight: 400;
}
.service-includes.service-prices p {
	margin-bottom: 0;
}
.service-includes.service-prices p:last-of-type {
	font-size: 17px;
	margin-top: 24px;
	margin-bottom: 12px;
}
.service-includes.service-prices ul {
	margin-bottom: 28px;
}
.service-includes.service-prices ul li {
	margin-bottom: 4px;
}
.service-includes.service-prices ul li::marker {
	color: #FFF;
}
.service-includes.service-prices ul li:last-child {
	margin-bottom: 0;
}
p.project-price {
	margin-bottom: 0;
}
.project-price .price-big {
	font-size: 48px;
	line-height: 1;
	color: #FFFFFF;
}
.ads-price .channel {
	display: block;
}
.ads-price .channel.one-channel {
	margin-bottom: 12px;
}
.ads-price .channel.extra-channel {
	font-size: 16px;
	font-style: italic;
	margin-top: 6px;
}

/* ABOUT US PAGE STYLES */
.values.e-grid .box.elementor-widget-html {
	padding-right: 48px;
}
.values .kicker {
	margin-bottom: 12px;
}
.values p {
	font-size: 19px;
	margin: 0;
}
.story strong {
	font-weight: 400;
	color: #FFFFFF;
}

/* CONTACT PAGE STYLES */
.address-details {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: 32px;
}
.address-details strong {
	display: block;
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 400;
	margin-bottom: 6px;
}
.page .address-details a {
	display: block;
	text-decoration-thickness: 1px;
}
.address-details .general-info a {
	color: #BBBBBB;
	text-decoration: none;
}
.address-details .address-info p {
	margin-bottom: 0;
}
.address-details .address-info a {
	margin-top: 4px;
	margin-bottom: 36px;
}
.address-details .address-info a + p {
	font-size: 18px;
	line-height: 1.6
}
.address-details details summary {
	color: #FBB14C;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	list-style: none;
	cursor: pointer;
	transition: all 300ms;
}
.address-details details summary:hover,
.address-details details summary:focus {
	color: #F0991F;
}
.address-details details ul {
	list-style: none;
	margin: 0;
	font-size: 18px;
	padding-top: 16px;
	padding-left: 0;
}

/* RESPONSIBILITY PAGE STYLES */
.responsibility {
	max-width: 820px;
}
.responsibility-number {
	width: 140px;
	font-weight: bold;
}
.responsibility-row:nth-child(odd) .responsibility-number {
	margin-left: auto;
}
p.responsibility-kicker {
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.responsibility-title {
	font-size: 36px;
}
.responsibility-body {
	font-size: 22px;
	line-height: 1.6;
}
p.responsibility-metrics {
	color: #FFFFFF;
	font-size: 22px;
	line-height: 1.45;
	padding: 3px 28px;
	border-left: 4px solid #EC683F;
	margin-top: 40px;
	margin-bottom: 0;
}
.responsibility-col {
	width: fit-content;
}

/* WORK WITH US PAGE STYLES */
.workplace p strong,
.work p strong,
.employee-promise p strong {
	font-weight: 400;
	color: #FFFFFF;
}
.employee-benefits h3 {
	font-size: 24px;
	margin-top: 40px;
	margin-bottom: 20px;
}
.employee-benefits h3:first-of-type {
	margin-top: 8px;
}
.employee-videos .elementor-wrapper {
	aspect-ratio: 9 / 16;
}
.work-posts .e-loop-nothing-found-message__text {
	max-width: 850px;
	margin-inline: auto;
}

/* FORM STYLES */
.form .gform_fields {
	row-gap: 20px;
}
.form .gfield > label {
	font-size: 14px;
	color: #BBBBBB;
	letter-spacing: .15px;
	margin-bottom: 5px;
}
.form .gfield input,
.form .gfield select,
.form .gfield textarea {
	background-color: #2A2324;
	border-width: 1.5px;
	border-color: #4C4C4C;
	border-radius: 6px;
	font-size: 16px;
	color: #EEEEEE;
	padding-left: 16px;
	padding-right: 16px;	
}
.form .gfield input,
.form .gfield select {
	--gf-local-height: 52px;
}
.form .gfield input {
	padding-top: 3px;
}
.form .gfield select {
	line-height: 54px;
}
.form .gfield textarea {
	padding-top: 16px;
	padding-bottom: 16px;
	line-height: 1.6;
}
.form .gform_button {
	--gf-local-font-size: 17px !important;
	--gf-ctrl-btn-font-weight: bold;
	--gf-local-text-transform: uppercase !important;
	--gf-ctrl-btn-padding-y: 18px;
	--gf-ctrl-btn-padding-x: 36px;
	--gf-ctrl-btn-radius: 8px;
	background: var(--fire-gradient);
	text-shadow: 0 1px 16px #EC683F;
}
.form .gform-field-label__text:where(:has(+ .gfield_required)) {
	padding-inline-end: 4px;
}
.form .gfield input::placeholder,
.form .gfield textarea::placeholder,
select option.gf_placeholder {
	font-size: 16px;
	color: #666666;
}
.form .gform_fields .gfield input:focus,
.form .gform_fields .gfield select:focus,
.form .gform_fields .gfield textarea:focus {
	border-color: #FBB14C !important;
	--gf-local-outline-width: 0px;
}
.form .gfield input:valid:not(:placeholder-shown),
.form .gfield select:valid,
.form .gfield textarea:valid:not(:placeholder-shown) {
  border-color: #387944;
}
.form .gfield select:invalid {
	color: #666666;
}
.form .gfield select:valid {
	color: #EEEEEE;
}

/* POST CARD & SINGLE POST STYLES */
.post-card-title.elementor-widget-heading h3 a {
	text-decoration: none;
}
.post-card-excerpt p {
	margin-bottom: 20px;
}

/* FOOTER STYLES */
.contact-info ul {
	list-style: none;
	margin: 0;
}
.contact-info ul li {
	margin-bottom: 6px;
}
.contact-info ul li:last-child {
	margin-bottom: 0;
}
.contact-info ul li:first-child {
	color: #FFFFFF;
}
.secondary-links ul {
	list-style: none;
	display: flex;
	gap: 20px;
	margin: 0;
}
.secondary-links a {
	cursor: pointer;
}
.footer-list h3 {
	font-size: 22px;
	margin-bottom: 20px;
}
.footer-list ul {
	list-style: none;
	margin: 0;
}
.footer-list ul li {
	margin-bottom: 9px;
}
.footer-list ul li:last-child {
	margin-bottom: 0;
}
.social-icons a {
	background: var(--fire-gradient);
}

/* HEADER & NAVIGATION STYLES */
#header .e-n-menu-item .e-n-menu-title-text {
	cursor: pointer;
}
#header .e-n-menu-item:last-child {
	align-self: center;
	margin-left: auto;
	margin-top: -3px;
}
#header .e-n-menu-item:last-child #nav-btn  {
	background: var(--fire-gradient);
	padding: 12px 28px;
	border-radius: 6px;
}
#header .e-n-menu-item:last-child #nav-btn .e-n-menu-title-text {
	font-weight: bold;
	font-size: 18px;
	text-transform: uppercase;
	text-shadow: 0 1px 16px #EC683F;
	color: #FFFFFF;
}
#header .e-n-menu-dropdown-icon {
	margin-top: -4px;
}
#header .e-n-menu-dropdown-icon[aria-expanded=true] .e-n-menu-dropdown-icon-closed {
	display: flex;
	transform: rotate(180deg);
}
#header ul.e-n-menu-heading > li.e-n-menu-item .e-n-menu-content.e-active {
	left: auto;
	margin-left: 16px;
	min-width: 200px;
	width: fit-content;
	background-color: #241E1F;
	padding: 16px 24px 12px;
	border: 1px solid #3A3A3A;
	border-radius: 8px;
}
#header #palvelut-mega + .e-n-menu-content {
	width: 100%;
	max-width: 900px;
	margin-left: -300px;
	padding: 0;
	background-color: #3A3A3A;
}
#header #palvelut-mega + .e-n-menu-content > .e-con > .e-con-inner {
	padding: 0;
}

#header .e-n-menu-title:not(#palvelut-mega) + .e-n-menu-content > .e-con > .e-con-inner {
	padding-top: 5px;
	padding-bottom: 7px;
}
#header ul.e-n-menu-heading > li.e-n-menu-item .e-n-menu-content > .e-child {
	padding: 0;
	background: none;
}
#header .dropdown-menu li {
	margin-bottom: 14px;
}
#header .dropdown-menu li:last-child {
	margin-bottom: 0;
}
#header .dropdown-menu a {
	color: #BBBBBB;
}
#header .dropdown-title {
	display: block;
	color: white;
	font-size: 17px;
	line-height: auto;
	font-weight: bold;
	transition: all 250ms;
	margin-bottom: 2px;
}
#header .dropdown-subtext {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	margin: 0;
}
#header .dropdown-menu a:hover .dropdown-title,
#header .dropdown-menu a:focus .dropdown-title {
	text-decoration-line: underline;
	text-underline-offset: 4px;
}
#header .primary-mega-links ul,
#header .secondary-mega-links ul {
	list-style: none;
	margin: 0;
}
#header .primary-mega-links h3 {
	font-size: 19px;
	font-weight: bold;
	margin-bottom: 18px;
}
#header .primary-mega-links li {
	margin-bottom: 4px;
}
#header .primary-mega-links li:last-child {
	margin-bottom: 0;
}
#header .secondary-mega-links ul {
	display: flex;
	gap: 12px;
}
#header .secondary-mega-links ul li {
	line-height: 1;
}
#header .cta-mega p a {
	display: inline-block;
	padding: 9px 20px;
	margin-top: 32px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
	color: white;
}
#header .mobile-nav-cta {
		margin-left: auto;
	}
#header .mobile-menu ul {
	flex-direction: column;
}
#header .mobile-menu ul li:not(:last-child) {
	flex-direction: column;
	border-bottom: 1px solid #3A3A3A;
}
#header .mobile-menu li:first-child {
	border-top: 1px solid #3A3A3A;
}
#header .mobile-menu li:last-child {
	margin-left: 0;
	margin-top: 24px;
	margin-bottom: 24px;
}
#header .mobile-menu li:last-child a {
	border-radius: 8px;
	padding: 13px 20px;
	width: 220px;
	justify-content: center;
}
#header .mobile-menu li:last-child a span {
	color: #FFFFFF;
	text-transform: uppercase;
	font-weight: bold;
}
#header .mobile-menu ul li .e-n-menu-title {
	height: 60px;
	padding: 0;
	justify-content: space-between;
}
#header .mobile-menu ul li:not(:last-child) a {
	margin-top: 4px;
	padding-left: 24px;
}
#header .mobile-menu ul li button {
	display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 60px;
  border-left: 1px solid #3A3A3A;
  border-radius: 0;
}
#header .mobile-contact p {
		margin: 0;
	}
#header .mobile-toggle,
#header .mobile-toggle svg {
	height: 44px;
	width: 44px;
}
#header .mobile-menu li > .e-n-menu-content {
	position: static;
	width: 100%;
}
#header .mobile-sub-menu {
	width: 100%;
}
#header .mobile-menu ul.e-n-menu-heading > li.e-n-menu-item .e-n-menu-content {
	margin-left: 0;
	min-width: unset;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
}
#header .mobile-menu ul.e-n-menu-heading > li.e-n-menu-item .e-n-menu-content .e-con-inner {
	padding: 0 !important;
}
#header .mobile-sub-menu ul li:last-child {
	margin: 0;
}
#header .mobile-sub-menu ul li:last-child a {
	padding: 13px 20px 13px 24px;
	margin-top: 4px;
	width: auto;
	border-radius: 0;
	background: none;
	text-shadow: none;
	justify-content: start;
}

/* BREADCRUMBS STYLES */
.breadcrumbs {
	font-size: 18px;
}
.breadcrumbs p {
	margin-bottom: 0;
}
.breadcrumbs .rank-math-breadcrumb a {
	color: #DDDDDD;
	text-decoration: none;
}
.breadcrumbs .rank-math-breadcrumb a:hover,
.breadcrumbs .rank-math-breadcrumb a:focus {
	color: #FFFFFF;
}

/* TEAM MEMBER STYLE */
.henkilot.post-1098 .team-card ul li:last-child {
	display: none;
}

.team-card ul {
	color: #DDDDDD;
}
.team-grid .team-card ul li:first-child {
	color: #FFFFFF;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 5px;
}
.team-card ul li:nth-child(2),
.team-card ul li:nth-child(4) {
	margin-bottom: 16px;
}
.team-card ul li:nth-child(3) {
	margin-bottom: 3px;
}
.team-card a.booking-link {
	display: inline-block;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	margin-top: 12px;
	padding: 9px 21px;
	border-radius: 6px;
}

/* TABLET RESPONSIVE STYLES */
@media (min-width: 1025px) {
	.home #header {
		height: 106px;
		margin-bottom: -106px;
		z-index: 100;
	}
	body:has(.e-n-menu-content.e-active)::after {
    opacity: .7;
    visibility: visible;
	}
} 
@media (max-width: 1024px) {
	.home #header {
		height: 106px;
		margin-bottom: -106px;
		z-index: 100;
	}
	.home .hero {
		height: 100vh;
		max-height: 700px;
		min-height: unset;
	}
	.box-featured h3,
	.box h3 {
		font-size: 22px;
		margin-bottom: 16px;
	}
	.box-vp h2,
	.box-vp h3,
	.references .box-featured h3 {
		font-size: 24px;
	}
	.box .kicker {
		margin-bottom: 12px;
		font-size: 14px;
	}
	.box p {
		font-size: 17px;
	}
	.box.box-vp p:not(.kicker)  {
		font-size: 18px;
		line-height: 1.65;
	}
	.client-logos .gallery {
		justify-content: center;
		flex-wrap: wrap;
		max-width: 768px;
		width: 100%;
		margin-inline: auto;
		row-gap: 0px;
	}
	.client-logos.client-logos-gallery .gallery {
		max-width: none;
	}
	.client-logos.client-logos-gallery .gallery .gallery-item {
		flex-basis: calc(20% - 20px);
	}
	.formats-list ul {
		gap: 20px 24px;
	}
	.formats-list ul li {
		padding: 11px 26px 7px;
		font-size: 18px;
	}
	.address-details {
		gap: 36px;
		margin-top: 24px;
	}
	.address-details strong {
		font-size: 21px;
		font-weight: 400;
		margin-bottom: 6px;
	}
	.address-details .address-info p {
		margin-bottom: 0;
	}
	.address-details .address-info a {
		margin-top: 4px;
		margin-bottom: 36px;
	}
	.address-details .address-info a + p {
		font-size: 17px;
		line-height: 1.55;
	}
	.address-details details ul {
		font-size: 17px;
	}
	p.testimonial-kicker {
		font-size: 15px;
		margin-bottom: 20px;
	}
	p.testimonial-quote {
		font-size: 28px;
		line-height: 1.4;
		margin-bottom: 28px;
	}
	.testimonial-person {
		font-size: 17px;	
	}
	.testimonial-icon {
		display: none;
	}
	.packages {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.package .package-desc {
		max-width: 100%;
	}
	.faq summary h3.e-n-accordion-item-title-text {
		line-height: 1.3;
	}
	.responsibility-row:nth-child(odd) .responsibility-number {
		margin-left: 0;
	}
	p.responsibility-kicker {
		font-size: 15px;
	}
	.responsibility-title {
		font-size: 32px;
		}
	.responsibility-body {
			font-size: 20px;
			line-height: 1.55;
	}
	p.responsibility-metrics {
		font-size: 20px;
		line-height: 1.45;
		margin-top: 32px;
	}
	h2.wp-block-heading {
		font-size: 32px;
		margin-bottom: 28px !important;
	}
	h3.wp-block-heading {
		font-size: 24px;
		margin-bottom: 20px !important;
	}
	h4.wp-block-heading {
		font-size: 20px;
	}
	.wp-block-paragraph {
		font-size: 20px;
	}
	.wp-block-list li {
		font-size: 19px;
	}
	#header .e-n-menu-dropdown-icon {
		margin-top: 0;
	}
	.webinar-body ol li {
		font-size: 17px;
		margin-bottom: 3px;
	}
	.home-services .box:not(.box-featured) h3 {
		font-size: 22px;
	}
}

/* LARGER MOBILE RESPONSIVE STYLES */
@media (max-width: 768px) {
	.box p {
		font-size: 16px;
		line-height: 1.55;
	}
	.box.box-vp p:not(.kicker)  {
		font-size: 17px;
		line-height: 1.6;
	}
	.client-logos .gallery {
		max-width: 650px;
	}
	.client-logos.client-logos-gallery .gallery .gallery-item {
		flex-basis: calc(25% - 20px);
	}
	.formats-list ul {
		gap: 16px 16px;
	}
	.formats-list ul li {
		padding: 10px 20px 6px;
		font-size: 17px;
	}
	.secondary-links ul {
		flex-direction: column;
		gap: 6px;
	}
	.pricing-list li {
		margin-bottom: 16px;
		padding: 30px 28px 22px;
		border-radius: 16px;
		font-size: 17px;
	}
	.pricing-list .service-featured {
		border-width: 2px;
		border-color: #EC683F;
		justify-content: start;
		gap: 24px;
	}
	.pricing-list .service-featured .tag {
		font-size: 13px;
		padding: 12px 18px 11px;
	}
	.pricing-list .service-featured .price {
		margin-left: auto;
	}
	.sales-card.elementor-widget-image-box .elementor-image-box-wrapper figure.elementor-image-box-img {
		margin-bottom: 16px;
	}
	.sales-card.elementor-widget-image-box a {
		font-size: 18px;
	}
	.breadcrumbs {
		font-size: 15px;
	}
	p.testimonial-kicker {
		font-size: 14px;
		margin-bottom: 20px;
	}
	p.testimonial-quote {
		font-size: 20px;
		line-height: 1.4;
		margin-bottom: 24px;
	}
	p.testimonial-person {
		font-size: 16px;	
	}
	.package ul {
		flex-wrap: wrap;
	}
	p.responsibility-kicker {
		font-size: 14px;
	}
	.responsibility-title {
		font-size: 28px;
	}
	.responsibility-body {
		font-size: 18px;
		line-height: 1.55;
	}
	p.responsibility-metrics {
		font-size: 18px;
		line-height: 1.45;
		padding-left: 24px;
	}
	h2.wp-block-heading {
		font-size: 28px;
		margin-bottom: 28px !important;
	}
	h3.wp-block-heading {
		font-size: 20px;
		margin-bottom: 20px !important;
	}
	h4.wp-block-heading {
		font-size: 18px;
	}
	.wp-block-paragraph {
		font-size: 18px;
	}
	.wp-block-list li {
		font-size: 17px;
	}
	.post-cta-box.wp-block-group .wp-block-heading {
		font-size: 28px !important;
	}
	.post-cta-box.wp-block-group .wp-block-paragraph {
		font-size: 18px !important;
	}
	.post-grid .elementor-pagination .page-numbers {
		height: 46px;
	}
	.box-vp {
		flex-direction: column;
		align-items: start;
		column-gap: 0;
		row-gap: 30px;
	}
	.box-vp .container-left,
	.box-vp .container-right {
		flex-basis: 100%;
	}
	.box-vp .container-right img {
		max-width: 150px;
	}
	.home .hero {
		height: auto;
		max-height: unset;
		min-height: unset;
	}
	.home #header {
		height: auto;
		margin-bottom: 0;
		z-index: auto;
	}
	.webinar-body ol li {
		font-size: 16px;
		margin-bottom: 3px;
	}
	.home-services .box:not(.box-featured) h3 {
		font-size: 20px;
	}
	.home-services .box:not(.box-featured) p,
	.home-services .box:not(.box-featured) p + a {
		font-size: 16px;
	}
	#header .mobile-header .mobile-toggle,
	#header .mobile-header .mobile-toggle svg {
		height: 32px;
		width: 32px;
	}
}

/* SMALLER MOBILE RESPONSIVE STYLES */
@media (max-width: 450px) {
	.client-logos .gallery,
	.client-logos.client-logos-gallery .gallery {
		gap: 8px;
	}
	.client-logos .elementor-image-gallery .gallery figure.gallery-item {
		flex-basis: calc(33.33% - 8px);
	}
	.formats-list ul {
		gap: 16px 12px;
	}
	.formats-list ul li {
		padding: 8px 16px 4px;
		font-size: 15px;
	}
	.pricing-list .icon {
		display: none;
	}
	.team-grid.elementor-widget-loop-grid .elementor-grid {
		grid-template-columns: 1fr;
		row-gap: 36px;
	}
	#header .logo img {
		max-width: 125px;
	}
	#header .mobile-nav-cta a {
		padding: 13px 18px;		
		font-size: 15px;
	}
	#header .mobile-toggle,
	#header .mobile-toggle svg {
		height: 41px;
		width: 41px;
	}
	#header .menu {
		--n-menu-toggle-icon-size: 41px;
	}
}

/* CUSTOM RESPONSIVE STYLES */
@media (max-width: 600px) {
	.pricing-list .service-price.service-featured {
		margin-top: 12px;
		padding-top: 38px;
		padding-bottom: 28px;
	}
	.pricing-list .service-featured .tag {
		position: absolute;
		top: 2px;
		left: 16px;
		font-size: 12px;
		padding: 10px 14px 9px;
	}
	.team-grid .team-card ul li:first-child {
		font-size: 20px;
	}
	.team-grid .team-card ul {
		font-size: 17px;
	}
	.post-cta-box.wp-block-group {
		padding: 40px 36px !important;
		border-left-width: 3px !important;
	}
	.post-cta-box.wp-block-group .wp-block-heading {
		font-size: 24px !important;
	}
	.post-cta-box.wp-block-group .wp-block-paragraph {
		font-size: 17px !important;
	}
	.post-cta-box.wp-block-group .wp-block-buttons .wp-block-button__link {
		font-size: 16px !important;
		line-height: 1.4;
		padding: 18px 32px;
	}
	.team-card a.booking-link {
		font-size: 17px;
	}
}
@media (max-width: 370px) {
	#header .mobile-nav-cta {
		display: none;
	}
	#header .mobile-toggle {
		margin-left: auto;
	}
}
@media (max-width: 350px) {
	.pricing-list li {
		font-size: 16px;
		padding-left: 24px;
		padding-right: 24px;
	}
	.pricing-list li .price {
		font-size: 15px;
	}
	.post-cta-box.wp-block-group {
		padding: 36px 32px !important;
	}
	.post-cta-box.wp-block-group .wp-block-heading {
		font-size: 22px !important;
	}
	.post-cta-box.wp-block-group .wp-block-buttons .wp-block-button__link {
		font-size: 15px !important;
		padding: 18px 24px;
	}
}