:root {
    /* 1800 */
    --font170: clamp(34px, 9.4vw, 170px);
    --font130: clamp(34px, 7.22vw, 130px);
    --font80: clamp(34px, 4.44vw, 80px);
    --font64: clamp(34px, 3.55vw, 64px);
    --font62: clamp(34px, 3.44vw, 62px);
    --font60: clamp(32px, 3.33vw, 60px);
    --font56: clamp(32px, 3.1vw, 56px);
    --font52: clamp(30px, 2.89vw, 52px);
    --font50: clamp(30px, 2.77vw, 50px);
    --font46: clamp(30px, 2.56vw, 46px);
    --font42: clamp(28px, 2.3vw, 42px);
    --font40: clamp(28px, 2.22vw, 40px);
    --font36: clamp(24px, 2vw, 36px);
    --font32: clamp(22px, 1.78vw, 32px);
    --font30: clamp(22px, 1.67vw, 30px);
    --font28: clamp(22px, 1.56vw, 28px);
    --font26: clamp(20px, 1.44vw, 26px);
    --font24: clamp(18px, 1.35vw, 24px);
    --font22: clamp(18px, 1.22vw, 22px);
    --font20: clamp(16px, 1.12vw, 20px);
    --font18: clamp(15px, 1vw, 18px);
    --font17: clamp(15px, 0.94vw, 17px);
    --font16: clamp(15px, 0.89vw, 16px);
    --font15: clamp(15px, 0.84vw, 15px);

    --white: #fff;
    --black: #000;
}

*{
    padding: 0;
    margin: 0;
    transition: 0.3s ease-out;
    -moz-transition:    0.3s ease-out;
    -webkit-transition: 0.3s ease-out;
    -o-transition:      0.3s ease-out;
}
html{
    font-size: 18px;
}

.ultra-aspect{
    aspect-ratio: 16/9;
}

html{
    font-size: 18px;
    scroll-behavior: smooth;
    scrollbar-color: #D0232A #363C3E;
    scrollbar-width: auto;
}

::-webkit-scrollbar-track {
    background-color: #363C3E;
}

::-webkit-scrollbar {
    width: 15px;
    scroll-behavior: smooth;
}

::-webkit-scrollbar-thumb {
    background-color: #D0232A;
    border: 0px solid transparent;
    border-radius: 0px;
    background-clip: content-box;
} 

.container{
    max-width: 2000px;
    background-color: #fff;
    margin: 0 auto;
    box-shadow: 0px 50px 20px 0px rgba(0,0,0,0.7), 0px -50px 20px 0px rgba(0,0,0,0.7);
    position: relative;
}

.col-2, .col-3, .col-4, .col-5, .col-single-drop, .col-48, .col-84{
    display: grid;
}

.col-2{
    grid-template-columns: repeat(2, 1fr);
}

.col-3{
    grid-template-columns: repeat(3, 1fr);
}

.col-4{
    grid-template-columns: repeat(4, 1fr);
}

.col-5{
    grid-template-columns: repeat(5, 1fr);
}

.col-48{
    grid-template-columns: 1fr 2fr;
}

.col-84{
    grid-template-columns: 2fr 1fr;
}

