/*
Theme Name: FIRMA Theme
Theme URI: https://muskat.no
Version: 1.0
Description: The official Muskat Theme.
Author: Muskat
Author URI: https://muskat.no
template: bb-theme
*/

/* Add your custom styles here... */ 


html, p {
	font-size: 16px !important;
	line-height: 1.55 !important;
}

.fl-row-fixed-width {
		max-width: 90%;
	}	
@media only screen and (max-width: 992px) {
	.fl-row-fixed-width {
		max-width: 96%;
		/*padding-right: 20px;*/
		
	}	
}


body, p, h1, h2, h3, h4, h5, h6 {
	font-style: normal !important;
	letter-spacing: -0.01rem;
	font-weight: 400 !important;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.3 !important;
	/*letter-spacing: -1.6px;*/
}
h4, h5, h6, .productname h1, .productname p {
	text-transform: uppercase;
}


.fl-page-content h1 { 	font-size: clamp(2.125rem, 1.9583rem + 0.8889vw, 3.625rem) !important; }
.fl-page-content h2, .menufullnav a { 	font-size: clamp(1.75rem, 1.5972rem + 0.8148vw, 3.125rem) !important; }
.fl-page-content .post-list h2, 
.fl-page-content h3 { 	font-size: clamp(1.5rem, 1.4167rem + 0.4444vw, 2.25rem) !important; }
.fl-page-content .post-list h3, 
.fl-page-content h4, .pp-tab-title, .productname h1
					{	font-size: clamp(1.25rem, 1.2222rem + 0.1481vw, 1.5rem) !important;}
.fl-page-content h5 { 	font-size: clamp(1rem, 0.9722rem + 0.1481vw, 1.25rem) !important; }
.fl-page-content h6, .bildetekst p, .wp-element-caption { 	font-size: clamp(0.875rem, 0.8611rem + 0.0741vw, 1rem) !important; }


.special-heading h1, .special-heading h2 { 
	font-size: clamp(2.125rem, 1.0849rem + 4.7547vw, 10rem) !important;
	
}

.special-heading h1, .special-heading h2 {
	line-height: 1.14 !important;
}

@media only screen and (max-width: 992px) {
	.special-heading h1 div, .special-heading h2 div {
		text-align: left !important;
	}
}

.fl-page-content .post-list h3 { margin-bottom: 1rem; }


p, li, a.fl-button, .pp-content-grid-content.pp-post-content.content-type-excerpt, .event-item, .event-row-link, a.project-container, .social-links a, .faq-item { font-size: clamp(1rem, 0.9583rem + 0.2222vw, 1.375rem) !important; } /* 16-24 / 300-3000*/

.lead p, p.lead, .custom-quote .sitatholder blockquote, .custom-quote .sitatholder blockquote p { 
	font-size: clamp(1.25rem, 1.1786rem + 0.3571vw, 1.625rem) !important;
}

#menu-toppmeny li, #menu-toppmeny p { font-size: clamp(1rem, 0.9524rem + 0.2381vw, 1.25rem) !important;}

#socket p, #socket a { font-size: clamp(0.875rem, 0.8438rem + 0.125vw, 1rem) !important;}




/* Global Transitions */
.fl-module-callout .fl-callout, .fl-module-callout .fl-callout .fl-photo, a.fl-button, .fl-button-text
{
	transition: all 0.3s ease-in-out;
}


/* Video background */

.fl-bg-video[data-enable-audio="no"] .fl-bg-video-audio {
	display: none !important;
}

/* video size */
.wp-block-embed .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.wp-block-embed .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Global Resets */

.round-image img, .circle-image img {
	border-radius: 1000px !important;
}
.globalborderradius img {
	border-radius: var(--globalborderradius) !important;
}

@media only screen and (max-width: 768px) {
	.globalborderradius img {
		border-radius: var(--globalborderradius) !important;
	}	
}

.nocrop img, .logo img {
	border-radius: 0px !important;
}


.fl-page-content {
	overflow: hidden !important;
}

.fl-module-content {
	margin: 10px;
}
.fl-button-group .fl-button-group-buttons .fl-button-group-button{
	padding: 5px 10px 5px 0px !important;
} 
.fl-module-rich-text .fl-rich-text p {
	margin-top: 0px;
}
.lead {
	margin-bottom: 0px !important;
}
.fl-rich-text a {
	text-decoration: underline;
}

a:focus {
	outline: none !important;
	text-decoration: none !important;
}


::-moz-selection { /* Code for Firefox */
  color: white;
  background: var(--maincolorpure);
}

::selection {
  color: white;
  background: var(--maincolorpure);
}

/* Cookiebot reset */
div#CookieDeclarationChangeConsent a {
	text-decoration: underline;
}
div#CookieDeclarationUserStatusPanel {
	background: #f5f5f5;
	padding: 10%;
}

.nowrap {
    white-space: nowrap;
}


/* Global Transitions */
.fl-button-group-layout-vertical .fl-button-group-buttons a.fl-button, .fl-button-group-layout-horizontal .fl-button-group-buttons a.fl-button, .fl-module-callout .fl-callout, .fl-module-callout .fl-callout .fl-photo
{
	transition: all 0.3s ease-in-out;
}

/* Navigation */ 

/* Title row */
.pp-breadcrumbs i {
	margin-right: 10px;
}
.breadcrumb-separator-custom {
	margin-left: 3%;
}
/* Hide current item */
.pp-breadcrumbs .current-item {
	display: none !important;
}
.pp-breadcrumbs a {
	color: var(--black) !important;
}

.custom-breadcrumb .pp-breadcrumbs a {
	color: var(--white) !important;
}

/* Menu hamburger (default Beaver menu module) */

