/*
 * Agentlistan på spelaragenter.html i mobilvyn (upp till 767 px): kompakta kort med porträttet
 * till vänster, en kolumn (två från 640 px), klibbig sökrad. Korten fälls ut på plats som på datorn.
 * Beteendet (sökfält, tangentbord, höjd) ligger i js/agentlista.js.
 *
 * Porträttens beskärning gäller däremot alla bredder, även Webflows kvadrat på datorn: den ligger
 * i en egen regel utan media query nedan, med värdena per agent längst ned i filen.
 *
 * Allt ligger under #agents, som räcker för att slå Webflows klassregler i
 * nisses-test-site.webflow.css utan !important.
 * - Kolumner alltid minmax(0,1fr), aldrig 1fr: nowrap-text spränger annars kortet.
 * - Touchmått i px, rem är flytande (ca 14,6 px vid 390 px).
 * - Finsweet flyttar ut och in samma .w-dyn-item-noder vid sökning: lägg aldrig egna barn i .agent_list.
 * - Sektionsfotot bakom listan har ljusa partier: all text ligger på en mörk ton (minst 4.5:1).
 */

/* Tomt sökresultat, injicerat av agentlista.js: bara i mobilvyn */
#agents .agent-empty {
  display: none;
}

/* Porträttens beskärning, alla bredder. Källorna är 500x500 frilagda PNG:er, men tagna med olika
   utsnitt — ansiktet ligger olika högt, olika stort och inte alltid mitt i bilden. Rutan är alltid
   lika hög som eller högre än den är bred, så object-fit: cover visar hela källans höjd; zoomen
   nedan skär ut ett fönster som sätts per agent längst ned i filen:

     --zoom     hur hårt fönstret zoomar in (1 = hela källans höjd, inget bortkapat)
     --fokus-x  fönstrets läge i sidled: 0 % längst till vänster, 100 % längst till höger
     --fokus-y  fönstrets läge i höjdled: 0 % kapar bara nedtill, 100 % bara upptill
     --horn     rutans hörnradie, som clip-path måste rita om (Webflows .75rem på datorn, 0 på mobil
                där kortets overflow rundar hörnen i stället)

   --fokus-x styr både object-position och transform-origin. Med samma procenttal på båda lägger de
   ihop sig till exakt hela källbredden minus fönstret, så fönstret når ut i källans kanter. Bara
   transform-origin hade räckt till zoomens överskott, vilket är för lite för de snett tagna bilderna.

   clip-path tar bort exakt det som zoomen trycker utanför rutan — (zoom - 1) / zoom av den skalade
   bilden, fördelat åt de håll fokuspunkten inte ligger åt — och delar hörnradien med zoomen, så den
   ser lika stor ut som förut. Bilden fyller alltså sin ruta oavsett värden, och transformen ändrar
   ingenting i layouten.

   Värdena är räknade för mobilrutans proportion (ca 0,944). Datorns ruta är kvadratisk, vilket
   flyttar ansiktet högst 1,5 px i sidled av 76 — ögonlinjen påverkas inte alls, eftersom hela
   källhöjden visas i båda fallen. Därför räcker en uppsättning värden för alla bredder. */
#agents .thumbnail_img {
  --zoom: 1.15;
  --fokus-x: 50%;
  --fokus-y: 0%;
  --horn: .75rem;
  object-position: var(--fokus-x) 0;
  transform: scale(var(--zoom));
  transform-origin: var(--fokus-x) var(--fokus-y);
  clip-path: inset(
    calc(var(--fokus-y) * (var(--zoom) - 1) / var(--zoom))
    calc((100% - var(--fokus-x)) * (var(--zoom) - 1) / var(--zoom))
    calc((100% - var(--fokus-y)) * (var(--zoom) - 1) / var(--zoom))
    calc(var(--fokus-x) * (var(--zoom) - 1) / var(--zoom))
    round calc(var(--horn) / var(--zoom)));
}

