/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */


/************************************************/


/**** CONTENTS ****
FONTS
MENU
COLUMN STACKING
CONTENT ALIGNMENT
CURVE
HERO
BUTTONS
BLOG
FOOTER
**** CONTENTS END ****/


/************************************************/
/************************************************/
/******** Felt cute. Might delete later. ********/
/************************************************/
/************************************************/


/**** FONTS ****/

/* Font family */
@import url('https://fonts.cdnfonts.com/css/br-sonoma');

body, h1, h2, h3, h4, h5, h6 {font-family: 'BR Sonoma', sans-serif;}

/* Font-size 112.5%: 1rem = 18px */

html {
    font-size: 112.5%;
}

@media all and (max-width: 980px) {
    html {
        font-size: 100%;
    }
}



/** Font Weight **/
/* Font-weight: 400 = Regular */

/* Font-weight: 500 = Medium */
.et-menu a,
.hero-ingress {
    font-weight: 600;
}

/* Font-weight: 600 = Bold */
h3, h4, h5, h6, 
.bold-heading h2, 
a.train-button, 
.footer-heading p, 
.big-quote p, 
.et_pb_team_member_description .et_pb_module_header,
.article h2,
.article h3 {
    font-weight: 700;
}

/* List spacing */
.bullet-spacing ul li {
    margin-bottom: 0.5em;
}


/**** FONTS END ****/



/************************************************/

/* Ensure padding on complete tablet breakpoint */
@media only screen and (max-width: 1279px) {
    .et_pb_section_0_tb_header.et_pb_section {
        padding-top: 20px!important;
        padding-bottom: 20px!important;
    }
}


/**** MENU ****/

/* Switch to hamburger menu below 1320px */
@media (max-width: 1279px) {
    .et_pb_menu .et_pb_menu__menu {
        display: none !important;
    }

.et_pb_menu .et_mobile_nav_menu, .et_pb_fullwidth_menu .et_mobile_nav_menu {
    display: flex;
    float: none;
    margin: 0 6px;
    align-items: center;
    }
}

.et-menu-nav {
    .nav {
        > li {
            ul.sub-menu {
                a {
                    font-weight: 400;
                }
            }
            
            &:nth-of-type(1) {
                ul.sub-menu {
                    width: 320px;
                    
                    li {
                        a {
                            width: 280px;
                        }
                    }
                }
            }
            
            &:nth-of-type(2) {
                ul.sub-menu {
                    width: 290px;
                    
                    li {
                        a {
                            width: 250px;
                        }
                    }
                }
            }
            
            &:nth-of-type(4) {
                ul.sub-menu {
                    width: 240px;
                    
                    li {
                        a {
                            width: 200px;
                        }
                    }
                }
            }
        }
    }
}

/**** MENU END ****/


/************************************************/


/**** COLUMN STACKING ****/

/* Background images in empty columns */
@media all and (max-width: 980px) {
    .column-bg-image {
        display: block;
        /*min-height: 518px !important;*/
        aspect-ratio: 3 / 2.1;
        background-position: center center;
        margin-bottom: 0;
        }
}

@media all and (max-width: 472px) {
    .column-bg-image {
        display: block;
        /*min-height: 250px !important; */
        background-position: center center;
    }
}

/* Safari fallback for aspect-ratio */
@supports (-webkit-touch-callout: none) {
  .column-bg-image {
    /* sørger for at Safari viser riktig høyde */
    min-height: clamp(220px, 70vw, 518px);
    background-size: cover;
  }
}

/* Set on Row + Equal column heights */
@media all and (max-width: 980px) {
    .custom-row { 
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap; /* Safari 6.1+ */
        flex-wrap: wrap;
    }
    
    /* Set on Columns */
    .first-on-mobile {
        -webkit-order: 1 !important;
        order: 1 !important;
    }
    
    .second-on-mobile {
        -webkit-order: 2 !important;
        order: 2 !important;
    }
    
    .third-on-mobile {
        -webkit-order: 3;
        order: 3;
    }
    
    .fourth-on-mobile {
        -webkit-order: 4;
        order: 4;
    }
}