.fl-menu-mobile-toggle.hamburger .fl-hamburger-menu-top, .fl-menu-mobile-toggle.hamburger .fl-hamburger-menu-bottom {
	transition: all 0.4s ease-in-out;
}
.fl-menu-mobile-toggle.hamburger rect {
	height: 50px !important;
	color: var(--white);
	
}
.fl-menu-mobile-toggle.hamburger.fl-active .fl-hamburger-menu-middle {
	display: none !important;
}
.fl-menu-mobile-toggle.hamburger.fl-active .fl-hamburger-menu-top  {
	transform: rotate(45deg);
  
  /* doesn't work as intended in Firefox 
   * % values are taken relative to the SVG, not the element
   * which actually seems to be correct */
  transform-origin: 0% 25%;
}
.fl-menu-mobile-toggle.hamburger.fl-active .fl-hamburger-menu-bottom  {
	transform: rotate(-45deg);
  
  /* doesn't work as intended in Firefox 
   * % values are taken relative to the SVG, not the element
   * which actually seems to be correct */
  transform-origin: 0% 67%;
}



/* Hamburger */

.menuholder {
  	position: fixed;
	width: 0px;
	height: 0px;
	top: -140000px;
	left: 0px;
	opacity:  0;
  	color: #000;
	transition: opacity 0.3s ease-in-out, width 0.00001s ease-in-out 0.6s, height 0.00001s ease-in-out 0.6s;
	
	z-index: 999;
	
}
.fl-builder-template-template-default #fullmeny {
	opacity: 1 !important;
}
.menuholder.-open {
	transition: opacity 0.3s ease-in-out, width 0.00001s ease-in-out, height 0.00001s ease-in-out;

	opacity: 1;
	width: 100%;
  	height: auto;
	height: 100%;
	top: 0;
	bottom: 0;
		
	overflow-x: hidden;
	overflow-y: scroll;
}

.menuholder.-open .fl-row-content-wrap {
	background: var(--black) !important; /* Overlay background color */
	
}

@media only screen and (max-width: 992px) {
	.fl-row-content-wrap {
		margin-top: 0px !important;
	}
	.menuholder.-open {
		height: 100%;
		top: 0;
		bottom: 0;
		
		overflow-x: hidden;
		overflow-y: scroll;

	}
}

.hamburgerbutton {
  position: fixed;
  top: 45px !important;
  right: 3%;
  box-sizing: border-box;
  height: 36px;
  cursor: pointer;
  z-index: 9999;
	mix-blend-mode: difference;
}

@media only screen and (max-width: 768px) {
	.hamburgerbutton {
		top: 38px !important;
		right: 20px !important;
	}
}

.hamburgerbutton svg {
  stroke: var(--white); /* hamburger color */
  transition: .2s;
	
}
.hamburgerbutton svg g:first-child {
  opacity: 1;
  transition: opacity 0s .2s;
}
.hamburgerbutton svg g:first-child line {
  transition: transform .2s .2s;
  transform: translateY(0px);
}
.hamburgerbutton svg g:last-child {
  opacity: 0;
  transition: opacity 0s .2s;
}
.hamburgerbutton svg g:last-child line {
  transition: transform .2s;
  transform: rotate(0deg);
  transform-origin: center;
}
.hamburgerbutton.-menu-open svg {
  stroke: var(--white); /* close cross color */
}
.hamburgerbutton.-menu-open svg g:first-child {
  opacity: 0;
}
.hamburgerbutton.-menu-open svg g:first-child line {
  transition: transform .2s;
}
.hamburgerbutton.-menu-open svg g:first-child line:first-child {
  transform: translateY(7px);
}
.hamburgerbutton.-menu-open svg g:first-child line:last-child {
  transform: translateY(-7px);
}
.hamburgerbutton.-menu-open svg g:last-child {
  opacity: 1;
}
.hamburgerbutton.-menu-open svg g:last-child line {
  transition: transform .2s .2s;
}
.hamburgerbutton.-menu-open svg g:last-child line:first-child {
  transform: rotate(45deg);
}
.hamburgerbutton.-menu-open svg g:last-child line:last-child {
  transform: rotate(-45deg);
}

/* ------------------------- */
/* MODULES */
/* ------------------------- */


/* Button */
a.fl-button, a.fl-button:visited {
	background: var(--maincolor) !important;  
	border-radius: var(--globalborderradius) !important;
	padding: 20px 35px !important;
	border: 2px solid var(--maincolor) !important;
}

@media only screen and (max-width: 768px) {
	a.fl-button, a.fl-button:visited {
		padding: 12px 15px !important;
	}
}
a.fl-button .fl-button-text, a.fl-button .fl-button-icon {
	color: var(--white) !important;
}
a.fl-button .fl-button-text {
	text-decoration: none;
}
a.fl-button .fl-button-icon {
	font-size: 90%;
}

/* Button hover */
a.fl-button:hover .fl-button-text, a.fl-button:hover .fl-button-icon, .darkbg a.fl-button:hover .fl-button-text, .darkbg a.fl-button:hover .fl-button-icon  {
	color: var(--white) !important;
}
a.fl-button:hover {
	background: var(--maincolorpure) !important;
	border-color: var(--maincolorpure) !important;
}

.darkbg a.fl-button .fl-button-text, .darkbg a.fl-button .fl-button-icon  {
	color: var(--maincolor) !important;
}

.btn a.fl-button, .btn a.fl-button:visited {
	background: var(--maincolor) !important;
	border-radius: 100px !important;
	padding: 20px 30px !important;
}
.btn a.fl-button .fl-button-text {
	color: var(--white) !important;
	text-decoration: none;
}
.btn a.fl-button:hover {
	background: var(--maincolorpure) !important;
	
}
.btn {
	padding: 0px;
}