@media screen and (max-width: 767px) {
  /* Ingen scroll-ankring i listan: när en sökning utan träffar rensas växer listan igen, och
     Chromium ankrade då mot sidan nedanför och hoppade till listans slut */
  #agents {
    overflow-anchor: none;
  }
  #agents .w-dyn-list {
    width: 100%;
    align-self: stretch;
  }
  #agents .agent_list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 8px;
  }

  /* Klibbig sökrad under nav-pillret (1rem + 4.25rem, z-index 999). Den når ända upp till pillret,
     så listan inte skymtar i en glipa. Negativ marginal behåller fältets och listans läge i flödet.
     z-index 98: över korten men under den öppna hamburgermenyn (99). */
  #agents > .form-block {
    position: sticky;
    top: 5.25rem;
    z-index: 98;
    box-sizing: border-box;
    width: calc(100% + 16px);
    margin: -4px -8px;
    padding: 12px 8px;
    border-radius: 1rem;
    background: rgba(10, 10, 10, .8);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }
  #agents .input-field {
    box-sizing: border-box;
    min-height: 44px;
  }
  #agents .input-field:focus-within {
    border-color: #fff;
  }
  /* 16 px hindrar iOS från att zooma vid fokus. Webflows #333 syns inte mot den mörka raden. */
  #agents .text-field {
    font-size: 16px;
    color: #fff;
  }
  #agents .agent-empty:not([hidden]) {
    display: block;
    align-self: stretch;
    margin: 0;
    padding: 16px;
    border-radius: .75rem;
    background: rgba(10, 10, 10, .8);
    font-size: .875rem;
    color: rgba(255, 255, 255, .72);
  }

  /* Fokus som scrollas fram ska inte hamna under sökraden (5.25rem + 76 px + 8 px luft).
     Chromium bortser från scroll-margin vid fokus, så scroll-padding på html, men bara medan
     fokus är i listan: sidans ankare (t.ex. #certifiering) landar som förut. */
  :where(html:has(#agents :focus)) {
    scroll-padding-top: calc(5.25rem + 84px);
  }
  /* Reserv för länkar utanför kontaktlistan (den har egen fokusram nedan) */
  #agents a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }

  /* Kortet: tunnare blur än på datorn (33 px) så 73 lager scrollar lätt, tonen bär kontrasten */
  #agents .item-agent-card {
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: .75rem;
    background-color: rgba(12, 12, 14, .62);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: border-color .15s;
  }
  @media (hover: hover) {
    #agents .item-agent-card:hover {
      border-color: rgba(255, 255, 255, .45);
    }
  }

  /* Raden: bild, text och plus bredvid varandra (Webflow staplar under 479 px).
     Minhöjden rymmer namn + två rader företag, så alla rader med ett namn blir lika höga.
     z-index auto: Webflows 99 målar annars raderna över sökraden. */
  #agents [data-accordion-trigger] {
    position: relative;
    z-index: auto;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    column-gap: 0;
    min-height: calc(1rem * 1.25 + 2px + 2 * .875rem * 1.3 + 16px);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  /* Fokusram innanför kanten (kortet klipper). Som eget lager, en outline hamnar under
     den skalade bilden. */
  #agents [data-accordion-trigger]:focus-visible {
    outline: none;
  }
  #agents [data-accordion-trigger]:focus-visible::after {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: 1;
    border: 2px solid #fff;
    border-radius: calc(.75rem - 2px);
    pointer-events: none;
  }

  /* Porträttet kant i kant till vänster. Kortets overflow rundar vänsterhörnen, så bilden har
     inga egna hörn här (--horn: 0). Absolut, så texten ensam styr radhöjden: som sträckt flexbarn
     behöll WebKit den öppna rubrikens höjd. Fotogrunden syns bakom de genomskinliga PNG:erna.
     Webflows .is-glass-blur hindrar filter i WebKit. Beskärningen sätts längre upp i filen. */
  #agents .thumbnail_img {
    --horn: 0px;
    position: absolute;
    top: 0;
    left: 0;
    width: 4.5rem;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    background: radial-gradient(120% 90% at 50% 20%, #34373c 0%, #1c1e21 60%, #121315 100%);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  /* Platshållaren för agenter utan foto är ljusgrå, dämpad så den inte lyser i listan */
  #agents .thumbnail_img[src*="Profile-Image-No"] {
    filter: saturate(0) brightness(.45);
  }

  #agents .custom-paddingright-phone {
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    column-gap: 4px;
    margin-left: 4.5rem;
    padding: 8px 4px 8px 14px;
  }
  #agents .custom-paddingright-phone > .flex-vertical {
    flex: 1 1 auto;
    min-width: 0;
    align-items: stretch;
    row-gap: 2px;
  }
  #agents [fs-cmsfilter-field="name"] {
    max-width: none;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 600;
    color: #fff;
    overflow-wrap: anywhere;
  }
  /* Företaget i högst två rader; färgen direkt i stället för Webflows opacity */
  #agents [fs-cmsfilter-field="company"] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: .875rem;
    line-height: 1.3;
    color: rgba(255, 255, 255, .72);
    opacity: 1;
  }

  /* Plus/minus: 44 px träffyta i flödet (Webflow gör dem absoluta vid 480–767 px, z-index -1) */
  #agents .icon.plusimg,
  #agents .icon.minus {
    position: static;
    inset: auto;
    z-index: auto;
    flex: none;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    padding: 14px;
    margin: 0 0 0 auto;
    object-fit: contain;
  }
  /* Ikonen följer .is-open, inte accordion-skriptets inline display: i Safari byter Finsweet ut
     bildnoderna vid sökning, och skriptet skriver sedan till de gamla noderna */
  #agents [data-accordion]:not(.is-open) .icon.plusimg,
  #agents [data-accordion].is-open .icon.minus {
    display: block !important;
  }
  #agents [data-accordion]:not(.is-open) .icon.minus,
  #agents [data-accordion].is-open .icon.plusimg {
    display: none !important;
  }

  /* Öppet kort */
  #agents .item-agent-card.is-open {
    border-color: rgba(255, 255, 255, .55);
  }
  /* Hela företagsnamnet när kortet är öppet */
  #agents .item-agent-card.is-open [fs-cmsfilter-field="company"] {
    -webkit-line-clamp: none;
  }
  /* Stängt innehåll göms först när höjden animerats klart, så länkarna lämnar tabbordningen */
  #agents [data-accordion]:not(.is-open) > [data-accordion-content] {
    visibility: hidden;
    transition: height .3s, visibility 0s .3s;
  }
  #agents [data-accordion].is-open > [data-accordion-content] {
    visibility: visible;
    transition: height .3s, visibility 0s;
  }
  #agents [data-accordion-content] {
    padding-inline: 14px;
  }
  /* Tomt sista barn: flex-gapet före det blir luft i botten och räknas in i scrollHeight */
  #agents [data-accordion-content]::after {
    content: '';
    flex: none;
    height: 0;
  }
  #agents [data-accordion-content] .flex-horizontal._0-35rem {
    align-items: center;
  }
  #agents [data-accordion-content] .flex-horizontal._0-35rem .icon {
    top: 0;
  }
  #agents .brak-all {
    word-break: normal;
    overflow-wrap: anywhere;
  }
  /* Kontaktrader i 44 px takt, även nummer utan länk. Luften ligger i raden, så en e-post på
     två rader håller samma avstånd till rubrik och granne. Listans negativa marginal tar bort
     luften över första och under sista raden. Minhöjden: WebKit avrundar textraden nedåt. */
  #agents [data-accordion-content] .flex-vertical._0-25rem {
    --kontaktluft: calc((44px - .875rem * 1.45) / 2);
    align-items: stretch;
    row-gap: 0;
    margin-block: calc(var(--kontaktluft) * -1);
  }
  #agents [data-accordion-content] .flex-vertical._0-25rem > .flex-horizontal {
    box-sizing: border-box;
    min-height: 44px;
    padding-block: var(--kontaktluft);
  }
  /* Länken är hela raden bredvid ikonen: 44 px hög, radbred och utan överlapp med grannen */
  #agents [data-accordion-content] a {
    display: flex;
    align-items: center;
    min-height: 44px;
    min-width: 0;
  }
  #agents [data-accordion-content] .flex-vertical._0-25rem a {
    position: relative;
    flex: 1 1 auto;
    align-self: stretch;
    margin-block: calc(var(--kontaktluft) * -1);
    padding-block: var(--kontaktluft);
  }
  /* Fokusram runt ikon och text, rundad som kortets */
  #agents [data-accordion-content] .flex-vertical._0-25rem a:focus-visible {
    outline: none;
  }
  #agents [data-accordion-content] .flex-vertical._0-25rem a:focus-visible::after {
    content: '';
    position: absolute;
    inset: 2px -6px 2px calc(-1.2rem - .35rem - 6px);
    border: 2px solid #fff;
    border-radius: 6px;
    pointer-events: none;
  }
}

