/*

Theme Name: Pella Kommunikation
Version: 0.0.1
Description: Custom made for client.
Theme URI: https://#

Author: WP and coding: Abrovink 2025
Author URI: www.abrovink.se

Text Domain: pkab

*/


:root{
	
	--content-padding-vert: 24px;
	--content-padding-horiz: 24px;

	--bg-pink: #be0051;
	--bg-white: #fff;

}


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, font, ins, kbd, q, s, samp, small, strike, strong, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	position: relative;
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	height: 100%;
	
	scroll-behavior: smooth;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

body{
	height: 100%;
	background: #fff;
	font-family: sofia-pro-variable, sans-serif;
	font-display: swap;
	font-size: 18px;
	font-optical-sizing: auto;
	line-height: 1.5;
	font-weight: 500;
	color: #000;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block;
}

caption,
th,
td{
	font-size: .85em;
	line-height: 1.5;
	font-weight: 400;
	text-align: left;
}

fieldset {
	min-width: inherit;
}


/*------------------------------------------------------------------------*/

/*------------------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
	color: inherit;
	clear: both;
	margin: 0;
	padding: 0;
}
h1{
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	text-align: center;
}
h2{
	margin: 0 0 .5em 0;
	font-size: 28px;
	line-height: 1.25;
	font-weight: 900;
	color: var(--bg-pink);
	text-transform: uppercase;
}
h2.xl{
	font-size: 42px;
}
h3 {
	margin: 0 0 .5em 0;
	font-size: 1.2em;
	line-height: 1.25;
	font-weight: 500;
	color: var(--bg-pink);
}
h4 {
	margin: 0 0 1em 0;
	font-size: 16px;
	
}
h5 {
	margin: 0 0 1em 0;
	font-size: 20px;
	font-weight: 700;
}
h6 {
	text-transform: uppercase;
}

p, table, ul {
	margin-bottom: 1em;
	color: inherit;
	text-wrap: pretty;
}

strong, b{
	font-weight: 600;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

strong em,
em strong{
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: +.075em;
	font-weight: 700;
}

blockquote {
	position: relative;
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	quotes: none;
	margin: 0;
	padding: 0;
	font-size: 24px;
	color: inherit;
	font-style: normal;	
}
blockquote strong{
	font-style: italic;
}

address {
	font-style: normal;
	margin: 0 0 1.5em;
}
pre {
	background: #eee;
	font-family: monospace;
	font-size: .8rem;
	line-height: 1.6em;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
code,
kbd,
tt,
var {
	font-family: monospace;
	font-size: .8em;
}
abbr,
acronym {
	border-bottom: 1px dotted #64ab6f;
	cursor: help;
}
mark,
ins {
	background: #eee;
	text-decoration: none;
}
:focus {
	outline: none;
}
hr {
	display: block;
	width: 100%;
	float: none;
	clear: both;
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
ul,
ol {
	margin: 0 0 1.75em 1.25em;
	padding: 0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li{
	margin-bottom: .67em;
}
ul li::marker{
	color: inherit;
}
li > ul,
li > ol {
	margin-bottom: 0;
}
dt {
	font-weight: 700;
}
dd {
	margin: 0 1.5em 1.5em;
}
sup{
	font-size: 65%;
	line-height: 1;
	font-weight: 100;
	white-space: break-after;
}
sub{
	font-size: 65%;
	line-height: 1;
	font-weight: 100;
	white-space: break-after;
}

table {
	width: 100%;
	margin: 24px 0 48px 0;
	font-size: 14px;
	border-collapse: collapse;
}
tr {
	border-bottom: 1px solid #bababa;
}
th {
	padding: 5px;
	text-align: left;
	font-weight: 600;
}
td {
	padding: 5px;
}
th:first-child,
td:first-child {
	padding-left: 0;
}
th:last-child,
td:last-child {
	padding-right: 0;
}



a {
	color: inherit;
	text-decoration: underline;
	transition: all .25s;
}
a:hover,
a:active,
a:focus {
	outline: 0;
}

img,
svg{
	display: block;
	max-width: 100%; /* Adhere to container width. */
	height: auto !important; /* Make sure images are scaled correctly. */
}
a img,
a svg {
	border: 0;
}