.btn-link a.fl-button {
	background: none !important;
	padding: 0px 0px 5px 0px !important;
	border-radius: 0px !important;
	border: none !important;
	transition: all 0.3s ease-in-out;

}
.btn-link a.fl-button span {
	border-bottom: 2px solid var(--black) !important;
	transition: all 0.3s ease-in-out;
}
.btn-link a.fl-button .fl-button-text, .btn-link a.fl-button .fl-button-icon {
	color: var(--black) !important;
}
.btn-link a.fl-button:hover span{
	border-bottom-color: var(--maincolor);
	
}

/* Callout */

.fl-module-callout h4 {
	text-transform: none;
}
.fl-module-callout .fl-module-content {
	margin-top: 10px !important;
	margin-bottom: 0px !important;
}

.fl-module-callout .fl-callout-title a{
	display: flex;
	justify-content: space-between;
}
.fl-module-callout .fl-callout-title {
	width: 100% !important;
}
.fl-module-callout .fl-module-content {
	border: none !important;
}
.fl-module-callout .fl-callout {
	border-bottom: 2px solid var(--white) !important;
	margin-top: 10px;
}
.fl-module-callout .fl-callout:hover {
	border-bottom-color: var(--contrastcolor) !important;
}
.fl-module-callout .fl-callout:hover .fl-photo {
	padding-right: 10px;
}
.fl-module-callout .fl-callout a {
	transition: all 0.3s ease-in-out;
}
.fl-module-callout .fl-callout:hover a {
	color: var(--pink);
	text-decoration: none !important;
}
.fl-module-callout .fl-callout-content {
	width: 100% !important;
}

/* Tabs menu navigation fullpage */