/**** COLUMN STACKING END ****/


/************************************************/


/**** CONTENT ALIGNMENT ****/

/* Top */
@media all and (min-width: 980px) {
    .vertical-top {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    /* Center */
    .vertical-center {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    /* Bottom */
    .vertical-bottom, .hero-vertical-bottom {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
}

/*
.hero-vertical-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
*/

/**** CONTENT ALIGNMENT END ****/


/************************************************/


/**** CURVE ****/

/* hero section */
@media all and (min-width: 980px) {
    .curve-hero {
        border-top-right-radius: 450px 450px;
    overflow: hidden;
    }
}

/* Two Column Rows */
.curve-50 {
  border-top-right-radius: 350px 350px;
  overflow: hidden;
}

.curve-50-rev {
  border-top-left-radius: 350px 350px;
  overflow: hidden;
}

/* Tablet og nedover */
@media all and (max-width: 980px) {
  .curve-50-rev {
    border-top-right-radius: 52% 70%; /* mindre bue */
    border-top-left-radius: 0;
    overflow: hidden;
  }

  .curve-50 {
    border-top-right-radius: 52% 70%; /* mindre bue */
  }
}

/* Små mobiler */
@media all and (max-width: 600px) {
  .curve-50,
  .curve-50-rev {
    border-top-right-radius: 52% 70%; /* mer proporsjonal form */
  }
}

/* Three Column Rows */
.curve-25 {
    border-top-right-radius: 230px 230px;
  overflow: hidden;
}

.et_pb_blog_grid {
    .et_pb_post {
        .post-content-inner {
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
        }
    }
}

/**** CURVE END ****/


/************************************************/


/*** HERO ****/
.hero .et_pb_module {
    max-width: 620px !important;
}

@media all and (max-width: 980px) {
    .hero .et_pb_module {
    max-width: 480px !important;
    }
}

@media all and (max-width: 472px) {
    .hero .et_pb_module {
    max-width: 320px !important;
    }
}

/**** HERO END ****/


/************************************************/


/**** BUTTONS ****/

/* Train Button */
/*–– Remove Divi base theme button hover padding ––*/
/*body #page-container .et_pb_section a[class*="et_pb_button_"]:hover {
  padding: 0 !important;
}*/


/* Textlink button */
/*–– Remove Divi base theme button icon hover margin ––*/
/*body #page-container .et_pb_section a[class*="et_pb_button_"]:hover::after {
  margin-left: 0 !important;
}

body #page-container .et_pb_section .button-textlink::after {
    margin-left: 16px !important
}

body #page-container .et_pb_section a.button-textlink:hover::after {
    margin-left: 10px !important;
}

body #page-container .et_pb_section a.button-textlink:hover {
    Background-color: rgba(0, 0, 0, 0);
    padding-left: .1rem !important;
} */

/* Download button 
content: '';
font-family: ETmodules !important;
margin-left: -1.3em;
font-size: 1.6em !important;
line-height: 1em !important;
*/


/**** BUTTONS END ****/


/************************************************/


/**** BLOG ****/

.single-post #page-container #et-boc #et-main-area #main-content,
.single-post .et-l--header,
.single-post .et-l--footer {
    background-color: #FFF6E6 !important;
}

.blog-grid-max-three .column.size-1of3 .et_pb_post {
    margin-bottom: 10px !important;
}

.blog-three-columns .et_pb_post .entry-featured-image-url {
    margin-bottom: 0px;
}

.blog-three-columns .et_pb_image_container {
    margin: -20px -20px 24px;
}

.blog-three-columns .et_pb_post .entry-title,
.blog-three-columns .et_pb_post .post-meta,
.blog-three-columns .et_pb_post .post-content {
    margin-left: -19px;
    width: calc(100% + 32px) !important;
}

.blog-three-columns .et_pb_post .post-meta {
    margin-bottom: 10px;
}

/* Blog button margin and arrow */
.blog-three-columns .et_pb_post a.more-link {
    display: flex;
    align-items: center;
    margin-top: 16px;
    transition-duration: .2s;
}

.blog-three-columns .et_pb_post a.more-link::after {
    content: '$';
    font-family: ETmodules !important;
    margin-left: 10px;
    font-size: 1.6em !important;
    margin-top: 5px !important;
    transition-duration: .2s;
}

.blog-three-columns .et_pb_post:hover a.more-link::after {
    margin-left: 16px;
    transition-duration: .2s;
} 

/* Make entire blog module clickable */
.blog-three-columns .et_pb_post,
.blog-three-columns .et_pb_post {
  position: relative;
}

.blog-three-columns .et_pb_post .entry-title a:after,
.blog-three-columns .et_pb_post .entry-title a:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.blog-three-columns .et_pb_post:hover,
.blog-three-columns .et_pb_post:hover {
  cursor: pointer;
}

.single-post {
    .et_builder_inner_content {
        .et-l--post {
            .et_pb_section {
                padding-top: 0;
                padding-bottom: 0;
            }
        }
    }
}

.et_pb_post_content {
    p:not(.has-background):last-of-type {
        padding-bottom: 1em;
    }
}

/**** BLOG END ****/


/************************************************/


/**** CONTACT PERSONS ****/
.et_pb_team_member_description .et_pb_member_position {
    margin-bottom: 16px !important;
}

.et_pb_team_member_description .et_pb_team_member_description_content p {
    padding-bottom: 0px !important;
}

/**** CONTACT PERSONS END ****/


/************************************************/


/**** FOOTER SOCIAL MEDIA ****

#footer-social-facebook::after {
    content: "Facebook";
    Color: #ffffff;
    padding-left: 40px;
    font-size: 1rem;
    visibility: visible;
    display: inline;
}

**** FOOTER SOCIAL MEDIA END ****/


/************************************************/

/**** FOOTER SOCIAL MEDIA — CLEAN RESET ****/

/* 0) Fjern all gammel pseudo-tekst på modul-wrapperen */
#footer-social-facebook::before,
#footer-social-facebook::after,
#footer-social-linkedin::before,
#footer-social-linkedin::after,
#footer-social-youtube::before,
#footer-social-youtube::after {
  content: none !important;
}

/* 1) Selve lenken i ikonmodulen skal bære både tekst + ikon (én klikkbar flate) */
.footer-social .et_pb_icon_wrap a {
  display: inline-flex;
  align-items: center;
  gap: 10px;                  /* avstand mellom tekst og ikon */
  text-decoration: none;
  color: #fff;
  padding: 6px 10px;          /* komfortabel klikkflate */
}

/* 1b) Sett ikon til høyre for teksten når .icon-right er på modulen */
.footer-social.icon-right .et_pb_icon_wrap a {
  flex-direction: row-reverse;
}

/* 2) Legg inn plattform-tekst PÅ lenken (ikke på wrapper) */
#footer-social-facebook .et_pb_icon_wrap a::before { content: "Facebook";  font-size: 1rem; line-height: 1; }
#footer-social-linkedin .et_pb_icon_wrap a::before { content: "LinkedIn";  font-size: 1rem; line-height: 1; }
#footer-social-youtube  .et_pb_icon_wrap a::before { content: "YouTube";   font-size: 1rem; line-height: 1; }

/* 3) Små kvalitetsdetaljer */
.footer-social .et_pb_icon_wrap a:hover { opacity: .85; }
.footer-social .et_pb_icon_wrap { display: inline-block; } /* sikrer forutsigbarhet */

/* Juster venstreinnrykk slik at teksten starter på samme linje som overskriften */
.footer-social {
  display: block;
  text-align: left;
}

/* Flytt hele lenken (tekst + ikon) helt til venstre, og fjern eventuelt ekstra luft */
.footer-social .et_pb_icon_wrap a {
  justify-content: flex-start;   /* tving teksten til venstre */
  padding-left: 0;               /* fjern eventuell padding som skyver den inn */
}

/* (Valgfritt) litt ekstra finjustering dersom teksten fortsatt står 1–2 px feil */
.footer-social .et_pb_icon_wrap {
  margin-left: 0 !important;
}
/**** FOOTER SOCIAL MEDIA — END ****/

/**** ****/

/* Kundecase */
@media (min-width: 981px) {
    .et_pb_row.kundecase {
        width: 100%;
    }
}

/* ---------- KNAPPERAD STYLING ---------- */

/* Flex-oppsett for rad eller kolonne med knapper */
.knapperad-container {
  display: flex;
  flex-wrap: wrap;
  gap: 60px; /* avstand mellom knappene */
  align-items: center;
  justify-content: flex-start; /* endre til center om du vil sentrere knappene */
}

/* Juster hver enkelt knappmodul */
.knapperad-container .et_pb_button_module_wrapper {
  width: auto; /* overstyr Divi sin 100%-bredde */
  margin: 0;
}

/* Gi litt ekstra luft på høyre side av knappene for å unngå at ikonet klistrer seg */
.knapperad-container .et_pb_button {
  padding-right: 1.8em; /* juster ved behov */
}

/* ---------- RESPONSIV OPPFØRSEL ---------- */

/* På mobil: legg knappene under hverandre og gjør dem 100% brede */
@media (max-width: 640px) {
  .knapperad-container {
    flex-direction: column;
    align-items: stretch; /* slik at knappene blir like brede */
    gap: 10px;
  }

  .knapperad-container .et_pb_button_module_wrapper {
    width: 100%;
  }

  .knapperad-container .et_pb_button {
    display: block;
    width: 100%;
    text-align: left;
  }
}

/* Juster vertikal spacing mellom rader i knapperad */
.knapperad-container {
  row-gap: 6px; /* reduser vertikal avstand mellom linjer med knapper */
}

/* Fjern standard margin under Divi-knapper som ellers legger til ekstra luft */
.knapperad-container .et_pb_button_module_wrapper {
  margin-bottom: 0 !important;
}



/* Mindre tekst bare for orgnr-blokken i footer */
.et-l--footer .footer-orgnr,
.et-l--footer .footer-orgnr p,
.et-l--footer .footer-orgnr strong {
  font-size: 0.8rem !important;   /* ≈ liten */
  line-height: 1.4 !important;
}

/* (Valgfritt) litt mindre på veldig små skjermer */
@media (max-width: 480px) {
  .et-l--footer .footer-orgnr,
  .et-l--footer .footer-orgnr p,
  .et-l--footer .footer-orgnr strong {
    font-size: 1rem !important; /* ≈ liten */
  }
}


/* Mindre tekst bare for copyright-blokken i footer – inkl. lenker */
.et-l--footer .footer-copyright,
.et-l--footer .footer-copyright p,
.et-l--footer .footer-copyright strong,
.et-l--footer .footer-copyright a,
.et-l--footer .footer-copyright a:visited,
.et-l--footer .footer-copyright a:hover {
  font-size: 0.8rem !important;  /* ≈14px */
  line-height: 1.4 !important;
}

/* (Valgfritt) mobil litt mindre */
@media (max-width: 480px) {
  .et-l--footer .footer-copyright,
  .et-l--footer .footer-copyright p,
  .et-l--footer .footer-copyright strong,
  .et-l--footer .footer-copyright a,
  .et-l--footer .footer-copyright a:visited,
  .et-l--footer .footer-copyright a:hover {
    font-size: 1rem !important; /* ≈13px */
  }
}

/* iOS/Safari & Apple Mail auto-lenker */
/* Gjelder bare i seksjonen der tall IKKE skal autolenkes */
.orgnums a[href^="tel"],
.orgnums a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important; /* hindrer klikk */
  cursor: default !important;
}