/* =====================================================================
   Nidaros IBK — tro kopi av www.nibk.com
   Verdiene er hentet fra ASP/App_Themes/Standard/Standard.css,
   ASP/App_Themes/Standard/Standard.skin og inline-stiler i
   ASP/Master_3kolonner.master. Den gamle siden manglet DOCTYPE (quirks mode),
   så enkelte linjehøyder og marger er satt eksplisitt for å gi samme resultat
   i standards mode.
   ===================================================================== */

:root {
    --section-primary: #1a5276;
    --section-primary-light: #2980b9;
    --section-accent: #f39c12;
    --section-bg: #f8f9fa;
    --section-nav-bg: #1a5276;
    --section-nav-text: #ffffff;
}

/* === Side (body i masteren) === */
body:has(.nibk-body-wrapper) {
    margin: 0 8px 8px;
    background: url('/img/layout/bg_nidarosibk3.gif') #2a6287 fixed no-repeat 50% 20%;
    font-family: 'Times New Roman', Times, serif;
    font-size: 16px;
    line-height: normal;
    color: #000;
}

.nibk-body-wrapper {
    min-height: 100vh;
}

.nibk-main a {
    color: blue;
    text-decoration: none;
}

.nibk-main a:hover {
    text-decoration: underline;
}

/* === table.main === */
.nibk-main {
    width: 800px;
    margin: 2px auto 0;
    /* Den gamle siden (quirks mode) fikk ingen synlig padding i toppen av table.main. */
    padding: 0 5px 5px;
    border: 2px solid black;
    border-collapse: separate;
    border-spacing: 4px;
    background-color: white;
    opacity: 0.9;
}

.nibk-main > tr > td,
.nibk-main > tbody > tr > td {
    padding: 0;
    vertical-align: top;
}

/* === Header-banner === */
.nibk-header {
    width: 100%;
    margin-top: 2px;
    border: 1px solid black;
    border-collapse: separate;
    border-spacing: 0;
}

.nibk-header td {
    padding: 0;
    vertical-align: bottom;
}

.nibk-header-venstre {
    width: 673px;
}

.nibk-header img {
    display: block;
    border: none;
}

.nibk-header-fill img {
    width: 100%;
    height: 100px;
}

/* === Slagord (td.main_menu) === */
.nibk-main td.nibk-slagord {
    border: 1px solid lightblue;
    background-color: #f0f8ff;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 10px;
    text-align: center;
    vertical-align: middle;
}

/* === Kolonner === */
.nibk-main td.nibk-nav-page {
    width: 110px;
    padding-top: 10px;
    background-color: #ffffff;
    opacity: 0.9;
}

.nibk-main td.nibk-main-page {
    width: 550px;
    padding: 0 7px 0 4px;
    border-right: 1px dashed silver;
    text-align: left;
}

.nibk-innhold {
    margin-top: 10px;
}

/* Quirks mode i den gamle siden ignorerte toppmargen på første element i en tabellcelle. */
.nibk-innhold > :first-child,
.nibk-innhold > div:first-child > :first-child {
    margin-top: 0;
}

/* Quirks mode: tabeller arvet ikke skriftvekt/-størrelse fra omgivelsene (f.eks. <strong> rundt
   tabellene i tekstene fra databasen). */
.nibk-innhold table {
    font-size: medium;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: normal;
    white-space: normal;
    text-align: start;
}

/* Quirks mode: en tabellcelle der all tekst ligger i elementer (typisk <font size=2>) fikk
   linjehøyde fra elementene, ikke fra cellens egen skrift. Klassen nibk-q settes av
   NibkHtml.MerkElementCeller på celler som starter med et element. Uten dette blir radene i
   tekstene (Hall of Fame, Rekorder osv.) høyere enn på den gamle siden. */
.nibk-innhold td.nibk-q {
    line-height: 0;
}

.nibk-innhold td.nibk-q :not(:has(font)) {
    line-height: normal;
}

.nibk-main td.nibk-right-page {
    width: 100px;
    background-color: #ffffff;
    opacity: 0.9;
}