/* Tabs setup */
.menutabs .pp-tabs-vertical.pp-tabs-default .pp-tabs-label.pp-tab-active {
	border: none !important;
}
.menutabs .pp-tabs-default .pp-tabs-panels {
	border: none !important;
	border-left: 2px solid var(--contrastcolor) !important;
}
.menutabs .pp-tabs-panels .pp-tabs-panel-content {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

@media only screen and (max-width: 768px) {
	.menutabs .pp-tabs .pp-tabs-label {
		border-bottom: none;
	}
	.menutabs .pp-tabs-panels {
		padding-left:20px;
		margin-left: 20px;
	}
}

.menufullnav li a {
	padding-left: 0px !important;
}


/* Space around rows in tabs */
.menutabs .pp-tabs-panel-content .fl-row-fixed-width {
	width: 100% !important;
	max-width: 100% !important;
}
.menutabs .pp-tabs-panel-content  .fl-row-content-wrap {
	padding: 0px !important;
}

.menutabs .pp-tabs-panel-label .pp-toggle-icon {
	opacity: 1;
}
.menutabs .pp-tabs-vertical .pp-tabs-label {
	padding: 20px 20px;
}

/* ChatGPT endring av Powerpack Content Grid Carousel */

.pp-content-grid-empty {
	display: none;
}

/* Project carousel arrow navigation */
.custom-carousel .owl-nav.pp-carousel-nav {
	position: relative;
	display: flex;
  	justify-content: center;
	margin-top: 2%;
	transform: translateX(-11.5%);

	
}

@media only screen and (max-width: 992px) {
	.custom-carousel .owl-nav.pp-carousel-nav {
		margin-right: 0%;
		
		transform: translateX(-17.6%);
	}
	.custom-carousel .fl-module-content {
		margin-left: 20px !important;
	}

}
@media only screen and (max-width: 768px) {
	.custom-carousel .owl-nav.pp-carousel-nav {
		transform: translateX(-20.2%);
	}
	
}

.custom-carousel .pp-content-post-carousel .owl-nav button {
	position: relative;
	top: auto;
}
.custom-carousel .owl-nav button.owl-prev {
	margin-left: 0px;
}
.custom-carousel .owl-nav button.owl-next {
	right: auto;
}
.custom-carousel .owl-item .pp-content-post {
	margin-right: 5% !important;
}

.custom-carousel .pp-content-post-carousel .owl-nav button:hover {
	color: var(--maincolor) !important;
}

/* Image effect on content grid images */

.image-grid-effect .pp-content-post .pp-content-grid-image.pp-post-image {
    overflow: hidden; /* Sørger for at bildet holder seg innenfor rammen */
}

.image-grid-effect .pp-content-post .pp-content-grid-image.pp-post-image img {
    transition: transform 1s ease-out;
}

.image-grid-effect .pp-content-post:hover .pp-content-grid-image.pp-post-image img{
    transform: scale(1.05); /* Zoomer inn bildet ved hover */
}




/* Blog posts */
.fl-post-grid-post {
	border: none;
	background: transparent;
}
.fl-post-title {
	margin-top: 20px;
}

.fl-builder-pagination li span.current {
	background-color: var(--contrastcolor);
}
.fl-builder-pagination li a.page-numbers:hover {
	background-color: var(--maincolorpure);
}
.fl-builder-pagination li a.page-numbers, .fl-builder-pagination li span.page-numbers {
	border: none;
}

/* post grid module spacing percentage */

.fl-post-grid .fl-post-column {
	padding: 2%;
}
.fl-post-grid {
	margin: 0px -2% !important;
}


/* Gutenberg */

/* Columns in Gutenberg*/
.wp-block-columns.is-layout-flex {
	gap: 4rem;
}
@media only screen and (max-width: 768px) {
	.wp-block-columns.is-layout-flex {
		gap: 0px;;
	}
	.wp-block-columns .wp-block-column figure.wp-block-image {
		margin-bottom: 0px;
	}


}

.fl-module-content .wp-block-image.alignfull figcaption {
	margin-left: 10px;
	margin-right: 10px;
	text-align: left !important;
}


@media only screen and (min-width: 993px) {
	.wp-block-columns.is-layout-flex {
		margin-left: -5vw;
		margin-right: -5vw;
		/*align-items: center !important;
		justify-content: center;*/
	}
	.fl-module-content .wp-block-image.alignwide {
		margin-left: -5vw;
		margin-right: -5vw;
	}
	.fl-module-content .wp-block-image.alignwide img {
		border-radius: var(--globalborderradius) !important;
	}
	
	.fl-module-content .wp-block-image.alignfull figcaption {
		/*margin-left: 10vw;
		margin-right: 10vw;
		text-align: center !important;*/
	}
	
}
.wp-block-image figcaption {
	text-align: left;
}
.fl-module-content .wp-block-image.alignfull figcaption {
	margin-left: 20px;
}


/* Images in Gutenberg */
.fl-module-content .alignfull {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}


.fl-rich-text .wp-block-image img, img.fl-photo-img {
	border-radius: var(--globalborderradius);
}
@media only screen and (max-width: 992px) {
	.wp-block-image.alignwide.size-large img {
		border-radius: var(--globalborderradius);
	}

}


.fl-rich-text .wp-block-image.alignfull.size-large img {
	border-radius: 0px;
}



.fl-module-content figure.wp-block-image {
	margin-top: 5rem;
	margin-bottom: 5rem;
}
@media only screen and (max-width: 1024px) {
	.fl-module-content figure.wp-block-image {
		margin-top: 3.5rem;
		margin-bottom: 3.5rem;
	}
}
@media only screen and (max-width: 768px) {
	.fl-module-content figure.wp-block-image {
		margin-top: 2.5rem;
		margin-bottom: 2.5rem;
	}
}
/* Heading in Gutenberg */
.fl-module-content .wp-block-heading {
	margin-top: 4rem;
	margin-bottom: 1rem;
}
/* Gallery Caption */
.wp-block-gallery figcaption, .wp-block-gallery .wp-block-image img {
	display: contents;
}
.wp-block-gallery .wp-block-image img {
	margin-bottom: 10px !important;
}
.pp-photo-gallery-content img {
	border-radius: var(--globalborderradius) !important;
}

.wp-element-caption {
	color: var(--black);
}

/* Products */

.product_title {
	text-align: center;
}

/* Skjema */
.gform_wrapper.gravity-theme .gfield input.large, .gform_wrapper.gravity-theme .gfield select.large {
	color: var(--black) !important;
	
}

/* Maler */
/* Felles */

.bildetekstpilover, .wp-element-caption {
    position: relative;
    padding-left: 20px; /* Gir plass til pilen */
}

.bildetekstpilover::before, .wp-element-caption::before {
    content: "\f062"; /* Unicode for Font Awesome pil opp */
    font-family: 'Font Awesome 6 Pro'; /* Font Family for Font Awesome */
    font-weight: 400; /* Font weight for Font Awesome ikon */
    position: absolute;
    top: 0;
    left: 0;
    font-size: 16px; /* Størrelse på pilen */
    color: var(--black); /* Farge på pilen */
}

/* Sitat pullquote */
.custom-quote .fl-html {
	display: flex;
	flex-direction: column;
}
/* Rekkefølge innhold i nyhetsmodul */
.custom-quote .fl-html .sitatbilde { order: 1; /* Sett dato (meta) først */  }
.custom-quote .fl-html .sitatholder { order: 2; /* Sett overskrift deretter */ }
.custom-quote .fl-html .sitatkilde { order: 3; /* Sett innholdet til slutt */ }

.custom-quote blockquote {
	border: none !important;
	padding: 0px;
}
.custom-quote .sitatbilde img {
	border-radius: 300px;
	max-width: 100px;
}
.custom-quote .sitatbilde, .custom-quote .sitatholder blockquote, .custom-quote .sitatholder blockquote p, .custom-quote .sitatkilde {
	text-align: center;
	margin-bottom: 20px;
}
.custom-quote .sitatbilde {
	margin: 0 auto 20px;
	display: inline-block;
	
} 
.custom-quote .sitatholder blockquote, .custom-quote .sitatholder blockquote p {
	font-style: italic !important;
}
.custom-quote .sitatholder blockquote {
	padding-left: 4%;
	padding-right: 4%;
}
.custom-quote .sitatkilde cite {
	font-style: normal;
}
.custom-quote .sitatkilde cite a {
	color: var(--black) !important;
}


.les-mer-knapp {
    display: inline-block;
	text-decoration:underline;
}

.les-mer-knapp:hover {
}


/* ----------------------------------- Nyheter ----------------------------------- */

/* Custom grid setup */
.custom-order .pp-content-post-data {
    display: flex;
    flex-direction: column; /* Sikrer at elementene stabler seg vertikalt */
}
/* Rekkefølge innhold i nyhetsmodul */
.custom-order .pp-content-post-data .pp-post-meta { order: 1; /* Sett dato (meta) først */ }
.custom-order .pp-content-post-data .pp-post-title { order: 2; /* Sett overskrift deretter */ }
.custom-order .pp-content-post-data .pp-post-content { order: 3; /* Sett innholdet til slutt */ }

/* Content grid */
.nyhetsgrid .pp-content-post .pp-content-body {
	padding: 5% 2% !important;
}


/* Author box */

.authorbox {
    display: flex;
    align-items: center; /* Vertikalt sentrere innholdet */
    background: rgb(245, 245, 245);
    background: linear-gradient(90deg, rgba(245, 245, 245, 1) 30%, rgba(245, 245, 245, 0) 100%);
    padding: 1rem; /* Legg til litt padding for plassering */
    border-radius: var(--globalborderradius); /* Avrundede hjørner for estetikk */
}

.authorbox .authorimage {
    order: 1; /* Bildet vises først */
    margin-right: 1rem; /* Avstand mellom bilde og tekst */
}

.authorbox .authorimage img {
    border-radius: 50%; /* Endre til prosent for en perfekt sirkel */
    width: 50px; /* Setter bredde og høyde for avatarbilde */
    height: 50px;
}

.authorbox .authorinfo {
    order: 2; /* Tekst vises etter bildet */
    font-size: 16px; /* Passer til typisk lesbar størrelse */
    color: #333; /* Gjør teksten litt mørkere for bedre kontrast */
}

/* Tjenester */
.tjeneste-liste .pp-content-grid-title {
    display: flex;
    justify-content: space-between; /* Sørger for at tittel og pil er på hver sin side */
    align-items: center; /* Sentrerer vertikalt */
}

.tjeneste-liste .pp-content-grid-title::after {
    content: "\f061"; /* Unicode for Font Awesome arrow right */
    font-family: "Font Awesome 6 Pro"; /* Sørg for å bruke riktig Font Awesome Pro font */
    font-weight: 400; /* Tynnere pil (bruker "Regular" vekt) */
    margin-left: 10px; /* Liten avstand mellom tittel og pil */
    font-size: 16px; /* Juster størrelsen etter behov */
}

.tjeneste-liste .pp-content-post:hover {
	border-radius: var(--globalborderradius);
}



/* Team */

.custom-team .team-container {
    display: flex; /* Setter containeren til å bruke Flexbox */
    align-items: top; /* Vertikal sentrering av innholdet */
    gap: 20px; /* Legger til avstand mellom bilde og tekst */
    margin: 20px 0; /* Gir litt margin over og under */
}

.custom-team .team-image {
    flex-shrink: 0; /* Sørger for at bildet ikke skaleres hvis innholdet er bredere */
    max-width: 75px; /* Sett en maks bredde for å kontrollere bildestørrelsen */
}

.custom-team .team-image img {
    width: 100%; /* Sørger for at bildet skaleres innenfor dets container */
    height: auto; /* Bevarer bildets proporsjoner */
    border-radius: 8px; /* Legger til avrundede hjørner hvis ønskelig */
}

.custom-team .team-textholder {
    flex: 1; /* Lar tekstområdet fylle gjenværende plass */
}

/* Team prosjekter (liste med navn) */
.team-prosjekter .pp-content-grid-post:nth-of-type(1n) {
	background-color: none !important;
}
.team-prosjekter .pp-content-post .pp-content-body {
	padding: 0px !important;
}

/* Sosiale medier ikoner eller tekst */
/* Layout for ikoner i grid */
.social-icons-grid {
    display: inline-grid;
    grid-template-columns: repeat(4, 1fr); /* 4 kolonner */
    gap: 20px; /* Avstand mellom ikonene */
}

.social-icons-grid img {
    width: 30px !important;
	height: auto;
}

/* Layout for tekst når some_type_team er false */
.social-text-list {
    display: flex;
    flex-direction: column; /* Tekstene vises i en kolonne */
    gap: 10px; /* Avstand mellom tekstene */
}

.social-text-list a {
}




/* Events */
/* Grunnleggende styling for accordion */
.accordion-content {
    display: none; /* Skjuler innholdet som standard */
    padding: 20px; /* Indre polstring for innholdet */
    background-color: var(--white); /* Lys bakgrunnsfarge */
    border-radius: 0 0 var(--globalborderradius) var(--globalborderradius); /* Runde hjørner nederst */
    transition: max-height 0.3s ease; /* Glatt animasjon ved åpning/lukking */
}

/* Viser innholdet når accordion har .active-klassen */
.accordion.active .accordion-content {
    display: block; /* Viser innholdet når .active-klassen er på accordion */
	border: 2px solid var(--grey); /* Kantlinje under */
	border-top: none;

}
.accordion {
	margin-bottom: 10px;
}
/* Layout for event-header: Tid og tittel ved siden av hverandre */
.event-header {
    display: flex; /* Bruk flexbox layout */
    align-items: center; /* Sentere tid og tittel vertikalt */
    justify-content: space-between; /* Plasserer tid og tittel på hver sin side */
    gap: 20px; /* Avstand mellom tid og tittel */
    background-color: #fff; /* Hvit bakgrunn */
    padding: 20px; /* Indre polstring */
    border: 2px solid var(--grey); /* Kantlinje under */
	border-radius: var(--globalborderradius);
    cursor: pointer; /* Viser at elementet er klikkbart */
    transition: background-color 0.3s ease; /* Glatt overgang for bakgrunnsfarge */
	
}
.accordion.active .event-header {
	border-bottom: none;
	border-radius: var(--globalborderradius) var(--globalborderradius) 0px 0px;
}

/* Styling for tid */
.event-tid {
    flex: 0 0 auto; /* Holder en fast bredde for tid */
    font-weight: bold; /* Gjør tid tydeligere */
}

/* Styling for tittel */
.event-tittel {
    flex: 1; /* Fyller opp resten av plassen med tittel */
    display: flex; /* Tillater å bruke margin for ikonet */
    justify-content: space-between; /* Plasserer tittel og ikon på hver sin side */
    align-items: center; /* Sentere innholdet vertikalt */
}

/* Styling for toggle-ikonet etter tittel */
.accordion-toggle::after {
    font-family: 'Font Awesome 6 Pro'; /* Sett din font her */
    content: "\f078"; /* Chevron down ikon */
    margin-left: 10px; /* Avstand mellom tittel og ikon */
    transition: transform 0.2s; /* Legger til en animasjonseffekt ved åpning/lukking */
}

/* Roterer ikonet når accordion er aktiv */
.accordion.active .accordion-toggle::after {
    transform: rotate(180deg); /* Roterer ikonet ved åpning */
}

/* Event-dag og undertittel */
.event-day {
    padding: 2rem 10px 5px; /* Indre polstring */
}

.event-dag {
    margin: 0; /* Fjern ekstra margin */
    font-weight: bold; /* Fremhev dag */
}

.event-dagsinfo {
    margin: 5px 0 0 0; /* Litt avstand fra dag */
    font-style: italic; /* Gjør undertittel litt annerledes */
    color: #666; /* Lysere farge for undertittel */
}

/* Individuelle stiler for innhold i accordion-content */
.event-beskrivelse,
.event-foredragsholder,
.event-link {
    margin-bottom: 10px; /* Avstand mellom elementene */
}

.event-link a {
    color: var(--black); /* Blå lenkefarge */
    text-decoration: underline; /* Understreking på lenker */
}

/* Hover-effekter for klikkbare elementer */
.accordion:hover .event-header,
.accordion.active .event-header {
    background-color: var(--white); /* Lysere bakgrunn ved hover */
}

.accordion:hover .accordion-toggle::after,
.accordion.active .accordion-toggle::after {
    color: #000; /* Endre farge på ikonet ved hover/aktiv */
}


/* Speaker i program */

/* Styling for hvert foredragsholderkort */
.speaker-card {
    display: inline-flex; /* Plasserer bilde og info side ved side */
    align-items: center; /* Sentere vertikalt */
    background-color: var(--lightgrey); /* Bakgrunnsfarge */
    padding: 10px 15px; /* Indre polstring */
    border-radius: var(--globalborderradius); /* Runde hjørner */
    text-decoration: none; /* Fjern understrykning på lenke */
    transition: all 0.3s ease; /* Overgang for skyggeeffekt */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0); /* Svak skygge for dybde */
    margin-bottom: 10px; /* Avstand til neste kort */
	margin-right: 10px;

}