.alignleft {
	float: left;
	margin-right: 1.5em;
}
.alignright {
	float: right;
	margin-left: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

video {
	display: inline-block;
	height: auto !important; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object,
canvas {
	max-width: 100%;
	margin-bottom: 0;
	border-radius: 8px;
}

p > embed,
p > iframe,
p > object{
	max-width: 100%;
	margin-bottom: 0;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption-text {
	margin: 1em 0;
	padding: 0;
	font-size: .825em;
	line-height: 1.1em;
	font-weight: 300;
}

/* Handle dynamic height of iframes etc */
.embed-container,
figure { 
	position: relative; 
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0 0 1.5em 0;
} 
figure iframe,
.embed-container iframe,
.embed-container object,
.embed-container embed,
.embed-container canvas { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.embed-container + p{
	margin-bottom: 0;
}





/* Extra RTE stylings */
p.introtext{
	font-size: 1.5em;
	line-height: 1.21;
	font-weight: 500;
}
p.introtext strong, p.introtext bold{
	font-weight: 500;
}
p.caption{
	position: relative;
	margin-top: -.25em;
	font-size: .825em;
}

a.button,
a.read-more{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 8px 12px 8px 12px;
	font-size: .875em;
	text-align: left;
	text-decoration: none;
	font-weight: 400;
	border-color: inherit;
	border-radius: 8px;
	cursor: pointer;
	transition: all .25s;
	background: var(--colour-falurod);
	color: #fff;
}
a.button::after,
a.read-more::after{
	margin-left: 12px;
	width: 16px;
	height: 16px;
	content: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23f4eee7' d='M9.707 13.707l5-5c0.391-0.39 0.391-1.024 0-1.414l-5-5c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l3.293 3.293h-9.586c-0.552 0-1 0.448-1 1s0.448 1 1 1h9.586l-3.293 3.293c-0.195 0.195-0.293 0.451-0.293 0.707s0.098 0.512 0.293 0.707c0.391 0.391 1.024 0.391 1.414 0z'%3E%3C/path%3E%3C/svg%3E%0A");
	transition: all .25s;
}
a.button:hover::after,
a.read-more:hover::after{
	margin-left: 20px;
}



p.va_bottom{
	margin-top: auto;
	margin-bottom: 0;
}
p.va_bottom .button{
	margin-bottom: 0;
}


.visually-hidden { 
	position: absolute !important;
	height: 1px; 
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.soft-hyphen::after{
	display: block;
	float: none;
	clear: both;
	content: "";
}
.faux-image{
	opacity: 0;
}

.spacer{
	margin-top: 44px;
}


.pad{
	padding: 0 var(--content-padding-horiz);
}
.container{
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}


#header{
	width: 100%;
	
	margin: 0;
	padding: 0;
	background: var(--bg-pink);
	color: #fff;
}
#header .container{
	width: 100%;
	min-height: 100vh;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}

/*
.scrolling #header{}
.nav-expanded #header,
.scrolling.nav-expanded #header{
	height: 100vh;
	background: rgba(244, 238, 231, 1);
}
*/

#logo{
	max-width: 100%;
}
#logo a{
	text-decoration: none;
}
#logo svg{
	max-width: 320px;
	margin: 0 auto 50px;
}





/*******************************************************************************************/
/* page sections */
/*******************************************************************************************/
.page-section{
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	background: url() no-repeat center center transparent;
}