/* === Navigasjon (table.nav og td.nav*) === */
.nibk-nav {
    width: 128px;
    margin: 0 auto 8px;
    border-left: 1px solid lightblue;
    border-right: 1px solid lightblue;
    border-bottom: 1px solid lightblue;
    border-collapse: separate;
    border-spacing: 0;
    background-color: white;
}

.nibk-nav > tr > td,
.nibk-nav > tbody > tr > td {
    padding: 0;
    line-height: 12px;
    text-align: left;
}

.nibk-nav td.nibk-nav-header {
    padding: 3px;
    background-color: #0463b4;
    color: white;
    font-family: Verdana, Arial, sans-serif;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
}

.nibk-nav td.nibk-nav-item,
.nibk-nav td.nibk-nav-category,
.nibk-nav td.nibk-nav-last {
    padding-left: 10px;
    padding-top: 2px;
    background-color: #cce6ff;
    font-family: Verdana, sans-serif;
    font-size: 10px;
}

.nibk-nav td.nibk-nav-category {
    font-weight: bold;
}

.nibk-nav td.nibk-nav-last {
    padding-bottom: 4px;
}

.nibk-nav td.nibk-nav-sub {
    padding-left: 12px;
    background-color: #cce6ff;
    font-family: Verdana, sans-serif;
    font-size: 8pt;
}

.nibk-nav td.nibk-nav-item a,
.nibk-nav td.nibk-nav-last a {
    color: #000;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: bold;
}