/* Hover-effekt for kortet */
.speaker-card:hover {
	background-color: var(--maincolor);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Mer fremtredende skygge ved hover */
	text-decoration: none !important;
}

/* Stil for bildecontaineren */
.speaker-card .speaker-image {
    flex-shrink: 0; /* Forhindrer at bildet skaleres */
    width: 40px; /* Fast bredde for bildet */
    height: 40px; /* Fast høyde for bildet */
    overflow: hidden; /* Skjuler innhold utenfor containeren */
    border-radius: 50%; /* Gjør bildet sirkulært */
    margin-right: 15px; /* Avstand mellom bilde og info */
    background-color: #ddd; /* Bakgrunnsfarge ved manglende bilde */
}

/* Stil for selve bildet */
.speaker-card .speaker-image img {
    width: 100%; /* Gjør at bildet fyller containeren */
    height: 100%; /* Gjør at bildet fyller containeren */
    object-fit: cover; /* Skjær til bildet for å dekke containeren */
    border-radius: 50%; /* Sikrer at bildet blir sirkulært */
}

/* Stil for foredragsholder-info */
.speaker-card .speaker-info {
    display: flex; /* Bruker flexbox for vertikal layout */
    flex-direction: column; /* Legger navn og tittel i kolonne */
}

/* Stil for navn */
.speaker-card .speaker-name {
    font-size: 16px; /* Størrelse på navnet */
    font-weight: 600; /* Fet skrift for navnet */
    color: var(--black); /* Mørkere tekstfarge for navnet */
}