.col-single-drop{
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

button:focus, button:active{
    border: none;
    outline: none;
}

img{
    max-width: 100%;
    display: block;
}

.ultra-fullsize-img{
    width: 100%;
    object-fit: cover;
}

.ultra-fullsize-backgroundimage{
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

.ultra-allinone{
    display: grid;
}

.ultra-allinone>*{
    grid-row: 1;
    grid-column: 1;
}

hr{
    border: none;
    height: 1px;
    background-color: #000;
}

.kill-deco{
    text-decoration: none;
    color: inherit;
}


@media (max-width: 1500px) {
    .col-5{
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1200px) {
    .col-5{
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1050px) {
     .col-3, .col-4, .col-5{
        grid-template-columns: repeat(2, 1fr);
    }
    
}

@media (max-width: 700px) {
    .col-2, .col-3, .col-4, .col-5{
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    }
}

@media (max-width: 500px) {
    .col-2, .col-3, .col-4, .col-5{
        grid-template-columns: repeat(auto-fit, minmax(251px, 1fr));
    }
}

.width90{
    width: 90%;
}

.width80{
    width: 80%;
}

.width70{
    width: 70%;
}

.width60{
    width: 60%;
}

.width50{
    width: 50%;
}

.width40{
    width: 40%;
}

.width30{
    width: 30%;
}

.width20{
    width: 20%;
}


.wpcf7 input[type="text"], .wpcf7 input[type="url"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"], .wpcf7 textarea{
    border: 1px solid #4E4E4E;
    padding: 8px 0px;
    width: 90%;
    outline: none;
    color: #4E4E4E;
    margin-top: 5px;
    padding: 5px;
    background-color: #fff;
    font-size: var(--font18);
}

.wpcf7-submit{
    border: 1px solid #D0232A;
    color: #D0232A;
    margin-top: 20px;
    font-size: var(--font16);
    padding: 8px 20px 5px;
    text-align: center;
    display: grid;
    grid-template-columns: auto 35px;
    cursor: pointer;
    font-family: "forma-djr-text", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    width: calc(90% + 10px);
    background-color: transparent;
}

.wpcf7-form label{
    font-size: var(--font17);
    margin-bottom: 5px;
}

div.wp-caption {
    max-width: 100%;
}

#post-bottompart-left img {
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.ultralightimage.active{
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    object-fit: contain;
    background-color: rgba(0,0,0,0.65);
    padding: 50%;
    width: 60% !important;
    height: 100%;
}

.ultralightimage{
    cursor: pointer;
}

.zerop p{
    padding-bottom: 0px;
}

a{
    display: block;
}

#himmeli{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: clamp(30px, 5vw, 70px);
    margin-bottom: 50px;
    justify-content: center;
}

.himmel.active{
    background-color: #D0232A;
    border: 2px solid #D0232A;
    color: #fff;
}

.himmel {
    color: #363C3E;
    border: 2px solid #363C3E;
    height: 37px;
    width: 37px;
    border-radius: 50%;
    display: grid;
    align-content: center;
    justify-content: center;
    cursor: pointer;
    font-size: var(--font22);
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.ugrid{
    display: grid;
}

.ugrid2{
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ugrid3{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.ugrid21{
    display: grid;
    grid-template-columns: 2fr 1fr;
}

.ugrid12{
    display: grid;
    grid-template-columns: 1fr 2fr;
}

.ugrid13{
    display: grid;
    grid-template-columns: 1fr 3fr;
}

.ugrid31{
    display: grid;
    grid-template-columns: 3fr 1fr;
}

.colorwhite{
    color: #fff;
}

.ugap10{
    gap: clamp(10px, 0.67vw, 10px);
}

.ugap15{
    gap: clamp(10px, 1vw, 15px);
}

.ugap20{
    gap: clamp(15px, 1.33vw, 20px);
}

.ugap30{
    gap: clamp(15px, 2vw, 30px);
}

.ugap40{
    gap: clamp(15px, 2.67vw, 40px);
}

.ugap50{
    gap: clamp(20px, 3.33vw, 50px);
}

.ugap70{
    gap: clamp(20px, 4.6vw, 70px);
}
/* === Reviews (Umsagnir) Section === */
.home-reviews {
  padding: var(--pad); /* matches section spacing above */
  background: #fff;
}

/* Grid: 2 columns desktop, 1 column mobile */
.home-reviews .tgrid,
.home-reviews .reviews-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
@media (max-width: 900px) {
  .home-reviews .tgrid,
  .home-reviews .reviews-grid {
    grid-template-columns: 1fr;
  }
}

/* Card */
.home-reviews .tcard,
.home-reviews .review-card {
  display: flex;
  flex-direction: column;
  background: #F8F8F8;
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
}

/* --- HERO image at the top --- */
.home-reviews .tmedia-hero {
  width: 100%;
  height: 200px;
}
@media (min-width: 1200px) {
  .home-reviews .tmedia-hero { height: 240px; }
}
.home-reviews .timg-hero {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Bottom content split into left + right --- */
.home-reviews .tbottom {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  padding: 16px 20px;
}
.home-reviews .tleft { min-width: 0; } /* allow text to wrap */
.home-reviews .tright {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

/* Small logo at top-left inside left column */
.home-reviews .tlogo {
  height: 60px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}
.home-reviews .timg-logo {
  max-height: 50px;
  max-width: 150px;
  object-fit: contain;
  border-radius: 6px;
}

/* Text */
.home-reviews .tname,
.home-reviews .r-name {
  margin: 0 0 2px;
  font-weight: 700;
  font-size: 1.05rem;
}
.home-reviews .trole,
.home-reviews .r-role {
  color: #666;
  margin: 0 0 12px;
  font-size: .9rem;
}
.home-reviews .tquote,
.home-reviews .r-quote {
  margin: 0;
  line-height: 1.45;
  font-size: .95rem;
  color: #222;
}

/* Stars */
.home-reviews .tstars,
.home-reviews .r-stars {
  letter-spacing: .06em;
  font-size: 16px;
  line-height: 1;
  color: #f4b400;
}
.home-reviews .tstars .star,
.home-reviews .r-stars .star { opacity: .25; }
.home-reviews .tstars .star.on,
.home-reviews .r-stars .is-on { opacity: 1; }
