/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */


html {
  color: var(--color-text);
}

#taskcontainer {
  background-color: var(--color-info-accent);
  border-left: 24px solid var(--color-selected);
  border-right: 24px solid var(--color-selected);
  border-radius: var(--radius-md);
  position: relative;
  padding-right: 4rem;
}


::-moz-selection {
  background: var(--color-selection);
  text-shadow: none;
}

::selection {
  background: var(--color-selection);
  text-shadow: none;
}

.geomap {
  width: 100%;
  height: 550px;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid var(--color-hr);
  margin: var(--space-6) 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: var(--color-hr);
  color: var(--color-inverse);
  padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles monitor
   ========================================================================== */
   /* Modern select box */
   select {
     padding: 0.5rem 2.5rem 0.5rem 0.75rem;
     font-size: 1rem;
     font-weight: 500;
     color: var(--neutral-800, #1f2937);
     background-color: var(--neutral-0, #fff);
     border: 1px solid var(--color-code-border);
     border-radius: 0.6rem;
     box-shadow: var(--shadow-sm, 0 1px 2px rgba(0,0,0,0.05));
     cursor: pointer;
     transition: all 0.15s ease;
   }

   /* Add a custom arrow using a background SVG */
/*
   select {
     background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg fill='none' stroke='%2364748b' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/ %3E%3C/svg%3E");
     background-repeat: no-repeat;
     background-position: right 0.75rem center;
     background-size: 1rem;
   }
*/
   /* Hover / focus states */
   select:hover {
     border-color: var(--primary, #2563eb);
     box-shadow: var(--shadow, 0 2px 8px rgba(0,0,0,0.08));
   }
   select:focus {
     outline: none;
     border-color: var(--primary, #2563eb);
     box-shadow: 0 0 0 3px rgba(37,99,235,0.25);
   }

   /* Disabled state */
   select:disabled {
     background-color: var(--neutral-50, #f8fafc);
     color: var(--neutral-500, #64748b);
     cursor: not-allowed;
   }

   option {
     font-size: inherit;
     line-height: inherit;
     padding: 0.4rem 0.75rem;
   }

   .change label {
     display: block;
     padding: 0.25rem 0.6rem;
     border: 2px solid var(--color-info-accent);
     border-radius: 0.5rem;
     background-color: var(--primary-50, #eff6ff);
     color: var(--primary, #2563eb);
     font-weight: 600;
     font-size: 1.5rem;
   }


.tooltip {
  position: relative;
}

.tooltiptext {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 125%;  /* show above parent */
  left: 50%;
  transform: translateX(-50%);
  background-color: #111827;
  color: #fff;
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  transition: opacity 0.2s;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 200px;
  background-color: var(--color-tooltip-bg);
  color: var(--color-tooltip-text);
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

/*
.tooltip:hover .tooltiptext {
  visibility: visible;
}
*/

.monitor-student {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.monitor-student > p{
  width:100%;
}

.monitor-head {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}



.monitor-assignment input {
  font-size: 1.5em;
  margin: 0.25em;
}

.monitor-student:nth-child(even) {background-color: var(--color-zebra-even);}
.monitor-student:nth-child(odd) {background-color: var(--color-zebra-odd);}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

@media print { main {page-break-after: always;}}

* {
     box-sizing: border-box;
   }

 html {
   font-weight: 300;
 }

 body {
   background: var(--color-zebra-even);
   color: var(--color-text);
 }

.schemata_section {
  text-align: center;
}
 img {
   max-width: 100%;
 }

 .change .CodeMirror, .change div > .CodeMirror {
  margin: 1em 1em 1em 1em;
  border: 1px solid var(--color-border);
  font-family: Arial, monospace;
  position: inherit;
}

/*
.change label {
  display:block;
  font-size: 2em;
  margin-top: 0.25em;
}
*/

.change input, .change select {
  font-size: 1.5em;
  margin: 0.25em;
}


.mainsec {
  //border: 1px solid var(--color-border);
  //border-left: 4px solid var(--color-highlight);
  //border-right: 4px solid var(--color-highlight);
  //border-top: 2px solid var(--color-highlight);
  //border-bottom: 2px solid var(--color-highlight);
  //border-radius: var(--radius-md);
  //background: var(--color-bg);
}

.mainsec h1{
    padding: 2rem;
}

.codearea {
 border: 4px solid var(--color-code-border);/*var(--color-border);   /* light neutral border */
 border-radius: var(--radius-md);         /* smooth corners */
 background: var(--color-highlight);             /* keep it card-like */
 padding: 0px;
 box-shadow: var(--shadow-sm);            /* subtle lift */
}

#divcheck {
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-highlight);
  border-right: 4px solid var(--color-highlight);
  border-top: 16px solid var(--color-highlight);
  border-bottom: 16px solid var(--color-highlight);
  border-radius: var(--radius-md);
  background: var(--color-highlight);
}

#but_check {
  width : 100%;
}

code {
  color: var(--color-code-text);
  font-family: "Courier New", Courier, monospace;
  font-weight: 550;
}

div > .CodeMirror {
  border: 1px solid var(--color-border);
  height: auto !important;
  font-family: Arial, monospace;
  font-size: 1.25em;
  //position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  min-height: 13rem;
}

.CodeMirror-scroll {
  overflow-x: auto;
  overflow-y: auto;
  height: auto !important;
  min-height: inherit !important;
}

.codearea {
  //display:inline-block;
  flex:1 1 auto;
  align-items: flex-start;
  margin-top:0;
  //height:16em;
  height:auto;
  //position:relative;
  width: 100%;
}




.category_label, .difficulty_label, .schemata_label{
  color: black;
  user-select: none;
  border: 1px solid var(--color-primary);
  padding: .35rem;
  font-size: 0.75rem;
  border-radius: .25rem;
  height:100%;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  margin:0.1em;
  height:100%;
}


.category, .difficulty, .schemata {
  padding: 0.2em;
  flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
  height:100%;
  align-content: space-between;
  }

  h4 {
    margin: 0;
    padding: 0.2em;
  }


.category_check + label {
  background-color: var(--color-disabled);
}

.category_check:checked + label {
  background-color: var(--color-highlight);
}

.difficulty_check + label {
  background-color: var(--color-disabled);
}

.difficulty_check:checked + label {
  background-color: var(--color-highlight);
}

.schemata_check + label {
  background-color: var(--color-disabled);
}


.schemata_check:checked + label {
  background-color: var(--color-highlight);
}

.vis-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

   table {
     width: 100%;
     /* soft card look */
  background: var(--neutral-0, #fff);
  border: 1px solid var(--color-code-border);
  border-collapse: separate;      /* keep radius */
  border-spacing: 0;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(2,6,23,.08);
  overflow: hidden;
   }


   tr:nth-child(even) {background-color: var(--color-zebra-even);}
   tr:nth-child(odd) {background-color: var(--color-zebra-odd);}


#lang-dropdown, .selected-lang {
    background: #fff;
    border: 1px solid #c9d7f0;            /* same bluish-gray border as panels */
    border-radius: 8px;                   /* matches your other rounded corners */
    box-shadow: 0 4px 12px rgba(0,0,0,.12); /* slightly stronger shadow for “floating” look */
    overflow: hidden;                     /* keeps corners clean */
}

/* Items inside */
#lang-dropdown > div {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
}

   .dropdown > div:nth-child(even) {background-color: var(--color-zebra-even);}
   .dropdown > div:nth-child(odd) {background-color: var(--color-zebra-odd);}

#lang-dropdown > div:hover {
    background: #e1ecff;                  /* stronger hover feedback */
}

   td {
     border: 1px solid var(--color-border);
     padding: 0.35rem 0.6rem;   /* smaller, denser */
     line-height: 1.3;          /* tighter rows */
  }

  .check {
    background-color: var(--color-warning-bg);
    height:100%;
    margin:0.1em;
    font-weight: bold;
    text-align: center;
    position: relative;
    padding: .25rem 1.25rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    border-radius: var(--radius-md);
    background: var(--color-bg);
    border: 2px solid var(--color-border);
    font-weight: 550;
  }

  .check.ok {
    border: 2px solid var(--color-success-border);
  }

  .check.nok {
    border: 2px solid var(--color-danger-border);
  }

  tr {
     font-weight: bold;
     font-family: "Courier New", Courier, monospace;
     max-width: 100%;
  }


  .ok, tr.ok, span.ok, #taskbox span.ok {
    /*color: var(--color-success);*/
    background-color: var(--color-success-bg);
    /*border-color: var(--color-success-border);*/
  }

  .nok, tr.nok, span.nok,  #taskbox span.nok {
      color: var(--color-danger);
      background-color: var(--color-danger-bg);
      border-color: var(--color-danger-border);
    }


    th.ok {
      font-weight: var(--font-weight-table-th);
      text-align: left;
      padding: .65rem .75rem;
      border-bottom: 4px solid var(--color-success);
    }

    th.nok {
      font-weight: var(--font-weight-table-th);
      text-align: left;
      padding: .65rem .75rem;
      border-bottom: 4px solid var(--color-danger);
    }


    .warning, tr.warning, span.warning,  #taskbox span.warning {
      color: var(--color-warning);
      background-color: var(--color-warning-bg);
      border-color: var(--color-warning-border);
    }

    #taskbox .ok::after, #checks .ok::after {
        content: "✔️ ";
        font-size: 0.3em;
    }

    #taskbox .nok::after, #checks .nok::after {
        content: "❌ ";
        font-size: 0.3em;
    }

    #taskbox .warning::after, #checks .warning::after {
        content: "⚠️ ";
        font-size: 0.3em;
    }


  .admin{
    color: var(--color-success);
    background-color:var(--color-admin-bg);
    border-color: var(--color-admin-border);
    margin: 0.5em;
  }

  #task_content .CodeMirror {
    background-color: var(--color-code-bg);
  }

  aside{
    min-width:10%;
  }



  button, #div_assignment button {
    width: auto;                                  /* override */
  padding: .5rem .9rem;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-primary-contrast);
  box-shadow: var(--shadow-sm);
  }