/* Stil for tittel */
.speaker-card .speaker-title {
    font-size: 14px; /* Mindre størrelse for tittel */
    color: var(--black); /* Lysere tekstfarge for tittel */
}
.speaker-card:hover .speaker-name, .speaker-card:hover .speaker-title {
	color: var(--white);
}


/* Speaker design end */
/* Skjul alle som standard */
.related-speakers {
    display: none;
}

.program-speaker-title {
	font-weight: bold !important;
	text-transform: none;
	margin-top: 1rem;
}

/* Vis de riktige related-speakers divene for hvert event-item */
.event-item-1 .related-speakers-1,
.event-item-2 .related-speakers-2,
.event-item-3 .related-speakers-3,
.event-item-4 .related-speakers-4,
.event-item-5 .related-speakers-5,
.event-item-6 .related-speakers-6,
.event-item-7 .related-speakers-7,
.event-item-8 .related-speakers-8,
.event-item-9 .related-speakers-9,
.event-item-10 .related-speakers-10,
.event-item-11 .related-speakers-11,
.event-item-12 .related-speakers-12,
.event-item-13 .related-speakers-13,
.event-item-14 .related-speakers-14,
.event-item-15 .related-speakers-15,
.event-item-16 .related-speakers-16,
.event-item-17 .related-speakers-17,
.event-item-18 .related-speakers-18,
.event-item-19 .related-speakers-19,
.event-item-20 .related-speakers-20,
.event-item-21 .related-speakers-21,
.event-item-22 .related-speakers-22,
.event-item-23 .related-speakers-23,
.event-item-24 .related-speakers-24,
.event-item-25 .related-speakers-25,
.event-item-26 .related-speakers-26,
.event-item-27 .related-speakers-27,
.event-item-28 .related-speakers-28,
.event-item-29 .related-speakers-29,
.event-item-30 .related-speakers-30,
.event-item-31 .related-speakers-31,
.event-item-32 .related-speakers-32,
.event-item-33 .related-speakers-33,
.event-item-34 .related-speakers-34,
.event-item-35 .related-speakers-35,
.event-item-36 .related-speakers-36,
.event-item-37 .related-speakers-37,
.event-item-38 .related-speakers-38,
.event-item-39 .related-speakers-39,
.event-item-40 .related-speakers-40,
.event-item-41 .related-speakers-41,
.event-item-42 .related-speakers-42,
.event-item-43 .related-speakers-43,
.event-item-44 .related-speakers-44,
.event-item-45 .related-speakers-45,
.event-item-46 .related-speakers-46,
.event-item-47 .related-speakers-47,
.event-item-48 .related-speakers-48,
.event-item-49 .related-speakers-49,
.event-item-50 .related-speakers-50,
.event-item-51 .related-speakers-51,
.event-item-52 .related-speakers-52,
.event-item-53 .related-speakers-53,
.event-item-54 .related-speakers-54,
.event-item-55 .related-speakers-55,
.event-item-56 .related-speakers-56,
.event-item-57 .related-speakers-57,
.event-item-58 .related-speakers-58,
.event-item-59 .related-speakers-59,
.event-item-60 .related-speakers-60,
.event-item-61 .related-speakers-61,
.event-item-62 .related-speakers-62,
.event-item-63 .related-speakers-63,
.event-item-64 .related-speakers-64,
.event-item-65 .related-speakers-65,
.event-item-66 .related-speakers-66,
.event-item-67 .related-speakers-67,
.event-item-68 .related-speakers-68,
.event-item-69 .related-speakers-69,
.event-item-70 .related-speakers-70,
.event-item-71 .related-speakers-71,
.event-item-72 .related-speakers-72,
.event-item-73 .related-speakers-73,
.event-item-74 .related-speakers-74,
.event-item-75 .related-speakers-75,
.event-item-76 .related-speakers-76,
.event-item-77 .related-speakers-77,
.event-item-78 .related-speakers-78,
.event-item-79 .related-speakers-79,
.event-item-80 .related-speakers-80,
.event-item-81 .related-speakers-81,
.event-item-82 .related-speakers-82,
.event-item-83 .related-speakers-83,
.event-item-84 .related-speakers-84,
.event-item-85 .related-speakers-85,
.event-item-86 .related-speakers-86,
.event-item-87 .related-speakers-87,
.event-item-88 .related-speakers-88,
.event-item-89 .related-speakers-89,
.event-item-90 .related-speakers-90,
.event-item-91 .related-speakers-91,
.event-item-92 .related-speakers-92,
.event-item-93 .related-speakers-93,
.event-item-94 .related-speakers-94,
.event-item-95 .related-speakers-95,
.event-item-96 .related-speakers-96,
.event-item-97 .related-speakers-97,
.event-item-98 .related-speakers-98,
.event-item-99 .related-speakers-99,
.event-item-100 .related-speakers-100 {
    display: block;
}