/* backgrounds for sections, cells and whatnots */
.bg-transparent{ background-color: transparent; color: inherit; }
.bg-inherit{ background-color: inherit; }
.bg-image{ background: url() no-repeat center center transparent; }
.bg-white{ background-color: #fff; }
.bg-pink{ background-color: var(--bg-pink); color: #fff; }

.bg-pink h1, .bg-pink h2, .bg-pink h3{
	color: #fff;
}


/* new section type */
.decoration-element{
	/*
	position: relative;
	top: -25vh;
	*/
}






/* generic alignment and padding classes for content containers */
.va_top .content-wrap{ 
	align-self: flex-start;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.va_middle .content-wrap{ align-self: center; }
.va_bottom .content-wrap{ align-self: flex-end; }

.page-section.standard-content .container{
	flex-flow: row nowrap;
	padding: var(--content-padding-vert) 0;
}
.page-section.no-padding-top .container{
	padding-top: 0;
}
.page-section.no-padding-bottom .container{
	padding-bottom: 0;
}
	
.page-section.no-pad-top{
	padding-top: 0;
}
.page-section.no-pad-bottom{
	padding-bottom: 0;
}


/* adjust as needed */
.content-wrap{
	max-width: 780px;
	padding: var(--content-padding-vert) var(--content-padding-horiz);
}
.content-wrap.pad-nopad{ padding: 0; }
.content-wrap.pad-extra-vertical{ padding-top: 48px; padding-bottom: 48px; }
.content-wrap.pad-extra-horizontal{ padding-left: 48px; padding-right: 48px; }
.content-wrap.pad-extra-both{ padding: 48px 48px; }
.content-wrap.pad-only-vertical{ padding-left: 0; padding-right: 0; }
.content-wrap.pad-only-horizontal{ padding-top: 0; padding-bottom: 0; }
.content-wrap.pad-nopad :last-child{
	margin-bottom: 0;
}

.section-intro{
	display: block;
	width: 100%;
	margin: 0 auto 0 0;
	padding: 0 0 var(--content-padding-vert) 0;
}







/* page-section.standard-content */
.page-section.standard-content{
	
}
.page-section.standard-content .container{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
	
	min-height: calc(50vh - var(--content-padding-vert));
}
.standard-content .col{
	position: relative;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	width: 100%;
}
.standard-content .content-wrap{
	width: 100%;
	display: flex;
	flex-flow: column;
}
.standard-content .content-wrap.pad-nopad{ padding: 0; }

/* flip order on mobile */
.standard-content.rev-on-mobile .cell-1{ order: 2; }
.standard-content.rev-on-mobile .cell-2{ order: 1; }





#footer{
	position: relative;
	margin: 0;
	padding: var(--content-padding-vert) 0;
	font-size: 14px;
	color: #f18cae;
	background: var(--bg-pink);
	text-align: center;
}






@media only screen and ( max-width: 379px ) {
	/* wrap tooooo long words */
	h1, h2, h3{
		/* These are technically the same, but use both */
		overflow-wrap: break-word;
		word-wrap: break-word;
		-ms-word-break: break-all;
		/* This is the dangerous one in WebKit, as it breaks things wherever */
		word-break: break-all;
		/* Instead use this non-standard one: */
		word-break: break-word;
		/* Adds a hyphen where the word breaks, if supported (No Blink) */
		-ms-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	
}




@media screen and (max-width: 639.99px){
	
	.hide-m,
	.hide-on-small-screens{
		display: none;
	}
	
	
	.possible-hyphen{
		/* These are technically the same, but use both */
		overflow-wrap: break-word;
		word-wrap: break-word;
		-ms-word-break: break-all;
		/* This is the dangerous one in WebKit, as it breaks things wherever */
		word-break: break-all;
		/* Instead use this non-standard one: */
		word-break: break-word;
		/* Adds a hyphen where the word breaks, if supported (No Blink) */
		-ms-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	
	
}

@media screen and (min-width: 640px) {
	
	:root{
		--content-padding-vert: 40px;
		--content-padding-horiz: 40px;
	}
	
	
	
	
	

}



@media screen and (max-width: 767.99px){}

@media screen and (min-width: 768px){

	:root{
		--content-padding-horiz: 48px;
		--content-padding-vert: 48px;
	}
	
	body{
		font-size: 22px;
	}
	h1{
		font-size: 22px;
	}
	h2{
		font-size: 48px;
	}
	h2.xl{
		font-size: 64px;
	}
}


@media (max-width: 1023.99px) {
	.hide-s{
		display: none;
	}
}
@media (min-width: 1024px) {
	.hide-l{
		display: none;
	}
}


@media (min-width: 1280px) {
	:root{
		--content-padding-vert: 48px;
		--content-padding-horiz: 48px;
	}
	
	/* standard-content */
	.page-section.standard-content .container{
		flex-flow: row nowrap;
	}
	.standard-content .col.bg-transparent .content.pad-default,
	.standard-content .col.bg-default .content.pad-default,
	.standard-content .col.bg-inherit .content.pad-default{
		padding-top: 0;
	}
	
	/* flip cell order on desktop */
	.standard-content.rev-on-desktop .cell-1{ order: 2; }
	.standard-content.rev-on-desktop .cell-2{ order: 1; }

	
	/* need to reset centering */
	.standard-content .col .content{
		margin: 0 auto 0 0;
		padding: 0 2.5em 0 0;
	}

	.standard-content .cell-1, 
	.standard-content .cell-2{ 
		width: 50%;
	}
	.standard-content.cols_33-66 .cell-1,
	.standard-content.cols_66-33 .cell-2{ 
		width: 33.3333%;
	}
	.standard-content.cols_33-66 .cell-2,
	.standard-content.cols_66-33 .cell-1{ 
		width: 66.6666%;
	}
	.standard-content.cols_66_centered .cell-1, 
	.standard-content.cols_66_centered .cell-2{ 
		width: 66.6666%; 
		margin-left: auto; 
		margin-right: auto;
	}
	.standard-content.cols_66_centered .content{
		max-width: 800px;
		margin-left: auto; 
		margin-right: auto;
	}
	.standard-content.cols_100 .cell-1{
		width: 100%;
		margin-left: auto; 
		margin-right: auto;
	}
	.standard-content.cols_100 .content{
		width: auto;
		max-width: 1024px;
		margin-left: auto;
		margin-right: auto;
	}
	.standard-content .col{
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.va_top .content{ 
		align-self: flex-start;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	.va_middle .content{ align-self: center; }
	.va_bottom .content{ align-self: flex-end; }
	
	/* reset order from mobile */
	.standard-content.rev-on-mobile .cell-1,
	.standard-content.rev-on-mobile .cell-2{ order: unset; }

	/* background image bleed left/right */
	.standard-content.image-bleed-left .cell-1::before,
	.standard-content.image-bleed-right .cell-2::before{
		position: absolute;
		top: 0;
		display: block;
		width: 50vw;
		height: 100%;
		content: "";
		background: inherit;
	}
	.standard-content.image-bleed-left .cell-1::before{ right: 0; }
	.standard-content.image-bleed-right .cell-2::before{ left: 0; }
	
	
}






/* illustration animations */
svg.ani_svg{
	position: relative;
	margin: var(--content-padding-vert) auto;
}
svg.ani_svg path {
	fill: none;
	stroke: #fff472;
	stroke-width: 2px;
}


#the_arrow{
	position: relative;
	top: 50px;
	width: 86px;
	margin: 0;
	padding-top: 72px;
}
#the_arrow path{
	stroke-dasharray: 354;
	stroke-dashoffset: 354;
}
#the_arrow.ani_svg.in-view path{
	animation: drawline 2.15s cubic-bezier(0.17, 0.042, 0.692, 0.933) forwards 4s;
}



#the_string{

}
#the_string path{
	stroke-dasharray: 695;
	stroke-dashoffset: 695;
}
#the_string.ani_svg.in-view path{
	animation: drawline 3.35s cubic-bezier(0.154, 0.007, 0.409, 0.998) forwards 1.2s;
}