/* Samma kort i två kolumner från 640 px; smalare kort ger för lite plats åt namnet.
   start hindrar ett öppet kort från att sträcka grannen. */
@media screen and (min-width: 640px) and (max-width: 767px) {
  #agents .agent_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    align-items: start;
  }
  /* Namnet på en rad, så stängda grannkort blir lika höga; hela namnet när kortet är öppet */
  #agents [fs-cmsfilter-field="name"] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  #agents .item-agent-card.is-open [fs-cmsfilter-field="name"] {
    white-space: normal;
  }
}

@media screen and (max-width: 767px) and (prefers-reduced-motion: reduce) {
  #agents [data-accordion-content],
  #agents .item-agent-card {
    transition: none !important;
  }
}

/* Beskärning per agent, se --zoom/--fokus-x/--fokus-y vid #agents .thumbnail_img ovan.
   Värdena är uträknade ur var ansiktet faktiskt sitter i varje källbild (ansiktsigenkänning
   på alla 72 PNG:erna) efter fyra regler:
     * ögonlinjen ska hamna ca 44 % ned i rutan
     * ansiktet ska fylla 53–62 % av rutans bredd. Den gamla gemensamma zoomen 1.15 gjorde
       porträtt med redan tajta källbilder mycket närgångnare än resten av listan; 44 av 72
       ligger därför nu under 1.15, några på 1.0 (hela källbilden).
     * ansiktet centreras i sidled på medelvärdet av ansiktsrutans och huvudsilhuettens mitt.
       Ansiktsrutan ensam drar snett när huvudet är vridet, silhuetten ensam när axlar eller
       hår ligger osymmetriskt.
     * hjässan får aldrig kapas, och har källbilden luft över håret lämnas 3 % av rutans höjd
   Sexton källbilder (bl.a. Stefan Johnsson, Niklas Jernström) har håret
   avskuret redan i själva PNG:en, eller så nära kanten att ingen luft finns att ge. Det går
   inte att beskära bort.
   Tilda Sanders bild byttes 2026-09-24 mot ett porträtt i samma utsnitt som de andra.
   Värdena är räknade för ett kort med standardhöjd. Ett kort vars namn går i två rader blir
   högre, och eftersom object-fit: cover då visar en smalare remsa av källan hamnar ansiktet
   någon procent från mitten. Det gäller ett par kort under 380 px (Jonatan Lundin Andersson)
   och syns knappt; i tvåkolumnsläget klipps namnen till en rad så alla kort är lika höga.
   Väljaren matchar agentdelen av filnamnet, så en ny Webflow-hash på samma bild spelar ingen
   roll. En agent utan rad här får standardvärdena. */