/* Foredragsholder eventliste */
.event-table {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 20px 0;
}

.event-row {
    display: flex;
    width: 100%;
    border-bottom: 1px solid var(--grey);
    padding: 15px 0;
}

.event-row.header {
    font-weight: bold;
    background-color: var(--lightgrey);
	text-transform: uppercase;
}

.event-col {
    flex: 1;
    padding: 0 10px;
    text-align: left;
}

.event-row-link {
    text-decoration: none;
    color: inherit; /* Beholder den opprinnelige tekstfargen */
    display: block;
}
.event-row-link:hover {
	text-decoration: none !important;
}

.event-row-link:hover .event-row {
    background-color: var(--maincolorpure); /* Endrer bakgrunnsfargen når du holder musepekeren over */
}

/* Juster bredden på kolonner etter behov */
.event-col:first-child {
    flex: 0.3; /* Dato-kolonnen */
}

.event-col:nth-child(2) {
    flex: 0.5; /* Arrangement-kolonnen */
}

.event-col:nth-child(3) {
    flex: 0.2; /* Arrangør-kolonnen */
}

/* Event Related speakers*/
.related-speakers-grid {
    display: flex;
    gap: 5%; /* Avstand mellom kolonnene */
    justify-content: space-between;
}

.speaker-list {
    width: 47.5%; /* To kolonner med 5% gap mellom */
    margin-bottom: 20px; /* Litt avstand mellom rader */
    border: none; /* Ingen kantlinjer */
    overflow: hidden; /* Skjuler overskudd */
}

.speaker-list img {
    width: 100%; /* Bildet fyller hele bredden */
    height: auto; /* Opprettholder forhold */
    display: block;
}

.speaker-list .speaker-info {
    padding: 10px 0; /* Litt avstand over og under teksten */
    text-align: center; /* Midtstill navnet og tittelen */
}

.speaker-list .speaker-name {
    font-weight: bold; /* Fet skrift for navn */
}

.speaker-list .speaker-title {
    font-size: 1rem; /* Størrelse på stilling */
    color: var(--black); /* Lysere farge for stilling */
}
.speaker-list a, .speaker-list a:hover {
	text-decoration: none !important;
}

/* Sponsor logo */
.sponsor-grid {
    display: grid;
    gap: 20px; /* Avstand mellom kolonnene */
    justify-items: center;
    align-items: center;
    margin-top: 20px;
}

/* Tilpass for nettbrett (mindre skjermer) */
@media (max-width: 1200px) {
    .sponsor-grid {
        grid-template-columns: repeat(3, 1fr) !important; /* 2 kolonner på nettbrett */
    }
}

/* Tilpass for mobiltelefoner (små skjermer) */
@media (max-width: 768px) {
    .sponsor-grid {
        grid-template-columns: repeat(2, 1fr) !important; /* 1 kolonne på mobil */
    }
}

/* For generelle sponsorstiler */
.sponsor-item {
    padding: 0px;
    text-align: center;
}
.sponsor-item img {
    max-width: 100%;
    height: auto;
}


/* Prosjekter */
/* Stil for hele prosjektlisten */
.project-container {
    display: flex;
    flex-wrap: wrap; /* Lar elementene brytes på mindre skjermer */
    justify-content: space-between; /* Fordel mellomrom mellom elementene */
    align-items: top; /* Juster innhold vertikalt til midten */
    padding: 20px 0px;
    border-bottom: 2px solid var(--grey) !important; /* Legger til en ramme rundt containeren */
    text-decoration: none !important; /* Fjerner understrek fra lenken */
    color: inherit; /* Beholder standard tekstfarge */
}