.nibk-nav td.nibk-nav-sub a {
    padding-left: 10px;
    color: #000;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}

.nibk-nav-kameratene {
    width: 128px;
    margin: 0 auto 8px;
    font-family: Verdana, Arial, sans-serif;
    font-size: 10px;
    font-style: italic;
    text-align: left;
}

.nibk-nav-kameratene a {
    padding-left: 10px;
}

/* === Kalender (asp:Calendar CalendarKamper) === */
.nibk-kalender > tr > td,
.nibk-kalender > tbody > tr > td {
    line-height: normal;
}

.nibk-kalender-tabell {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
    color: black;
    font-family: Verdana, sans-serif;
    font-size: 8pt;
}

.nibk-kalender-tabell td {
    padding: 1px;
    text-align: center;
    font-size: 7pt;
    line-height: 13px;
}

.nibk-kalender-tabell a,
.nibk-main .nibk-kalender-tabell a {
    color: black;
}

.nibk-kalender-tittel > td {
    background-color: #0463b4;
    color: white;
    font-weight: bold;
}

.nibk-kalender-tittel table {
    width: 100%;
    border-collapse: collapse;
}

.nibk-kalender-tittel table td {
    padding: 0;
    font-size: 7pt;
    font-weight: bold;
    color: white;
}

.nibk-kalender-tittel .nibk-kalender-forrige {
    width: 15%;
    text-align: left;
    vertical-align: bottom;
}

.nibk-kalender-tittel .nibk-kalender-maaned {
    width: 70%;
    text-align: center;
}

.nibk-kalender-tittel .nibk-kalender-neste {
    width: 15%;
    text-align: right;
    vertical-align: bottom;
}

.nibk-main .nibk-kalender-tittel a {
    color: white;
}

.nibk-kalender-dagnavn td {
    background-color: #cce6ff;
    font-weight: bold;
}

.nibk-kalender-tabell td.nibk-kalender-velger {
    background-color: #cce6ff;
    width: 12%;
}

.nibk-kalender-tabell td.nibk-kalender-dag {
    width: 12%;
}

.nibk-kalender-tabell td.nibk-kalender-dag.helg {
    background-color: lightsteelblue;
}

.nibk-kalender-tabell td.nibk-kalender-dag.hendelse {
    font-weight: bold;
}

.nibk-kalender-tabell td.nibk-kalender-dag.idag {
    background-color: royalblue;
    color: white;
}

.nibk-main .nibk-kalender-tabell td.idag a {
    color: white;
}

/* === Innlogging === */
.nibk-nav td.nibk-login {
    line-height: normal;
}

.nibk-login form {
    margin: 0;
}

.nibk-login label {
    display: block;
    font-size: 9pt;
}

.nibk-login input[type=text],
.nibk-login input[type=password] {
    display: block;
    box-sizing: border-box;
    width: 100px;
    height: 22px;
    margin: 0;
    padding: 2px 3px;
    border: 1px solid #8e9cb2;
    background-color: white;
    font-size: 9pt;
}

.nibk-login-husk {
    font-size: 16px;
}

.nibk-login input[type=checkbox] {
    margin: 3px 3px 3px 4px;
}

.nibk-login button {
    display: block;
    font-size: 9pt;
}

/* === Høyre kolonne === */
.nibk-hoyre {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.nibk-hoyre > tr > td,
.nibk-hoyre > tbody > tr > td {
    padding: 1px;
    text-align: left;
    vertical-align: top;
}

/* td.header */
.nibk-section-header,
.nibk-main td.nibk-section-header,
.nibk-main .nibk-hoyre > tr > td.nibk-section-header,
.nibk-main .nibk-hoyre > tbody > tr > td.nibk-section-header {
    padding-top: 12px;
    margin-bottom: 4px;
    border-bottom: 2px solid #99cdff;
    color: #000000;
    font-family: Arial, serif, 'Times New Roman', Times;
    font-size: 11px;
    font-weight: bold;
}

/* td.text10 */
.nibk-text10 {
    color: #000;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 10pt;
}

/* td.righttext */
.nibk-right-text {
    color: #000;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 10px;
}

.nibk-hoyre > tr > td.nibk-sponsorer,
.nibk-hoyre > tbody > tr > td.nibk-sponsorer {
    text-align: center;
}

.nibk-sponsorer img {
    border: none;
    vertical-align: bottom;
}

.nibk-hoyre > tr > td.nibk-hoyre-logo,
.nibk-hoyre > tbody > tr > td.nibk-hoyre-logo {
    padding-top: 100%;
    text-align: right;
    vertical-align: bottom;
}

/* === Tabeller i GridView-stil === */

/* SkinID="gridviewStandard" (Standard.skin), CellPadding 4, GridLines None. */
.nibk-gv {
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    background-color: white;
    color: #333333;
}

.nibk-gv th,
.nibk-gv td {
    padding: 4px;
}

.nibk-gv th {
    background-color: #5d7b9d;
    color: white;
    font-weight: bold;
    text-align: left;
    white-space: nowrap;
}

.nibk-main .nibk-gv th a {
    color: white;
    cursor: pointer;
}

.nibk-gv > tbody > tr > td {
    background-color: #f7f6f3;
    color: #333333;
}

.nibk-gv > tbody > tr:nth-child(even) > td {
    background-color: white;
    color: #284775;
}

.nibk-gv .nibk-nowrap,
.nibk-gv-nowrap td {
    white-space: nowrap;
}

.nibk-gv .nibk-midt {
    text-align: center;
}

/* RowStyle / HeaderStyle Font-Size="10pt" */
.nibk-gv-10pt th,
.nibk-gv-10pt td {
    font-size: 10pt;
}

/* Pager-rad (PagerStyle i Standard.skin) */
.nibk-gv > tbody > tr.nibk-gv-pager > td,
.nibk-gv > tfoot > tr > td {
    background-color: #284775;
    color: white;
    text-align: center;
}

.nibk-gv-pager span,
.nibk-gv-pager a {
    padding: 0 2px;
    font-size: 16px;
}

.nibk-main .nibk-gv-pager a {
    color: white;
}

.nibk-gv-pager span {
    color: black;
}

/* Blå GridView (høyre kolonne og kalender.aspx): Header #507CD1, rader #EFF3FB / hvit. */
.nibk-gv-blaa {
    border-collapse: collapse;
    border: 0;
    color: #333333;
}

.nibk-gv-blaa th,
.nibk-gv-blaa td {
    padding: 4px;
    text-align: left;
    white-space: nowrap;
}

.nibk-gv-blaa th {
    background-color: #507cd1;
    color: white;
    font-weight: bold;
}

.nibk-gv-blaa > tbody > tr > td {
    background-color: #eff3fb;
}

.nibk-gv-blaa > tbody > tr:nth-child(even) > td {
    background-color: white;
}

.nibk-gv-blaa .nibk-midt {
    text-align: center;
}

.nibk-gv-liten th,
.nibk-gv-liten td {
    padding: 2px;
    font-size: 8pt;
}

/* Radioknapper (asp:RadioButtonList) */
.nibk-radioliste {
    display: inline;
}

.nibk-radioliste label {
    white-space: nowrap;
}

.nibk-radioliste input {
    margin: 3px 3px 0 5px;
    vertical-align: baseline;
}

.nibk-radioliste label:first-child input {
    margin-left: 4px;
}

/* === Nyheter (table.news, td.news_*) === */
.nibk-news-container {
    border-left: 1px dotted lightblue;
    border-right: 1px dotted lightblue;
    border-bottom: 1px dotted lightblue;
    background: url('/img/layout/index-boll2.gif') #f0f8ff no-repeat right top;
    padding: 3px;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 8pt;
    padding-top: 7px;
    padding-bottom: 7px;
}

.nibk-news-item {
    margin-bottom: 20px;
}

.nibk-news-header {
    color: black;
    font-size: 8pt;
    font-weight: bold;
}

.nibk-news-text {
    padding: 4px 0;
    color: #000000;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 8pt;
}

.nibk-news-meta {
    font-size: 7pt;
}

/* Bursdagsvarsel og siste kamper på forsiden */
.nibk-forside-tabell {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.nibk-forside-tabell > tr > td,
.nibk-forside-tabell > tbody > tr > td {
    padding: 1px;
    text-align: left;
}

/* === Grasrota === */
.nibk-grasrota-banner img {
    display: block;
    border: none;
}

/* === Kampreferat-detalj === */
.nibk-stjerner {
    border-collapse: separate;
    border-spacing: 2px;
}

.nibk-stjerner td {
    padding: 0;
    vertical-align: top;
}

/* === Bilder === */
.nibk-bilder-liste {
    border-collapse: separate;
    border-spacing: 0;
}

.nibk-bilder-liste td {
    padding: 5px;
    text-align: center;
    vertical-align: middle;
}

.nibk-bilder-liste img {
    border: none;
    max-width: 150px;
    max-height: 150px;
    cursor: pointer;
}

/* === Skjema og knapper (admin, medlem, innlogging) uten Bootstrap === */
.nibk-skjema {
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 10pt;
}

.nibk-skjema-rad {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 8px;
}

.nibk-skjema-felt {
    display: flex;
    flex-direction: column;
    flex: 1 1 160px;
    min-width: 0;
}

.nibk-skjema-felt-smal {
    flex: 0 1 110px;
}

.nibk-skjema-felt-bred {
    flex: 1 1 100%;
}

.nibk-skjema-rad-bunn {
    align-items: flex-end;
}

.nibk-felt {
    margin-bottom: 8px;
}

.nibk-skjema-felt > label,
.nibk-etikett {
    display: block;
    margin-bottom: 2px;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 9pt;
    font-weight: bold;
}

.nibk-skjema input[type=text],
.nibk-skjema input[type=email],
.nibk-skjema input[type=password],
.nibk-skjema input[type=number],
.nibk-skjema input[type=date],
.nibk-skjema input[type=time],
.nibk-skjema input:not([type]),
.nibk-skjema select,
.nibk-skjema textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 2px 4px;
    border: 1px solid #8e9cb2;
    background-color: white;
    font-family: inherit;
    font-size: 9pt;
}

.nibk-skjema input[type=checkbox] {
    margin-right: 4px;
}

.nibk-knapperad {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 8px 0;
}

.nibk-knapp {
    display: inline-block;
    padding: 2px 10px;
    border: 1px solid #0463b4;
    border-radius: 2px;
    background-color: #0463b4;
    color: white;
    font-family: Verdana, Arial, sans-serif;
    font-size: 8pt;
    font-weight: bold;
    line-height: 16px;
    cursor: pointer;
}

.nibk-main a.nibk-knapp {
    color: white;
    text-decoration: none;
}

.nibk-knapp:hover {
    background-color: #2461bf;
}

.nibk-knapp:disabled {
    opacity: 0.6;
    cursor: default;
}

.nibk-knapp-sekundaer {
    background-color: #cce6ff;
    border-color: #99cdff;
    color: black;
}

.nibk-main a.nibk-knapp-sekundaer {
    color: black;
}

.nibk-knapp-sekundaer:hover {
    background-color: #b3d9ff;
}

.nibk-knapp-fare {
    background-color: #b32121;
    border-color: #b32121;
}

.nibk-knapp-fare:hover {
    background-color: #8f1a1a;
}

.nibk-knapp-liten {
    padding: 0 6px;
    font-size: 7pt;
    line-height: 14px;
}

.nibk-melding {
    margin: 8px 0;
    padding: 4px 8px;
    border: 1px solid #99cdff;
    background-color: #f0f8ff;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 9pt;
}

.nibk-melding-ok {
    border-color: #7cbf7c;
    background-color: #eef8ee;
}

.nibk-melding-feil {
    border-color: #d08080;
    background-color: #fbeeee;
    color: #8f1a1a;
}

.nibk-melding-advarsel {
    border-color: #e0c060;
    background-color: #fdf8e6;
}

.nibk-dempet {
    color: #666;
}

.nibk-feiltekst {
    color: #b32121;
}

.nibk-oktekst {
    color: #2a7a2a;
}

.nibk-fet {
    font-weight: bold;
}

.nibk-luft-over {
    margin-top: 12px;
}

.nibk-luft-under {
    margin-bottom: 8px;
}

/* Overskrift på admin-/medlemssider (som td.header, men større) */
.nibk-admin-tittel {
    margin: 0 0 8px;
    padding-bottom: 2px;
    border-bottom: 2px solid #99cdff;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: bold;
}

/* Syncfusion-grid inne i nibk-layouten, stylet som de gamle GridView-tabellene */
.nibk-main .e-grid {
    border-color: #d4d0c8;
    font-family: Geneva, Arial, Helvetica, sans-serif;
}

.nibk-main .e-grid .e-headercell,
.nibk-main .e-grid .e-detailheadercell {
    background-color: #5d7b9d;
    color: white;
}

.nibk-main .e-grid .e-headercell .e-headertext,
.nibk-main .e-grid .e-headercell .e-sortfilterdiv,
.nibk-main .e-grid .e-headercell .e-icons {
    color: white;
    font-weight: bold;
    font-size: 9pt;
}

.nibk-main .e-grid .e-gridheader {
    background-color: #5d7b9d;
    border-bottom-color: #5d7b9d;
}

.nibk-main .e-grid .e-rowcell {
    padding: 3px 4px;
    font-size: 9pt;
    color: #333333;
}

.nibk-main .e-grid .e-row:nth-child(odd) .e-rowcell {
    background-color: #f7f6f3;
}

.nibk-main .e-grid .e-row:nth-child(even) .e-rowcell {
    background-color: white;
    color: #284775;
}

.nibk-main .e-grid .e-row.e-altrow .e-rowcell {
    background-color: white;
}

.nibk-main .e-grid .e-row:hover .e-rowcell {
    background-color: #d1ddf1;
}

.nibk-main .e-grid .e-gridpager,
.nibk-main .e-grid .e-pager {
    font-size: 9pt;
}

/* Modal (admin) */
.nibk-modal-bakgrunn {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
}

.nibk-modal {
    width: min(480px, 92vw);
    border: 2px solid black;
    background: white;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-size: 10pt;
}

.nibk-modal-tittel {
    padding: 3px 6px;
    background-color: #0463b4;
    color: white;
    font-family: Verdana, Arial, sans-serif;
    font-size: 10px;
    font-weight: bold;
}

.nibk-modal-innhold {
    padding: 8px;
}

.nibk-modal-knapper {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    padding: 6px 8px;
    border-top: 1px solid #cce6ff;
}

.nibk-skjema-rad > hr {
    flex-basis: 100%;
    width: 100%;
}

.nibk-skjema-felt > .e-btn,
.nibk-skjema-felt > a.nibk-knapp,
.nibk-skjema-felt > button {
    align-self: flex-start;
}

/* EmptyDataText-rad uten radfarge */
.nibk-gv-blaa > tbody.nibk-gv-tom > tr > td {
    background-color: transparent;
}

.nibk-login-side {
    max-width: 320px;
}