#the_plane{
	width: 95%;
}
#the_plane path{
	stroke-dasharray: 1305;
	stroke-dashoffset: 1305;
}
#the_plane.ani_svg.in-view path{
	animation: drawline 3.5s cubic-bezier(0.2, .2, 0.92, 1.0) forwards 1.5s;
}

#the_book{
	width: 95%;
}
#the_book path{
	stroke-dasharray: 2089;
	stroke-dashoffset: 2089;
}
#the_book.ani_svg.in-view path{
	animation: drawline 4.25s cubic-bezier(0.25, 0.25, 0.995, 1.0) forwards 1s;
}

#the_talk{
	width: 71%;
}
#the_talk path{
	stroke-dasharray: 1582;
	stroke-dashoffset: 1582;
}
#the_talk.ani_svg.in-view path{
	animation: drawline 4.25s cubic-bezier(0.298, 0.287, 0.151, 0.579) forwards .75s;
}


#the_flower{
	width: 77%;
}
#the_flower path{
	stroke-dasharray: 1215;
	stroke-dashoffset: 1215;
}
#the_flower.ani_svg.in-view path{
	animation: drawline 3.5s cubic-bezier(0.187, 0.066, 0.683, 1.004) forwards 1s;
}


#the_coffee{
	width: 85%;
}
#the_coffee path{
	stroke-dasharray: 1115;
	stroke-dashoffset: 1115;
}
#the_coffee.ani_svg.in-view path{
	animation: drawline 4s cubic-bezier(0.134, 0.026, 0.525, 0.982) forwards 1s;
}