/* Stil for de individuelle elementene */
.project-container .prosjektar {
    flex: 0 0 20%; 
    white-space: nowrap; /* Sørger for at innholdet ikke brytes på flere linjer */
    overflow: hidden; /* Skjuler overflødig tekst om den er for lang */
    text-overflow: ellipsis; /* Legger til '...' hvis teksten er for lang */
    padding: 0 20px;
}

.project-container .prosjektnavn {
    flex: 2; /* Gjør denne kolonnen bredest */
    padding: 0 10px;
}

.project-container .prosjektkunde {
    flex: 1; /* Tar opp resten av plassen */
    padding: 0 20px;
}

.project-container:hover {
    background-color: var(--lightgrey); /* Legger til en hover-effekt på hele containeren */
	border-bottom-color: var(--lightgrey) !important;
	text-decoration: none !important;
}

/* Justering for mindre skjermer */
@media (max-width: 768px) {
    .project-container {
		
	}
    .project-container .prosjektar,
    .project-container .prosjektnavn,
    .project-container .prosjektkunde {
        padding: 5px 0; /* Mindre polstring på små skjermer */
		white-space: wrap;
    }
}

.fl-builder-content.fl-builder-content-645.fl-builder-template.fl-builder-module-template {
	max-width: 100% !important;
	padding: 0px !important;
}

/* Stillingsannonser design accordion */
.stillingsannonse-info .pp-accordion-content {
	max-width: 70%;
	margin-left: 55px;
}
@media (max-width: 768px) {
	.stillingsannonse-info .pp-accordion-content {
		max-width: 100%;
		margin-left: 0px;
	}
	.stillingsannonse-info .pp-accordion-item .pp-accordion-button {
		padding: 15px;
	}
	.stillingsannonse-info .pp-accordion-item .pp-accordion-button-icon:before {
		font-size: 22px !important;
	}
}

.stillingsannonse-info .pp-accordion-button-label {
	font-size: clamp(1.25rem, 1.1179rem + 0.6038vw, 2.25rem) !important;
}


@media (max-width: 768px) {
	.custom-kontaktperson .fl-photo-img {
		max-width: 250px;
	}
	.custom-kontaktperson .fl-heading, .custom-kontaktperson p {
		text-align: center;
	}
}

.stillingsannonse-liste .pp-content-post {
	border-bottom: 2px solid var(--grey);
	transition: all 0.3s ease-in-out;
	
}
.stillingsannonse-liste .pp-content-post:hover {
	border-bottom-color: var(--black);
}

/* Pil stillingsannonse */
.stillingsannonse-item .fl-col-content.fl-node-content {
    padding-left: 60px; /* Juster teksten tilsvarende størrelsen på pilen pluss litt margin */
	transition: all 0.3s ease-in-out;
}

.stillingsannonse-item:hover .fl-col-content.fl-node-content {
	/*padding-left: 70px;*/ /* Denne flytter hele tekstblokken til høyre */
}

.stillingsannonse-item::before {
    content: "\f178"; /* Font Awesome unicode for arrow-right */
    font-family: "Font Awesome 6 Pro"; /* For solid stilsett */
    font-weight: 200; /* Solid ikon krever font-weight 900 */
    position: absolute;
    left: 0; /* Plasser pilen til venstre for elementet */
    top: 33px; /* Vertikalt sentrert */
    transform: translateY(-50%); /* Juster for nøyaktig vertikal sentrering */
    font-size: 40px; /* Gjør pilen 100px stor */
    margin-right: 10px; /* Avstand mellom pilen og teksten */
	transition: all 0.3s ease-in-out;
}

.stillingsannonse-item:hover::before {
    transform: translate(10px, -50%); /* Flytt pilen til høyre ved hover */
}

.list-separator {
	margin: 0px 10px;
	padding-top: 1px;
	padding-bottom: 1px;
	border-left: 1.5px solid var(--black);
}

/* FAQ */

.faq-accordion-design .pp-accordion-button {
	background: var(--white) !important;
}
.faq-accordion-design .pp-accordion-button:hover {
	background: var(--lightgrey) !important;
}
.faq-accordion-design .pp-accordion-button-label {
	color: var(--black) !important;
}

/* FAQ item pil */
a.faq-item {
    padding-left: 40px !important; /* Juster teksten tilsvarende størrelsen på pilen pluss litt margin */
	transition: all 0.3s ease-in-out;
}

.faq-item:hover {
	padding-left: 50px !important;
}

.faq-item::before {
    content: "\f178"; /* Font Awesome unicode for arrow-right */
    font-family: "Font Awesome 6 Pro"; /* For solid stilsett */
    font-weight: 300; /* Solid ikon krever font-weight 900 */
    position: absolute;
    left: 0; /* Plasser pilen til venstre for elementet */
    top: 15px; /* Vertikalt sentrert */
    transform: translateY(-50%); /* Juster for nøyaktig vertikal sentrering */
    font-size: 20px; /* Gjør pilen 100px stor */
    margin-right: 10px; /* Avstand mellom pilen og teksten */
	transition: all 0.3s ease-in-out;
}

.faq-item:hover::before {
    transform: translate(20px, -50%); /* Flytt pilen 20px til høyre ved hover */
}



.json-logo {
	max-width: 250px;
	position: absolute;
	left: 0px;
}

.fl-photo-crop-circle img {
	border-radius: 1000px !important;
}

/* Endre alle ACF-felter design */
.acf-info strong {
	
}


/* Footer */

footer a .menu-item-text {
	text-decoration: underline;
}

#socket a:hover {
	text-decoration: underline;
}