button:hover {
    background: #0ea5e9;       /* hover */
    color: #ffffff;            /* white text */
    transform: translateY(-1px);
}

button[aria-selected="true"] {
    background: #38bdf8;    /* active lighter cyan-blue */
    color: #0f172a;         /* dark text for contrast */
}

.bookmark {
   display: flex;
   flex-direction: column; /* stack children vertically */
   align-items: flex-end;
   gap: 0rem; /* space between button and input */
   position: absolute;
   top: 0rem;
   right: 0rem;
   margin: 0;
   height:100%;
}



 .bookmark button,
 .bookmark input {
   margin: 0; /* reset default margins */
 }

 .bookmark button, .bookmark input, #div_assignment .bookmark button {
   border-radius: 10px 0 0 10px;
   border: 2px solid var(--color-bookmark-border);
   padding: 4px 8px;
   width: 3.75rem;
   height: 1.8rem;
   text-align: center;
   font-size: 1rem;
 }

 #div_assignment .bookmark .close{
   width: 1rem;
 }

  .bookmark button{
    background-color: var(--color-selected);
    border-color: var(--color-selected);
  }

  #div_assignment .bookmark button{
    border-color: var(--color-primary);
  }


  button:disabled {
    background-color: var(--color-disabled);
    border: var(--color-primary);
  }