#agents .thumbnail_img[src*="agent-adrian-elefalk"] { --zoom: 1.268; --fokus-x: 38.3%; --fokus-y: 38%; }
#agents .thumbnail_img[src*="agent-alexander-deilert"] { --zoom: 1.223; --fokus-x: 50.6%; --fokus-y: 22.7%; }
#agents .thumbnail_img[src*="agent-anders-davidsson"] { --zoom: 1.028; --fokus-x: 0%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-andreas-dackell"] { --zoom: 1.027; --fokus-x: 74.7%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-anton-olaf-borvik"] { --zoom: 1.262; --fokus-x: 50%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-antonio-norberg"] { --zoom: 1.096; --fokus-x: 62%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-bjorn-rockstrom"] { --fokus-x: 71.2%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-bjorn-svensson"] { --zoom: 1.204; --fokus-x: 48.3%; --fokus-y: 31.3%; }
#agents .thumbnail_img[src*="agent-christian-sjogren"] { --zoom: 1.09; --fokus-x: 57.6%; --fokus-y: 31.9%; }
#agents .thumbnail_img[src*="agent-christoffer-malm"] { --zoom: 1.113; --fokus-x: 49.3%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-claes-elefalk"] { --zoom: 1.253; --fokus-x: 53%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-daniel-johansson"] { --zoom: 1.009; --fokus-x: 0%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-daniel-ljung"] { --zoom: 1.041; --fokus-x: 55.9%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-erik-wallstrom"] { --zoom: 1.134; --fokus-x: 60.9%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-filip-hjorth"] { --zoom: 1.196; --fokus-x: 41.2%; --fokus-y: 5.4%; }
#agents .thumbnail_img[src*="agent-hampus-forsling"] { --zoom: 1.131; --fokus-x: 26.4%; --fokus-y: 11.7%; }
#agents .thumbnail_img[src*="agent-henrik-fischer"] { --zoom: 1.029; --fokus-x: 51.6%; --fokus-y: 44.5%; }
#agents .thumbnail_img[src*="agent-jacob-hedin"] { --fokus-x: 25.6%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-jan-asplund"] { --zoom: 1.096; --fokus-x: 37.1%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-jesper-morin"] { --zoom: 1.073; --fokus-x: 36.9%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-jesper-weslien"] { --zoom: 1.091; --fokus-x: 40.1%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-joakim-persson"] { --zoom: 1.193; --fokus-x: 30%; --fokus-y: 7.1%; }
#agents .thumbnail_img[src*="agent-joel-larsson"] { --zoom: 1.131; --fokus-x: 31.6%; --fokus-y: 9.9%; }
#agents .thumbnail_img[src*="agent-johan-altberg"] { --zoom: 1.146; --fokus-x: 47.6%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-johan-finnstrom"] { --zoom: 1.132; --fokus-x: 56.9%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-johan-noren"] { --zoom: 1.157; --fokus-x: 47.7%; --fokus-y: 10.4%; }
#agents .thumbnail_img[src*="agent-jonas-thomsson"] { --zoom: 1.112; --fokus-x: 47.2%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-jonatan-lundin-andersson"] { --zoom: 1.008; --fokus-x: 5.8%; --fokus-y: 15.5%; }
#agents .thumbnail_img[src*="agent-jukka-tiilikainen"] { --zoom: 1.126; --fokus-x: 23.2%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-karl-hellgren"] { --zoom: 1.121; --fokus-x: 64.3%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-lars-cederstrom"] { --zoom: 1.164; --fokus-x: 41.5%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-lukas-vepy"] { --zoom: 1.024; --fokus-x: 91%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-marcus-isaksson"] { --zoom: 1.016; --fokus-x: 88.5%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-martin-k-nilsson"] { --zoom: 1.138; --fokus-x: 60.4%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-matthew-lapierre"] { --zoom: 1.235; --fokus-x: 55.8%; --fokus-y: 5.1%; }
#agents .thumbnail_img[src*="agent-micael-persson"] { --zoom: 1.121; --fokus-x: 28.3%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-michael-johansson"] { --zoom: 1.182; --fokus-x: 64%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-nick-sorensen"] { --zoom: 1.11; --fokus-x: 66.3%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-niklas-jernstrom"] { --zoom: 1.087; --fokus-x: 22%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-niklas-werner"] { --zoom: 1.303; --fokus-x: 25.7%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-nils-backstrom"] { --zoom: 1.062; --fokus-x: 59.2%; --fokus-y: 14.5%; }
#agents .thumbnail_img[src*="agent-nina-wennerstrom"] { --zoom: 1.233; --fokus-x: 48.2%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-olof-soderbaum"] { --zoom: 1.173; --fokus-x: 24.8%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-par-larsson"] { --zoom: 1.188; --fokus-x: 64.5%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-pat-curcio"] { --zoom: 1.276; --fokus-x: 50.2%; --fokus-y: 11.8%; }
#agents .thumbnail_img[src*="agent-patrick-gandolfi-hellman"] { --zoom: 1.025; --fokus-x: 14.1%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-patrick-j-sullivan"] { --zoom: 1.196; --fokus-x: 40.3%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-patrick-pilloni"] { --zoom: 1.405; --fokus-x: 50.7%; --fokus-y: 5.8%; }
#agents .thumbnail_img[src*="agent-patrik-aronsson"] { --zoom: 1.165; --fokus-x: 52%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-patrik-leskinen"] { --zoom: 1.115; --fokus-x: 54.6%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-peter-nilsson"] { --zoom: 1.098; --fokus-x: 73%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-peter-werner"] { --zoom: 1; --fokus-x: 0%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-pontus-noren"] { --zoom: 1.076; --fokus-x: 28.1%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-radek-hamr"] { --zoom: 1.014; --fokus-x: 75.7%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-radko-b-rger"] { --zoom: 1.175; --fokus-x: 22.6%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-randy-w-edmonds"] { --zoom: 1.202; --fokus-x: 38%; --fokus-y: 10.7%; }
#agents .thumbnail_img[src*="agent-rickard-kimby"] { --zoom: 1.1; --fokus-x: 64.7%; --fokus-y: 31.5%; }
#agents .thumbnail_img[src*="agent-robin-borg"] { --zoom: 1.5; --fokus-x: 42.2%; --fokus-y: 27.3%; }
#agents .thumbnail_img[src*="agent-robin-mattebo"] { --zoom: 1.085; --fokus-x: 45.3%; --fokus-y: 28.6%; }
#agents .thumbnail_img[src*="agent-sami-mettovaara"] { --zoom: 1.079; --fokus-x: 40.9%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-samuel-gustafsson"] { --zoom: 1.046; --fokus-x: 51.1%; --fokus-y: 29.8%; }
#agents .thumbnail_img[src*="agent-simon-olsson"] { --zoom: 1.01; --fokus-x: 23.7%; --fokus-y: 70.9%; }
#agents .thumbnail_img[src*="agent-stefan-johnsson"] { --zoom: 1.064; --fokus-x: 100%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-thomas-ling"] { --zoom: 1.085; --fokus-x: 47.6%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-tilda-sander"] { --zoom: 1.15; --fokus-x: 50%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-timo-parssinen"] { --zoom: 1; --fokus-x: 68.1%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-tobias-johansson"] { --fokus-x: 13.3%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-tommy-ostrom"] { --zoom: 1.172; --fokus-x: 63.9%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-urban-omark"] { --zoom: 1.008; --fokus-x: 61%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-urban-prytz"] { --zoom: 1.116; --fokus-x: 20.4%; --fokus-y: 26.1%; }
#agents .thumbnail_img[src*="agent-victor-steen"] { --zoom: 1.203; --fokus-x: 36.4%; --fokus-y: 0%; }
#agents .thumbnail_img[src*="agent-walter-olsson"] { --zoom: 1.094; --fokus-x: 37.1%; --fokus-y: 0%; }