@keyframes drawline{
	to {
		stroke-dashoffset: 0;
	}
}
/* /illustration animations */




/* Logo animations */
#pella-kommunikation-logo{}
#pella-kommunikation-logo path.the_script{
	fill: url(#mygradient);
}
#mygradient stop.start-color {
	offset: 0;
	animation: ScriptStartFadeIn 1s ease-in forwards;
}
#mygradient stop.end-color {
	offset: 100%;
	animation: ScriptEndFadeIn .9s ease-in forwards;
}
@keyframes ScriptStartFadeIn {
	0% {
		stop-color: #be0051;
		offset: 0%;
	}
	50% {
		stop-color: #fff;
		offset: 50%;
	}
	100% {
		stop-color: #fff;
		offset: 100%;
	}
}
@keyframes ScriptEndFadeIn {
	0% {
		stop-color: #be0051;
		offset: 0%;
	}
	30% {
		stop-color: #be0051;
		offset: 40%;
	}
	100% {
		stop-color: #fff;
		offset: 100%;
		
	}
}
#pella-kommunikation-logo .letter{ opacity: 0; }
#pella-kommunikation-logo .letter-01k{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.50s; }
#pella-kommunikation-logo .letter-02o{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.55s; }
#pella-kommunikation-logo .letter-03m{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.60s; }
#pella-kommunikation-logo .letter-04m{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.65s; }
#pella-kommunikation-logo .letter-05u{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.70s; }
#pella-kommunikation-logo .letter-06n{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.75s; }
#pella-kommunikation-logo .letter-07i{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.80s; }
#pella-kommunikation-logo .letter-08k{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.85s; }
#pella-kommunikation-logo .letter-09a{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.90s; }
#pella-kommunikation-logo .letter-10t{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 0.95s; }
#pella-kommunikation-logo .letter-11i{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 1.00s; }
#pella-kommunikation-logo .letter-12o{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 1.05s; }
#pella-kommunikation-logo .letter-13n{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 1.10s; }
#pella-kommunikation-logo .letter-14a{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 1.15s; }
#pella-kommunikation-logo .letter-15b{ animation: fadeInLetter .5s ease-in forwards; animation-delay: 1.20s; }


@keyframes fadeInLetter {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