th {
  background-color: var(--color-th-bg);
  color: var(--color-text);
  font-weight: 600;
  padding: 0.6rem 0.75rem;
}

.compare th {
    background: #dfe3e8; /* #2563eb */
}




.exam {
  color: var(--color-danger);
  background-color: var(--color-danger-bg);
  border-color: var(--color-danger-border);
  border-radius: var(--radius-md);
  font-weight: bold;
  --font-family: "Courier New", Courier, monospace;
  --font-size: large;
  --line-height: 1.5em;
  padding: 4px;
}

#examinfo {
  display : flex;
  justify-content: space-between;
  flex-direction: column;
}

.error {
  color: var(--color-danger);
  border: 1px solid var(--color-danger-border);
  border-left: 4px solid var(--color-danger-border);
  border-right: 4px solid var(--color-danger-border);
  background-color: var(--color-danger-bg);
  font-weight: bold;
  font-family: "Courier New", Courier, monospace;
  font-size: large;
  line-height: 1.5em;
  padding: 4px 4px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}


#assignment input {
  --margin:0.6em;
  --padding:0.2em 2em;
}

div.errorassign input {
  color: var(--color-danger);
  background-color: var(--color-danger-bg);
  border-color: var(--color-danger-border);
}



#hint_content {
    background-color: var(--color-warning-bg);
    max-width: 25em;
    border: 1px solid var(--color-hint-border);
    border-left: 4px solid var(--color-hint-border);
    border-right: 4px solid var(--color-hint-border);
    padding: 4px 8px;
    color: var(--color-hint);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

#settings, #taskselect {
  padding-left:1.5rem;
}

section h3, .assignheader {
  font-size: 1.5rem;
  margin-bottom: .5rem;
  font-weight: 200;
  line-height: 1.2;
  color: var(--color-text);
  text-align: left;
  line-height: 2em;
  padding-left: 0.3em;
  margin-top: 0.5rem;

  margin-block-start: 0em;
  margin-block-end: 0em;
  background: var(--color-info-accent);
}

#assignment_name {
  background-color: var(--color-highlight);
}




#div_assignment {
  border-left: 24px solid var(--color-primary);
  border-right: 24px solid var(--color-primary);
  border-radius: var(--radius-md);
  background-color: var(--color-highlight);
}

.assignment_task {
  border: 1px solid var(--color-code-border);
  border-radius: var(--radius-md);
}

.assignheader
{
    position: relative;
    display: flex;
	flex-direction: row;
	width:100%;
	justify-content: space-between;
	align-items: center;
    background: var(--color-highlight);
    color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text);
  transition: background-color 0.2s, transform 0.1s;
}



#taskdiv {
  //background-color: var(--color-info-bg);
  gap:0.25rem;
  //padding-bottom: .75em;
}



h2 {
  font-size: 2rem;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text);
  text-align: left;

}

p {
  font-size: 1.5rem;
  margin: .2em;
   font-weight: 500;
   line-height: 1.2;
   color: var(--color-text);
   text-align: left;

}

.smallText {
  font-size: 1.2rem;
}

.taskcategory{
    border: 2px solid var(--color-highlight);
    //border-top: 1.5rem solid var(--color-highlight);
    border-radius: var(--radius-md);
    background-color: var(--color-info-bg);
    //padding: 0 0.25rem;
    //padding: 0.25rem;
    //margin: 0px 4px;
}
.taskcategory h3 {
    background: var(--color-highlight);
}

#taskai {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: auto;
  flex-grow: 1;
  padding-bottom: 0.75rem;
  min-width: 30%;
}

#predefinedTasks {
   flex-grow: 1;
    padding-bottom: 0.75rem;
}

#sec_predev {
     background-color: var(--color-info-bg);
}


#task_description {
  background-color: var(--color-info-accent);
  line-height: 1.5em;
  margin: 0rem 0;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 1rem;
  box-shadow: var(--shadow-sm);
}

th {
  border-top: none;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  vertical-align: bottom;
  font-size: 1rem;
  font-weight: 900;
  text-align: inherit;
}

td {
  vertical-align: middle;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  font-size: 1rem;
  font-weight: 400;
  border-bottom: 1px solid var(--color-code-border);
}

table {
  table-layout: fixed;
  width: 100%;
}

th, td {
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

td + td, th + th {
  border-left: 1px solid var(--color-code-border);
}


/*
section {
  background-color: var(--color-bg);
}
*/


#taskid {
  line-height: 1.5em;
}

#assignments {
    border: 2px solid var(--color-highlight);
    border-radius: var(--radius-md);
}

#assignment, #assignment>div{
  display:flex;
  flex-direction: row;
  flex-wrap: wrap;
}

#assignment>div{
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

input {
  border-radius: .25rem;
}

#assignment>div>input{

}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
font-weight: 600;
//max-width: 36rem;
}


.assignment{
  background: var(--color-info-bg);
  border: 1px solid var(--color-assignment-border);
  border-left: 4px solid var(--color-assignment-border-x);
  border-right: 4px solid var(--color-assignment-border-x);
  border-radius: var(--radius-md);
  color: var(--color-text);
  padding: 0.75rem 1rem;
  margin: 2px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text);
  transition: background-color 0.2s, transform 0.1s;
}

.assignment-item:hover {
  background: var(--color-info-bg);
  cursor: pointer;
  transform: translateY(-1px);
}

#taskbox span {
  background-color: var(--color-bg);
  margin: 0em;
  display: inline-block;
  font-size: 2em;
  margin-left: 0.1em;
  padding-right: 0.2em;
  padding-left: 0.2em;
}


 #container_categories h4,
 #container_schemata h4,
 #container_difficulties h4 {
   min-width: 100px;
   padding-top: 8px;
 }


.override {
	display:inline;
	margin: 0;
	padding: 0;
}

span.override {
	display: flex;
}
input.override {
	margin-left: 1em;
	margin-right: 1em;
}

#assignment_content {
  padding-bottom: 16px;
  padding-left: 16px;
}


 @media only screen and (min-width: 35em) {

button, #div_assignment button {
  width:fit-content;
}


   .grade-task > span, .grade-grade > span {
     display: flex;
     flex-direction: row;
     justify-content: space-between;
   }

  .grade-task h4 {
    margin: 0.3em;
    padding: 0;
  }

   #taskdiv, #divcheck {
     display: block;
     flex-direction: column;
   }

   /*
  .highlightBackground {
    background-color: var(--color-primary-bg);
  }
    */


   #taskselect {
     min-width: 12rem;
     margin-top: 8px;
   }

   #task_content{
     flex-grow: 1;
   }

   #container_categories, #container_difficulties,#container_schemata  {
     display: flex;
   }


 }


   @media only screen and (min-width: 60em) {


     #taskdiv, #divcheck  {
       display: flex;
       justify-content: space-between;
       flex-direction: row;
     }

     #assignment_content {
       display: flex;
     }


     #assignment{
       flex-direction: row;
       flex-wrap: wrap;
     }


     #div_sol {
       width: 100%;
     }

     #wrapper_solution{
       width: 100%;
     }

     #task_content {
      display: flex;
      justify-content: space-evenly;
     }

     #task_content > * {
      flex-grow: 0;
     }



      main{
        display: flex;
        flex-direction: column;
      }


      .compare{
        display: flex;
          justify-content:space-between;
      }

     section {
        flex-grow: 1;

        margin: 4px;
      }

      .close-menu{
        display: none;
      }

      .examinfo {
        display:flex;
        flex-direction: row;
        justify-content: space-between;
      }

      .examinfo button {
        min-width: 10em;
      }

      #exam {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }



   }


   @media only screen and (min-width: 80em) {
     #taskdiv, #divcheck {
       display: flex;

       #assignment{
         flex-direction: row;
       }
     }
  }

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
  display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: var(--color-inverse) !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid var(--color-border);
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}





