@charset "UTF-8";
html, body {
  height: 100%;
}

body {
  color: #000;
  background: #fff;
  margin: 0;
  font-family: "Lato", Arial, Helvetica, sans-serif;
  font-size: 13pt;
  line-height: 1.7em;
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #333;
    color: #fff;
  }
}
@media print {
  body {
    color: #000;
    background-color: #fff;
  }
}
.hidden {
  display: none;
}

.accessible-hidden {
  clip: rect(1px 1px 1px 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

h2 {
  background-repeat: no-repeat;
  background-size: 1.2em;
  font-size: 130%;
  padding-left: 1.7em;
  text-transform: uppercase;
}

h1 {
  margin-top: 0;
}

h2,
h3,
h4 {
  margin-top: 2em;
}

h2 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23000'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 8.7682614,294.05483 -0.904748,-1.25677 H 5.5097216 c -2.2378001,0 -3.2709229,-0.25089 -3.7040149,-0.89951 -0.1069123,-0.16011 -0.1962092,-1.3857 -0.1984375,-2.72351 -0.00542,-3.25622 -0.00553,-3.25615 4.7584485,-3.25615 4.7729143,0 4.7625003,-0.007 4.7625003,3.3034 0,1.90144 -0.09695,2.57659 -0.415774,2.89541 -0.228676,0.22868 -0.52011,0.41577 -0.647631,0.41577 -0.1275222,0 -0.2678458,0.62508 -0.3118307,1.38907 l -0.079973,1.38906 z'/%3E%3C/g%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
  h2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23bbb'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 8.7682614,294.05483 -0.904748,-1.25677 H 5.5097216 c -2.2378001,0 -3.2709229,-0.25089 -3.7040149,-0.89951 -0.1069123,-0.16011 -0.1962092,-1.3857 -0.1984375,-2.72351 -0.00542,-3.25622 -0.00553,-3.25615 4.7584485,-3.25615 4.7729143,0 4.7625003,-0.007 4.7625003,3.3034 0,1.90144 -0.09695,2.57659 -0.415774,2.89541 -0.228676,0.22868 -0.52011,0.41577 -0.647631,0.41577 -0.1275222,0 -0.2678458,0.62508 -0.3118307,1.38907 l -0.079973,1.38906 z'/%3E%3C/g%3E%3C/svg%3E");
  }
}
.portfolio h2,
.portfolio_item h2,
.home h2.latest-work {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23000' %3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 3.9929758,295.1205 c -0.677603,-0.52025 -1.0354054,-1.40279 -1.0354054,-2.55388 v -1.07573 h 2.38125 2.38125 v 1.07573 c 0,1.86717 -0.8353845,2.87619 -2.38125,2.87619 -0.5093229,0 -1.1149531,-0.14504 -1.3458446,-0.32231 z m -1.0354054,-5.42878 c 0,-1.19619 0.3725707,-1.64041 1.3758334,-1.64041 0.712611,0 0.7408333,0.0504 0.7408333,1.32291 v 1.32292 H 4.0159038 c -1.0490497,0 -1.0583334,-0.009 -1.0583334,-1.00542 z m 2.9104167,-0.3175 c 0,-1.20404 0.054681,-1.32291 0.6085417,-1.32291 0.8722796,0 1.2435416,0.48975 1.2435416,1.64041 0,0.97266 -0.030172,1.00542 -0.9260416,1.00542 H 5.8679871 Z m 2.9738519,-0.40868 c -0.320911,-0.22477 -0.7460806,-0.96891 -0.9448216,-1.65364 -0.3193798,-1.10038 -0.4555635,-1.2544 -1.1725738,-1.32619 -0.6271133,-0.0628 -0.8504303,0.0423 -0.9839629,0.46302 -0.2147583,0.67664 -0.6662436,0.71465 -0.6662436,0.0561 0,-0.66911 0.8295137,-1.36392 1.6283588,-1.36392 0.8447897,0 1.8112245,1.02255 1.8112245,1.91638 0,0.80726 0.6218082,1.5232 1.3229167,1.5232 0.5243239,0 1.3229169,-0.65971 1.3229169,-1.09284 0,-0.14372 0.107885,-0.19463 0.239744,-0.11313 0.371673,0.2297 0.02031,1.17914 -0.596174,1.61094 -0.709236,0.49677 -1.2313001,0.49147 -1.961385,-0.0199 z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

@media (prefers-color-scheme: dark) {
  .portfolio h2,
  .portfolio_item h2,
  .home h2.latest-work {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23bbb' %3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 3.9929758,295.1205 c -0.677603,-0.52025 -1.0354054,-1.40279 -1.0354054,-2.55388 v -1.07573 h 2.38125 2.38125 v 1.07573 c 0,1.86717 -0.8353845,2.87619 -2.38125,2.87619 -0.5093229,0 -1.1149531,-0.14504 -1.3458446,-0.32231 z m -1.0354054,-5.42878 c 0,-1.19619 0.3725707,-1.64041 1.3758334,-1.64041 0.712611,0 0.7408333,0.0504 0.7408333,1.32291 v 1.32292 H 4.0159038 c -1.0490497,0 -1.0583334,-0.009 -1.0583334,-1.00542 z m 2.9104167,-0.3175 c 0,-1.20404 0.054681,-1.32291 0.6085417,-1.32291 0.8722796,0 1.2435416,0.48975 1.2435416,1.64041 0,0.97266 -0.030172,1.00542 -0.9260416,1.00542 H 5.8679871 Z m 2.9738519,-0.40868 c -0.320911,-0.22477 -0.7460806,-0.96891 -0.9448216,-1.65364 -0.3193798,-1.10038 -0.4555635,-1.2544 -1.1725738,-1.32619 -0.6271133,-0.0628 -0.8504303,0.0423 -0.9839629,0.46302 -0.2147583,0.67664 -0.6662436,0.71465 -0.6662436,0.0561 0,-0.66911 0.8295137,-1.36392 1.6283588,-1.36392 0.8447897,0 1.8112245,1.02255 1.8112245,1.91638 0,0.80726 0.6218082,1.5232 1.3229167,1.5232 0.5243239,0 1.3229169,-0.65971 1.3229169,-1.09284 0,-0.14372 0.107885,-0.19463 0.239744,-0.11313 0.371673,0.2297 0.02031,1.17914 -0.596174,1.61094 -0.709236,0.49677 -1.2313001,0.49147 -1.961385,-0.0199 z'/%3E%3C/g%3E%3C/svg%3E%0A");
  }
}
.cv h2 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23000'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 1.7236957,295.92114 c -0.072772,-0.18964 -0.099884,-2.66301 -0.060249,-5.49638 l 0.072063,-5.15158 2.2489583,-0.0741 2.2489583,-0.0741 2.4565475,2.46953 2.4565472,2.46953 -0.0753,3.02855 -0.0753,3.02855 -4.5699589,0.0724 c -3.5637878,0.0565 -4.5990904,-0.003 -4.7022715,-0.27238 z m 8.0816057,-3.16763 v -2.17695 L 7.7609877,288.52018 C 5.7259559,286.47314 5.7103391,286.46381 4.3214044,286.46381 H 2.9261348 v 4.23333 4.23333 h 3.4395833 3.4395833 z m -5.55625,0.32488 c 0,-0.14552 0.47625,-0.26458 1.0583334,-0.26458 0.5820833,0 1.0583333,0.11906 1.0583333,0.26458 0,0.14552 -0.47625,0.26458 -1.0583333,0.26458 -0.5820834,0 -1.0583334,-0.11906 -1.0583334,-0.26458 z m 0,-1.32292 c 0,-0.15434 0.8819444,-0.26458 2.1166667,-0.26458 1.2347223,0 2.1166667,0.11024 2.1166667,0.26458 0,0.15434 -0.8819444,0.26459 -2.1166667,0.26459 -1.2347223,0 -2.1166667,-0.11025 -2.1166667,-0.26459 z m 0,-1.32291 c 0,-0.14926 0.7496527,-0.26459 1.7197917,-0.26459 0.970139,0 1.7197917,0.11533 1.7197917,0.26459 0,0.14925 -0.7496527,0.26458 -1.7197917,0.26458 -0.970139,0 -1.7197917,-0.11533 -1.7197917,-0.26458 z m 0,-1.45521 c 0,-0.28663 0.2939815,-0.39688 1.0583334,-0.39688 0.7643518,0 1.0583333,0.11025 1.0583333,0.39688 0,0.28663 -0.2939815,0.39687 -1.0583333,0.39687 -0.7643519,0 -1.0583334,-0.11024 -1.0583334,-0.39687 z m 5.3467551,-2.32512 c -0.6123819,-0.62397 -1.1134217,-1.21928 -1.1134217,-1.32292 0,-0.10363 0.5953125,-0.18842 1.3229166,-0.18842 h 1.3229166 v 1.32292 c 0,0.7276 -0.09427,1.32291 -0.209495,1.32291 -0.115222,0 -0.710535,-0.51052 -1.3229165,-1.13449 z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

@media (prefers-color-scheme: dark) {
  .cv h2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23bbb'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 1.7236957,295.92114 c -0.072772,-0.18964 -0.099884,-2.66301 -0.060249,-5.49638 l 0.072063,-5.15158 2.2489583,-0.0741 2.2489583,-0.0741 2.4565475,2.46953 2.4565472,2.46953 -0.0753,3.02855 -0.0753,3.02855 -4.5699589,0.0724 c -3.5637878,0.0565 -4.5990904,-0.003 -4.7022715,-0.27238 z m 8.0816057,-3.16763 v -2.17695 L 7.7609877,288.52018 C 5.7259559,286.47314 5.7103391,286.46381 4.3214044,286.46381 H 2.9261348 v 4.23333 4.23333 h 3.4395833 3.4395833 z m -5.55625,0.32488 c 0,-0.14552 0.47625,-0.26458 1.0583334,-0.26458 0.5820833,0 1.0583333,0.11906 1.0583333,0.26458 0,0.14552 -0.47625,0.26458 -1.0583333,0.26458 -0.5820834,0 -1.0583334,-0.11906 -1.0583334,-0.26458 z m 0,-1.32292 c 0,-0.15434 0.8819444,-0.26458 2.1166667,-0.26458 1.2347223,0 2.1166667,0.11024 2.1166667,0.26458 0,0.15434 -0.8819444,0.26459 -2.1166667,0.26459 -1.2347223,0 -2.1166667,-0.11025 -2.1166667,-0.26459 z m 0,-1.32291 c 0,-0.14926 0.7496527,-0.26459 1.7197917,-0.26459 0.970139,0 1.7197917,0.11533 1.7197917,0.26459 0,0.14925 -0.7496527,0.26458 -1.7197917,0.26458 -0.970139,0 -1.7197917,-0.11533 -1.7197917,-0.26458 z m 0,-1.45521 c 0,-0.28663 0.2939815,-0.39688 1.0583334,-0.39688 0.7643518,0 1.0583333,0.11025 1.0583333,0.39688 0,0.28663 -0.2939815,0.39687 -1.0583333,0.39687 -0.7643519,0 -1.0583334,-0.11024 -1.0583334,-0.39687 z m 5.3467551,-2.32512 c -0.6123819,-0.62397 -1.1134217,-1.21928 -1.1134217,-1.32292 0,-0.10363 0.5953125,-0.18842 1.3229166,-0.18842 h 1.3229166 v 1.32292 c 0,0.7276 -0.09427,1.32291 -0.209495,1.32291 -0.115222,0 -0.710535,-0.51052 -1.3229165,-1.13449 z'/%3E%3C/g%3E%3C/svg%3E%0A");
  }
}
.contact h2 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23000'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 1.6741652,294.60773 c -0.074079,-0.19304 -0.1011913,-1.89251 -0.060249,-3.77658 l 0.07444,-3.42559 h 4.6302084 4.6302084 v 3.70416 3.70417 l -4.5699594,0.0724 c -3.6041465,0.0571 -4.5984242,-0.002 -4.7046484,-0.27858 z m 8.0839827,-2.96884 c 0,-1.0914 -0.05335,-1.98437 -0.1185556,-1.98437 -0.065206,0 -0.8391117,0.59965 -1.7197916,1.33256 l -1.6012361,1.33256 -1.6012361,-1.33256 c -0.88068,-0.73291 -1.6545862,-1.33256 -1.7197917,-1.33256 -0.065205,0 -0.1185556,0.89297 -0.1185556,1.98437 v 1.98438 h 3.4395834 3.4395833 z m -2.2489583,-2.11067 1.0583333,-0.91217 H 6.3185646 4.0696062 l 1.0583334,0.91217 c 0.5820833,0.5017 1.1178645,0.91217 1.190625,0.91217 0.07276,0 0.6085416,-0.41047 1.190625,-0.91217 z' id='path1000'/%3E%3C/g%3E%3C/svg%3E%0A");
}

@media (prefers-color-scheme: dark) {
  .contact h2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23bbb'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 1.6741652,294.60773 c -0.074079,-0.19304 -0.1011913,-1.89251 -0.060249,-3.77658 l 0.07444,-3.42559 h 4.6302084 4.6302084 v 3.70416 3.70417 l -4.5699594,0.0724 c -3.6041465,0.0571 -4.5984242,-0.002 -4.7046484,-0.27858 z m 8.0839827,-2.96884 c 0,-1.0914 -0.05335,-1.98437 -0.1185556,-1.98437 -0.065206,0 -0.8391117,0.59965 -1.7197916,1.33256 l -1.6012361,1.33256 -1.6012361,-1.33256 c -0.88068,-0.73291 -1.6545862,-1.33256 -1.7197917,-1.33256 -0.065205,0 -0.1185556,0.89297 -0.1185556,1.98437 v 1.98438 h 3.4395834 3.4395833 z m -2.2489583,-2.11067 1.0583333,-0.91217 H 6.3185646 4.0696062 l 1.0583334,0.91217 c 0.5820833,0.5017 1.1178645,0.91217 1.190625,0.91217 0.07276,0 0.6085416,-0.41047 1.190625,-0.91217 z' id='path1000'/%3E%3C/g%3E%3C/svg%3E%0A");
  }
}
.tools h2 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' version='1.1' fill='%23000'%3E%3Cg transform='translate(0,-284.29998)'%3E%3Cpath d='m 35.509322,298.52692 3.900801,-4.0183 1.8507,-0.60495 1.850726,-0.60494 1.62922,-2.3703 c 0.896089,-1.30366 1.653154,-2.44213 1.682429,-2.52996 0.02928,-0.0878 -0.718991,-0.87734 -1.662845,-1.7545 l -1.716052,-1.59484 -2.408747,1.72645 -2.408745,1.72646 -0.599502,1.71717 -0.59953,1.71718 -4.09359,4.09334 -4.093591,4.09333 1.204119,1.21121 c 0.662274,0.66617 1.285126,1.21124 1.384139,1.21124 0.09901,0 1.935344,-1.80825 4.08062,-4.0183 z m -6.51541,4.02009 -5.38182,-5.28161 -0.743536,0.72571 -0.743485,0.7257 5.343925,5.34571 5.343923,5.3457 0.781329,-0.78972 0.781306,-0.78972 z m -18.095223,26.81246 c 0.912975,-0.42244 1.581048,-1.03496 6.707181,-6.14917 l 5.693131,-5.67991 -0.927805,-0.93759 -0.92783,-0.9376 -2.367898,2.3372 c -2.155781,2.12777 -2.417522,2.3372 -2.921088,2.3372 -0.411851,0 -0.635848,-0.10496 -0.87653,-0.41101 -0.678272,-0.86226 -0.513154,-1.15488 2.190676,-3.88197 l 2.168396,-2.18717 -0.976232,-0.96136 -0.976255,-0.96136 -2.451094,2.32955 c -2.642839,2.51176 -2.936601,2.67158 -3.661722,1.99037 -0.24414,-0.22935 -0.36106,-0.51614 -0.36106,-0.88562 0,-0.49549 0.217994,-0.76607 2.339235,-2.90328 l 2.339184,-2.35683 -0.937291,-0.92753 -0.937317,-0.92753 -5.6198821,5.61302 c -6.1387328,6.13111 -6.3821356,6.43911 -6.7318522,8.51477 -0.2444702,1.4518 0.019591,2.53671 0.9029056,3.71183 0.7543438,1.0035 2.2768453,2.47597 3.1688125,3.06479 1.4337356,0.9463 3.3992449,1.02602 5.1641052,0.20948 z m 29.098958,1.88273 c 0.285369,-0.31532 0.259731,-0.34775 -2.315734,-2.92668 -2.201002,-2.20384 -2.604434,-2.67971 -2.604434,-3.07191 0,-0.38831 0.350581,-0.81553 2.142834,-2.61129 2.876068,-2.88142 2.469787,-2.91168 5.819791,0.43385 2.575695,2.57239 2.585105,2.57977 2.876069,2.25833 0.286462,-0.31656 0.27807,-0.37467 -0.458192,-3.16577 l -0.749995,-2.84325 -1.488572,-1.51211 -1.488597,-1.51209 -2.819606,-0.65846 -2.819605,-0.65846 -8.898823,-8.87136 -8.898824,-8.87135 -0.5129,-2.13958 c -0.9407,-3.92419 -0.763833,-3.5582 -2.488456,-5.14961 l -1.538956,-1.42004 -2.792646,-0.78017 c -2.76772,-0.77326 -2.7951884,-0.77748 -3.099379,-0.47671 -0.304622,0.30127 -0.2879369,0.32251 2.30088,2.9277 2.1789,2.19257 2.607741,2.69906 2.607741,3.0798 0,0.378 -0.378405,0.83471 -2.220915,2.68048 -1.6750026,1.67801 -2.3168283,2.22486 -2.6113019,2.22486 -0.296662,0 -1.0140759,-0.62293 -2.9900126,-2.59629 -2.6024003,-2.59909 -2.941434,-2.82749 -3.1988251,-2.1566 -0.051917,0.13533 0.239486,1.53361 0.6475477,3.10726 l 0.7420096,2.86132 1.5008554,1.48295 1.5009076,1.48296 2.8369007,0.66615 2.8368996,0.66617 8.873389,8.90365 8.87339,8.90366 0.660748,2.83767 0.660749,2.83766 1.561769,1.43991 1.561721,1.43993 2.680481,0.74262 c 1.474304,0.40844 2.757292,0.74739 2.851398,0.75324 0.09393,0.006 0.300654,-0.13285 0.459388,-0.30823 z' /%3E%3C/g%3E%3C/svg%3E%0A");
}

@media (prefers-color-scheme: dark) {
  .tools h2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' version='1.1' fill='%23bbb'%3E%3Cg transform='translate(0,-284.29998)'%3E%3Cpath d='m 35.509322,298.52692 3.900801,-4.0183 1.8507,-0.60495 1.850726,-0.60494 1.62922,-2.3703 c 0.896089,-1.30366 1.653154,-2.44213 1.682429,-2.52996 0.02928,-0.0878 -0.718991,-0.87734 -1.662845,-1.7545 l -1.716052,-1.59484 -2.408747,1.72645 -2.408745,1.72646 -0.599502,1.71717 -0.59953,1.71718 -4.09359,4.09334 -4.093591,4.09333 1.204119,1.21121 c 0.662274,0.66617 1.285126,1.21124 1.384139,1.21124 0.09901,0 1.935344,-1.80825 4.08062,-4.0183 z m -6.51541,4.02009 -5.38182,-5.28161 -0.743536,0.72571 -0.743485,0.7257 5.343925,5.34571 5.343923,5.3457 0.781329,-0.78972 0.781306,-0.78972 z m -18.095223,26.81246 c 0.912975,-0.42244 1.581048,-1.03496 6.707181,-6.14917 l 5.693131,-5.67991 -0.927805,-0.93759 -0.92783,-0.9376 -2.367898,2.3372 c -2.155781,2.12777 -2.417522,2.3372 -2.921088,2.3372 -0.411851,0 -0.635848,-0.10496 -0.87653,-0.41101 -0.678272,-0.86226 -0.513154,-1.15488 2.190676,-3.88197 l 2.168396,-2.18717 -0.976232,-0.96136 -0.976255,-0.96136 -2.451094,2.32955 c -2.642839,2.51176 -2.936601,2.67158 -3.661722,1.99037 -0.24414,-0.22935 -0.36106,-0.51614 -0.36106,-0.88562 0,-0.49549 0.217994,-0.76607 2.339235,-2.90328 l 2.339184,-2.35683 -0.937291,-0.92753 -0.937317,-0.92753 -5.6198821,5.61302 c -6.1387328,6.13111 -6.3821356,6.43911 -6.7318522,8.51477 -0.2444702,1.4518 0.019591,2.53671 0.9029056,3.71183 0.7543438,1.0035 2.2768453,2.47597 3.1688125,3.06479 1.4337356,0.9463 3.3992449,1.02602 5.1641052,0.20948 z m 29.098958,1.88273 c 0.285369,-0.31532 0.259731,-0.34775 -2.315734,-2.92668 -2.201002,-2.20384 -2.604434,-2.67971 -2.604434,-3.07191 0,-0.38831 0.350581,-0.81553 2.142834,-2.61129 2.876068,-2.88142 2.469787,-2.91168 5.819791,0.43385 2.575695,2.57239 2.585105,2.57977 2.876069,2.25833 0.286462,-0.31656 0.27807,-0.37467 -0.458192,-3.16577 l -0.749995,-2.84325 -1.488572,-1.51211 -1.488597,-1.51209 -2.819606,-0.65846 -2.819605,-0.65846 -8.898823,-8.87136 -8.898824,-8.87135 -0.5129,-2.13958 c -0.9407,-3.92419 -0.763833,-3.5582 -2.488456,-5.14961 l -1.538956,-1.42004 -2.792646,-0.78017 c -2.76772,-0.77326 -2.7951884,-0.77748 -3.099379,-0.47671 -0.304622,0.30127 -0.2879369,0.32251 2.30088,2.9277 2.1789,2.19257 2.607741,2.69906 2.607741,3.0798 0,0.378 -0.378405,0.83471 -2.220915,2.68048 -1.6750026,1.67801 -2.3168283,2.22486 -2.6113019,2.22486 -0.296662,0 -1.0140759,-0.62293 -2.9900126,-2.59629 -2.6024003,-2.59909 -2.941434,-2.82749 -3.1988251,-2.1566 -0.051917,0.13533 0.239486,1.53361 0.6475477,3.10726 l 0.7420096,2.86132 1.5008554,1.48295 1.5009076,1.48296 2.8369007,0.66615 2.8368996,0.66617 8.873389,8.90365 8.87339,8.90366 0.660748,2.83767 0.660749,2.83766 1.561769,1.43991 1.561721,1.43993 2.680481,0.74262 c 1.474304,0.40844 2.757292,0.74739 2.851398,0.75324 0.09393,0.006 0.300654,-0.13285 0.459388,-0.30823 z' /%3E%3C/g%3E%3C/svg%3E%0A");
  }
}
.content-block {
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

@media (prefers-color-scheme: dark) {
  .content-block {
    border-bottom: 1px solid #999;
  }
}
.content-block img {
  margin-bottom: 20px;
}

img.bordered {
  border: 1px solid #bbb;
  padding: 0.5em;
}

video.scale,
img.scale {
  max-width: 100%;
  height: initial;
}

img.scale-up {
  width: 80%;
  height: initial;
}

video.center,
img.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

figure,
figure img {
  max-width: 100%;
}

figcaption {
  font-style: italic;
}

figure,
figcaption {
  display: block;
}

#main {
  width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 1020px) {
  #main {
    width: 1020px;
  }
}
a {
  color: #0070b0;
}

@media (prefers-color-scheme: dark) {
  a {
    color: #00a2ff;
  }
}
li {
  line-height: 2em;
  padding-left: 1em;
}

dt {
  font-weight: bold;
}

dd {
  margin-bottom: 2em;
}

.content {
  padding: 0 20px;
}

blockquote {
  background-color: #eee;
  margin: 1em;
  padding: 0.01em 2em;
  position: relative;
}

@media (prefers-color-scheme: dark) {
  blockquote {
    background-color: #666;
    color: #fff;
  }
}
blockquote:before {
  color: #333;
  content: "❝";
  font-size: 350%;
  left: 0;
  position: absolute;
  top: 0.1em;
}

@media (prefers-color-scheme: dark) {
  blockquote:before {
    color: #bbb;
  }
}
@media print {
  img {
    max-width: 100% !important;
  }
  a[href^=http]:after,
  a[href^=\/]:after {
    content: " <" attr(href) "> ";
    font-style: italic;
  }
}
.error {
  color: #f00;
}

.alert {
  border: 1px solid #000;
  color: #000;
  margin-bottom: 1em;
  padding: 1em;
}

@media (prefers-color-scheme: dark) {
  .alert {
    border: 1px solid #fff;
    color: #fff;
  }
}
.alert.success {
  background-color: #cfc;
}

@media (prefers-color-scheme: dark) {
  .alert.success {
    background-color: #050;
  }
}
.alert.error {
  background-color: #fcc;
}

@media (prefers-color-scheme: dark) {
  .alert.error {
    background-color: #500;
  }
}
code.block + img.scale {
  margin-top: 2em;
}

code {
  font-family: "Courier New", Courier, monospace;
  white-space: pre;
}
code.block {
  display: block;
  max-width: 700px;
}
code.keyboard {
  background: #eee;
  border: 1px outset;
  border-radius: 3px;
  display: inline-block;
  padding: 1px 4px;
}
@media (prefers-color-scheme: dark) {
  code.keyboard {
    background-color: #666;
    color: #fff;
  }
}
code:not(.block) {
  font-weight: bold;
}

.hljs {
  background: #f0f0f0;
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  -webkit-text-size-adjust: none;
}
@media (prefers-color-scheme: dark) {
  .hljs {
    background: #2b2b2b;
  }
}

.hljs,
.hljs-subst,
.hljs-tag .hljs-title,
.nginx .hljs-title {
  color: #000;
}
@media (prefers-color-scheme: dark) {
  .hljs,
  .hljs-subst,
  .hljs-tag .hljs-title,
  .nginx .hljs-title {
    color: #eee;
  }
}

.hljs-string,
.hljs-title,
.hljs-constant,
.hljs-parent,
.hljs-tag .hljs-value,
.hljs-rules .hljs-value,
.hljs-preprocessor,
.hljs-pragma,
.haml .hljs-symbol,
.ruby .hljs-symbol,
.ruby .hljs-symbol .hljs-string,
.hljs-template_tag,
.django .hljs-variable,
.smalltalk .hljs-class,
.hljs-addition,
.hljs-flow,
.hljs-stream,
.bash .hljs-variable,
.apache .hljs-tag,
.apache .hljs-cbracket,
.tex .hljs-command,
.tex .hljs-special,
.erlang_repl .hljs-function_or_atom,
.asciidoc .hljs-header,
.markdown .hljs-header,
.coffeescript .hljs-attribute {
  color: #800;
}
@media (prefers-color-scheme: dark) {
  .hljs-string,
  .hljs-title,
  .hljs-constant,
  .hljs-parent,
  .hljs-tag .hljs-value,
  .hljs-rules .hljs-value,
  .hljs-preprocessor,
  .hljs-pragma,
  .haml .hljs-symbol,
  .ruby .hljs-symbol,
  .ruby .hljs-symbol .hljs-string,
  .hljs-template_tag,
  .django .hljs-variable,
  .smalltalk .hljs-class,
  .hljs-addition,
  .hljs-flow,
  .hljs-stream,
  .bash .hljs-variable,
  .apache .hljs-tag,
  .apache .hljs-cbracket,
  .tex .hljs-command,
  .tex .hljs-special,
  .erlang_repl .hljs-function_or_atom,
  .asciidoc .hljs-header,
  .markdown .hljs-header,
  .coffeescript .hljs-attribute {
    color: #ff5757;
  }
}

.smartquote,
.hljs-comment,
.hljs-annotation,
.diff .hljs-header,
.hljs-chunk,
.asciidoc .hljs-blockquote,
.markdown .hljs-blockquote {
  color: #666;
}
@media (prefers-color-scheme: dark) {
  .smartquote,
  .hljs-comment,
  .hljs-annotation,
  .diff .hljs-header,
  .hljs-chunk,
  .asciidoc .hljs-blockquote,
  .markdown .hljs-blockquote {
    color: #999;
  }
}

.hljs-number,
.hljs-date,
.hljs-regexp,
.hljs-literal,
.hljs-hexcolor,
.smalltalk .hljs-symbol,
.smalltalk .hljs-char,
.go .hljs-constant,
.hljs-change,
.lasso .hljs-variable,
.makefile .hljs-variable,
.asciidoc .hljs-bullet,
.markdown .hljs-bullet,
.asciidoc .hljs-link_url,
.markdown .hljs-link_url {
  color: #070;
}
@media (prefers-color-scheme: dark) {
  .hljs-number,
  .hljs-date,
  .hljs-regexp,
  .hljs-literal,
  .hljs-hexcolor,
  .smalltalk .hljs-symbol,
  .smalltalk .hljs-char,
  .go .hljs-constant,
  .hljs-change,
  .lasso .hljs-variable,
  .makefile .hljs-variable,
  .asciidoc .hljs-bullet,
  .markdown .hljs-bullet,
  .asciidoc .hljs-link_url,
  .markdown .hljs-link_url {
    color: #0c0;
  }
}

.hljs-label,
.hljs-javadoc,
.ruby .hljs-string,
.hljs-decorator,
.hljs-filter .hljs-argument,
.hljs-localvars,
.hljs-array,
.hljs-attr_selector,
.hljs-important,
.hljs-pseudo,
.hljs-pi,
.haml .hljs-bullet,
.hljs-doctype,
.hljs-deletion,
.hljs-envvar,
.hljs-shebang,
.apache .hljs-sqbracket,
.nginx .hljs-built_in,
.tex .hljs-formula,
.erlang_repl .hljs-reserved,
.hljs-prompt,
.asciidoc .hljs-link_label,
.markdown .hljs-link_label,
.vhdl .hljs-attribute,
.clojure .hljs-attribute,
.asciidoc .hljs-attribute,
.lasso .hljs-attribute,
.coffeescript .hljs-property,
.hljs-phony {
  color: #3d3dff;
}
@media (prefers-color-scheme: dark) {
  .hljs-label,
  .hljs-javadoc,
  .ruby .hljs-string,
  .hljs-decorator,
  .hljs-filter .hljs-argument,
  .hljs-localvars,
  .hljs-array,
  .hljs-attr_selector,
  .hljs-important,
  .hljs-pseudo,
  .hljs-pi,
  .haml .hljs-bullet,
  .hljs-doctype,
  .hljs-deletion,
  .hljs-envvar,
  .hljs-shebang,
  .apache .hljs-sqbracket,
  .nginx .hljs-built_in,
  .tex .hljs-formula,
  .erlang_repl .hljs-reserved,
  .hljs-prompt,
  .asciidoc .hljs-link_label,
  .markdown .hljs-link_label,
  .vhdl .hljs-attribute,
  .clojure .hljs-attribute,
  .asciidoc .hljs-attribute,
  .lasso .hljs-attribute,
  .coffeescript .hljs-property,
  .hljs-phony {
    color: #9c9cff;
  }
}

.hljs-keyword,
.hljs-id,
.hljs-title,
.hljs-built_in,
.css .hljs-tag,
.hljs-javadoctag,
.hljs-phpdoc,
.hljs-dartdoc,
.hljs-yardoctag,
.smalltalk .hljs-class,
.hljs-winutils,
.bash .hljs-variable,
.apache .hljs-tag,
.hljs-type,
.hljs-typename,
.tex .hljs-command,
.asciidoc .hljs-strong,
.markdown .hljs-strong,
.hljs-request,
.hljs-status {
  font-weight: bold;
}

.asciidoc .hljs-emphasis,
.markdown .hljs-emphasis {
  font-style: italic;
}

.nginx .hljs-built_in {
  font-weight: normal;
}

.coffeescript .javascript,
.javascript .xml,
.lasso .markup,
.tex .hljs-formula,
.xml .javascript,
.xml .vbscript,
.xml .css,
.xml .hljs-cdata {
  opacity: 1;
}

footer {
  background-color: #eee;
  padding: 10px 20px;
}
@media (prefers-color-scheme: dark) {
  footer {
    background-color: #666;
  }
}
footer .social-links {
  display: flex;
}
footer .footer_icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  display: flex;
  margin-left: 1em;
  outline: none;
  width: auto;
}
footer .footer_icon:focus {
  outline: 2px solid #0070b0;
}
@media (prefers-color-scheme: dark) {
  footer .footer_icon:focus {
    outline: 2px solid #eee;
  }
}
footer .footer_icon svg {
  fill: #000;
  height: 2.5em;
}
@media (prefers-color-scheme: dark) {
  footer .footer_icon svg {
    color: #eee;
    fill: #eee;
  }
}
footer .footer_icon svg:hover {
  color: #eee;
  fill: #00a2ff;
}
@media screen and (min-width: 650px) {
  footer {
    align-items: center;
    display: flex;
  }
  footer .copyright {
    flex-grow: 1;
    text-align: left;
  }
}
@media screen and (min-width: 360px) {
  footer {
    padding-bottom: 20px;
    text-align: center;
  }
  footer .copyright {
    margin-bottom: 20px;
  }
}
@media print {
  footer {
    display: none;
  }
}
footer a {
  color: #0070b0;
}
@media screen and (min-width: 650px) {
  footer a {
    color: #c7eaff;
  }
}

header {
  background-color: #eee;
  margin-bottom: 20px;
  padding: 10px 0;
  position: relative;
  text-align: center;
}

@media (prefers-color-scheme: dark) {
  header {
    background-color: #666;
  }
}
header .main-menu-toggle {
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  float: left;
}

header .main-menu-toggle svg {
  fill: currentColor;
}

@media (prefers-color-scheme: dark) {
  header .main-menu-toggle svg {
    color: #eee;
  }
}
@media screen and (min-width: 650px) {
  header .main-menu-toggle {
    display: none;
  }
}
@media print {
  header .main-menu-toggle {
    display: none;
  }
}
header nav.main-menu {
  background-color: #eee;
  display: none;
  left: 0;
  position: absolute;
  top: 40px;
  width: 100%;
  z-index: 1;
}

@media (prefers-color-scheme: dark) {
  header nav.main-menu {
    background-color: #666;
  }
}
header nav.main-menu.active {
  display: block;
}

header nav.main-menu a {
  color: #333;
  display: block;
  padding: 0.5em 0;
  text-decoration: none;
  text-transform: uppercase;
}

@media (prefers-color-scheme: dark) {
  header nav.main-menu a {
    color: #fff;
  }
}
header nav.main-menu a.active, header nav.main-menu a:hover {
  background-color: #0070b0;
  color: #fff;
}

@media (prefers-color-scheme: dark) {
  header nav.main-menu a.active, header nav.main-menu a:hover {
    background-color: #00a2ff;
    color: #000;
  }
}
@media screen and (min-width: 650px) {
  header nav.main-menu a.active, header nav.main-menu a:hover {
    background-color: inherit;
    border-top: 2px solid #0070b0;
    color: #333;
  }
}
@media screen and (min-width: 650px) and (prefers-color-scheme: dark) {
  header nav.main-menu a.active, header nav.main-menu a:hover {
    border-top: 2px solid #00a2ff;
    color: #fff;
  }
}
header nav.main-menu a:focus {
  outline: 2px solid;
}

@media screen and (min-width: 650px) {
  header nav.main-menu a {
    display: inline;
    margin-left: 2em;
    padding: 5px 0 0 0;
    text-align: left;
  }
}
@media screen and (min-width: 650px) {
  header nav.main-menu {
    display: block;
    float: right;
    position: static;
    width: inherit;
  }
}
header input#hamburgerMenu:checked ~ nav {
  display: block;
}

header h1 {
  font-size: 160%;
  margin-bottom: 0;
}

@media screen and (min-width: 650px) {
  header h1 {
    font-size: 180%;
  }
}
@media screen and (min-width: 650px) {
  header {
    padding: 20px;
    text-align: left;
  }
}
@media print {
  header {
    background-color: transparent;
  }
  header .hamburger,
  header nav {
    display: none;
  }
}
table.cross_ref td[headers] {
  background-image: url(/img/icons/skill.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  text-indent: -999em;
}

table.bordered {
  border-collapse: collapse;
  margin-bottom: 2em;
}

table.bordered td,
table.bordered th,
table.bordered caption {
  border: 2px solid #bbb;
  padding: 5px 10px;
}

table.bordered caption {
  border-top: none;
  caption-side: bottom;
  font-style: italic;
}

table.bordered code {
  white-space: normal;
  word-break: break-all;
}

table.slim-compat {
  font-size: 12pt;
}

@media screen and (min-width: 650px) {
  table.slim-compat {
    font-size: 13pt;
  }
}
table.slim-compat ul {
  margin: 0;
  padding: 0.5em;
}

table.slim-compat ul li {
  padding: 0;
}

.table-truncate-container button .truncated-on-label {
  display: inline;
}

.table-truncate-container button .truncated-off-label {
  display: none;
}

.table-truncate-container.truncated {
  max-height: 21em;
  overflow: hidden;
  position: relative;
}

.table-truncate-container.truncated button .truncated-on-label {
  display: none;
}

.table-truncate-container.truncated button .truncated-off-label {
  display: inline;
}

.table-truncate-container.truncated:after {
  background: linear-gradient(transparent, transparent 50%, #fff);
  bottom: 0;
  content: "";
  display: block;
  height: 5em;
  left: 0;
  position: absolute;
  width: 100%;
}

.table-truncate-container table caption {
  caption-side: top;
}

.table-truncate-container table.bordered caption {
  border-top: 2px solid #bbb;
  border-bottom: none;
}

table.daily-stats th {
  text-decoration: underline;
}

table.daily-stats td {
  padding: 0.25em 1em 1em;
  text-align: center;
}

table.daily-stats td.number {
  font-size: 200%;
}

form {
  box-sizing: border-box;
}

fieldset {
  box-sizing: border-box;
  width: 100%;
}

label {
  clear: both;
  display: block;
}

label .error input,
label .error textarea {
  border-color: #f00;
}

input[type=text],
input[type=email],
input[type=password],
textarea {
  background-color: #fff;
  border: 1px solid #bbb;
  color: inherit;
  padding: 5px;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus {
  border-color: #0070b0;
  -webkit-box-shadow: 0 0 5px #0070b0;
  box-shadow: 0 0 5px #0070b0;
}

@media (prefers-color-scheme: dark) {
  input[type=text]:focus,
  input[type=email]:focus,
  input[type=password]:focus,
  textarea:focus {
    background-color: inherit;
    border-color: #00a2ff;
    -webkit-box-shadow: 0 0 5px #00a2ff;
    box-shadow: 0 0 5px #00a2ff;
  }
}
input[type=submit] {
  background-color: #0070b0;
  border: 1px solid #333;
  color: #fff;
  padding: 5px;
}

@media (prefers-color-scheme: dark) {
  input[type=submit] {
    background-color: #00a2ff;
    border: 1px solid #bbb;
    color: #000;
  }
}
input[type=submit]:focus {
  border-color: #0070b0;
  box-shadow: 0 0 5px #0070b0;
}

@media (prefers-color-scheme: dark) {
  input[type=submit]:focus {
    border-color: #00a2ff;
    box-shadow: 0 0 5px #00a2ff;
  }
}
input[type=submit]:hover {
  border-color: #0070b0;
}

@media (prefers-color-scheme: dark) {
  input[type=submit]:hover {
    border-color: #00a2ff;
  }
}
input[type=submit].input-large,
button.input-large {
  border: 1px solid #333;
  border-radius: 0;
  font-size: 1em;
  margin: 0.5em 0 1em;
  padding: 5px;
}

label.input-full-width input,
input.input-full-width {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

label.input-large input,
input.input-large {
  font-size: 1em;
  padding: 0.5em;
}

textarea.input-large {
  box-sizing: border-box;
  font-size: 1em;
  height: 5em;
  padding: 0.5em;
  width: 100%;
}

label.input-large input,
input.input-large,
textarea.input-large {
  background-color: #fff;
  color: #000;
}

@media (prefers-color-scheme: dark) {
  label.input-large input,
  input.input-large,
  textarea.input-large {
    background-color: #333;
    color: #fff;
  }
}
input.input-wide {
  width: 30em;
}

select.input-large {
  font-size: 1em;
  padding: 0.5em;
}

.half-width-form {
  width: 50%;
}

input:invalid {
  border-color: #f00;
}

ul.blog_list {
  clear: left;
  margin: 0;
  padding: 0;
}

ul.blog_list li {
  border-bottom: 1px solid #eee;
  clear: left;
  display: block;
  margin-bottom: 1em;
  min-height: 90px;
  padding-bottom: 20px;
}

@media (prefers-color-scheme: dark) {
  ul.blog_list li {
    border-bottom: 1px solid #999;
  }
}
ul.blog_list .blog_title {
  font-size: larger;
}

ul.blog_list .excerpt {
  font-style: italic;
  margin: 0.25em 0;
  overflow: auto;
}

ul.blog_list .excerpt img {
  margin: 10px 0;
  width: 100%;
}

@media screen and (min-width: 360px) {
  ul.blog_list .excerpt img {
    float: left;
    margin: 0 10px 10px 0;
    width: 250px;
  }
}
@media print {
  ul.blog_list .excerpt img {
    float: left;
    margin: 0 10px 10px 0;
    width: 250px;
  }
}
ul.blog_list .tags {
  clear: left;
}

ul.blog_list time {
  font-style: italic;
  display: block;
}

ul.blog_list time:before {
  content: "-";
  display: inline-block;
}

@media screen and (min-width: 360px) {
  ul.blog_list time {
    background-color: #fff;
    border-radius: 0.6em;
    -webkit-box-shadow: 0 1px 0 #bdbdbd, 0 2px 0 #fff, 0 3px 0 #bdbdbd, 0 4px 0 #fff, 0 5px 0 #bdbdbd, 0 0 0 1px #bdbdbd;
    box-shadow: 0 1px 0 #bdbdbd, 0 2px 0 #fff, 0 3px 0 #bdbdbd, 0 4px 0 #fff, 0 5px 0 #bdbdbd, 0 0 0 1px #bdbdbd;
    display: inline-block;
    float: right;
    font-style: normal;
    margin-left: 1.5em;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 95px;
  }
}
@media screen and (min-width: 360px) and (prefers-color-scheme: dark) {
  ul.blog_list time {
    background-color: #666;
    -webkit-box-shadow: 0 1px 0 #999, 0 2px 0 #666, 0 3px 0 #999, 0 4px 0 #666, 0 5px 0 #999, 0 0 0 1px #999;
    box-shadow: 0 1px 0 #999, 0 2px 0 #666, 0 3px 0 #999, 0 4px 0 #666, 0 5px 0 #999, 0 0 0 1px #999;
  }
}
@media screen and (min-width: 360px) {
  ul.blog_list time:before {
    display: none;
  }
  ul.blog_list time .month {
    background-color: #0070b0;
    color: #fff;
    display: block;
  }
}
@media screen and (min-width: 360px) and (prefers-color-scheme: dark) {
  ul.blog_list time .month {
    background-color: #00a2ff;
    color: #000;
  }
}
@media screen and (min-width: 360px) {
  ul.blog_list time .day {
    display: block;
    font-size: 24pt;
    line-height: 24pt;
  }
  ul.blog_list time .dow {
    display: block;
  }
}
.blog_year_list {
  display: block;
}

.blog_year_list ul {
  border-bottom: 1px solid #bbb;
  clear: both;
  margin: 0 0 1em 0;
  padding: 0;
}

@media (prefers-color-scheme: dark) {
  .blog_year_list ul {
    border-bottom: 1px solid #999;
  }
}
.blog_year_list li {
  display: inline-block;
}

.blog_year_list li:first-child {
  padding-left: 0;
}

.blog_year_list li a {
  color: #0070b0;
  display: inline-block;
  padding: 5px;
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  .blog_year_list li a {
    color: #00a2ff;
  }
}
.blog_year_list {
  display: block;
}

.blog_year_list ul {
  border-bottom: 1px solid #bbb;
  clear: both;
  margin: 0 0 1em 0;
  padding: 0;
}

@media (prefers-color-scheme: dark) {
  .blog_year_list ul {
    border-bottom: 1px solid #999;
  }
}
.blog_year_list li {
  display: inline-block;
}

.blog_year_list li:first-child {
  padding-left: 0;
}

.blog_year_list li a {
  color: #0070b0;
  display: inline-block;
  padding: 5px;
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  .blog_year_list li a {
    color: #00a2ff;
  }
}
ul.tags {
  display: block;
  margin: 0;
  padding: 0;
}

ul.tags li {
  border: none;
  display: inline;
  font-style: italic;
  margin: 0;
  padding: 0;
}

.tag_cloud {
  border: 1px dashed #999;
  box-sizing: border-box;
  display: inline-block;
  float: left;
  margin: 0 20px 40px 0;
  padding: 0 20px;
  text-align: center;
  width: 100%;
}

.tag_cloud a {
  display: inline-block;
  line-height: 100%;
  padding: 0.1ex 0.4ex;
  text-decoration: none;
}

.tag_cloud a:hover, .tag_cloud a:focus {
  text-decoration: underline;
}

@media print {
  .tag_cloud {
    display: none;
  }
}
.blog_article .tag-cloud-heading {
  margin-bottom: 0;
}

.blog_article .tag_cloud {
  border: none;
  padding: 0;
  text-align: left;
}

form.blog-search {
  align-items: center;
  display: flex;
  width: 100%;
}

form.blog-search input[type=text] {
  background-color: inherit;
  border-radius: 5px 0 0 5px;
  color: inherit;
  flex-grow: 1;
  font-size: 16px;
  line-height: 1;
  padding: 10px;
}

form.blog-search button[type=submit] {
  background-color: #0070b0;
  border: none;
  border-radius: 0 5px 5px 0;
  font-size: 16px;
  line-height: 1;
  padding: 10.5px;
}

@media screen and (min-width: 650px) {
  form.blog-search {
    float: right;
    width: 60%;
  }
}
@media print {
  form.blog-search {
    display: none;
  }
}
.related-articles .related-article-article {
  margin-bottom: 3em;
}

.related-articles h2 {
  background-image: none;
  font-size: 100%;
  margin: 0;
  padding-left: 0;
}

.related-articles img {
  max-width: 100%;
}

.related-articles p {
  margin: 0;
}

.comments {
  border-top: 2px solid #0070b0;
}

@media (prefers-color-scheme: dark) {
  .comments {
    border-color: #00a2ff;
  }
}
.comments h2 {
  margin-top: 1em;
}

.comments form {
  background-color: #eee;
  color: #000;
  margin-bottom: 1em;
  padding: 1em;
}

@media (prefers-color-scheme: dark) {
  .comments form {
    background-color: #666;
    color: #fff;
  }
}
.comments form p {
  margin-top: 0;
}

.comments form .input-large {
  display: block;
  margin-bottom: 1em;
  width: 20em;
}

.comments form textarea.input-large {
  height: 8em;
  width: 100%;
}

.comments .comment {
  border: 1px solid #666;
  border-radius: 1em;
  margin-bottom: 1em;
  padding: 1em;
}

.comments .comment-details {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}

aside.content-aside {
  margin-top: 1em;
  padding: 1em;
}
aside.content-aside:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 2.5em;
  float: left;
  height: 2.5em;
  margin: 0 1em 0 0;
  width: 2.5em;
}
aside.content-aside.warning {
  border: 2px solid #f80;
  background-color: #ffdbb3;
}
aside.content-aside.warning:before {
  background-image: url("/img/articles/warning-icon.svg");
}
@media (prefers-color-scheme: dark) {
  aside.content-aside.warning {
    background-color: #804400;
  }
  aside.content-aside.warning:before {
    -webkit-filter: invert(100%);
    filter: invert(100%);
  }
  aside.content-aside.warning a {
    color: #80d1ff;
  }
}
aside.content-aside.note {
  border: 2px solid #080;
  background-color: #efffef;
}
aside.content-aside.note:before {
  background-image: url("/img/articles/notice-icon.svg");
}
@media (prefers-color-scheme: dark) {
  aside.content-aside.note {
    background-color: #005500;
  }
  aside.content-aside.note:before {
    -webkit-filter: invert(100%);
    filter: invert(100%);
  }
  aside.content-aside.note a {
    color: #80d1ff;
  }
}
aside.content-aside a {
  color: #006097;
  font-weight: bold;
}
aside.content-aside p {
  margin: 0;
}

.quiz .question {
  margin: 2em 0;
}

.quiz .answer input {
  display: none;
}

.quiz .answer div {
  border: 1px solid #0070b0;
  border-radius: 0.5em;
  cursor: pointer;
  dispay: block;
  list-style-type: none;
  margin-bottom: 5px;
  padding: 5px;
  width: 450px;
}

@media (prefers-color-scheme: dark) {
  .quiz .answer div {
    border: 1px solid #00a2ff;
  }
}
.quiz .answer :checked + div,
.quiz .answer div:hover {
  background-color: #0070b0;
  color: #eee;
}

@media (prefers-color-scheme: dark) {
  .quiz .answer :checked + div,
  .quiz .answer div:hover {
    background-color: #00a2ff;
    color: #000;
  }
}
.quiz .score {
  border: 1px solid #0070b0;
  border-radius: 0.5em;
  display: inline;
  font-weight: bold;
  padding: 0.5em;
}

@media (prefers-color-scheme: dark) {
  .quiz .score {
    border: 1px solid #00a2ff;
  }
}
.blog_article ol,
.blog_article p,
.blog_article ul {
  box-sizing: border-box;
  max-width: 700px;
}

.article-amendment {
  background-color: #eee;
  border: 1px solid #999;
  box-sizing: border-box;
  display: block;
  font-style: italic;
  max-width: 700px;
  padding: 1em;
}

@media (prefers-color-scheme: dark) {
  .article-amendment {
    background-color: #666;
    color: #fff;
  }
}
.article-amendment h3 {
  margin: 0;
}

form.readability label,
form.readability textarea {
  display: block;
}

form.readability textarea {
  font-family: "Lato", Arial, Helvetica, sans-serif;
  font-size: 13pt;
  height: 8.5em;
  line-height: 1.7em;
  max-width: 700px;
  width: 100%;
}

ul.readability-scores li {
  display: none;
}

ul.readability-scores li.current-result {
  display: block;
}

@media screen and (min-width: 650px) {
  .blog-article {
    display: flex;
    gap: 2em;
  }
  .blog-article .article-content {
    flex-grow: 3;
  }
  .blog-article .related-articles {
    flex-grow: 1;
    max-width: 200px;
  }
}
.portfolio_tags {
  border-top: 1px solid #eee;
  padding: 20px 0;
}

@media (prefers-color-scheme: dark) {
  .portfolio_tags {
    border-top: 1px solid #999;
  }
}
.portfolio_tags ul {
  display: block;
  margin: 0;
  padding: 0;
}

.portfolio_tags li {
  display: inline-block;
  margin-bottom: 3px;
  padding: 2px;
  text-align: center;
}

.portfolio_tags li a {
  color: #333;
  display: block;
  text-decoration: none;
  text-transform: uppercase;
}

@media (prefers-color-scheme: dark) {
  .portfolio_tags li a {
    color: #fff;
  }
}
.portfolio_tags li.selected, .portfolio_tags li:hover {
  background-color: #0070b0;
}

@media (prefers-color-scheme: dark) {
  .portfolio_tags li.selected, .portfolio_tags li:hover {
    background-color: #00a2ff;
  }
}
.portfolio_tags li.selected a, .portfolio_tags li:hover a {
  color: #eee;
}

@media (prefers-color-scheme: dark) {
  .portfolio_tags li.selected a, .portfolio_tags li:hover a {
    color: #000;
  }
}
@media screen and (min-width: 650px) {
  .portfolio_tags li {
    width: 18%;
  }
}
@media screen and (min-width: 1020px) {
  .portfolio_tags li {
    width: 15%;
  }
}
@media print {
  .portfolio_tags {
    display: none;
  }
}
.skills-list {
  border-top: 1px solid #eee;
  padding: 20px 0;
}

@media (prefers-color-scheme: dark) {
  .skills-list {
    border-top: 1px solid #999;
  }
}
.skills-list ul {
  display: block;
  margin: 0;
  padding: 0;
}

.skills-list li {
  display: inline-block;
  margin-bottom: 3px;
  padding: 2px;
  text-align: center;
  width: 15%;
}

.skills-list li.selected, .skills-list li:hover {
  background-color: #0070b0;
}

@media (prefers-color-scheme: dark) {
  .skills-list li.selected, .skills-list li:hover {
    background-color: #00a2ff;
  }
}
.skills-list li.selected a, .skills-list li:hover a {
  color: #eee;
}

@media (prefers-color-scheme: dark) {
  .skills-list li.selected a, .skills-list li:hover a {
    color: #000;
  }
}
@media print {
  .skills-list {
    display: none;
  }
}
.portfolio_items ul {
  display: block;
  margin: 20px 0;
  padding: 0;
}

.portfolio_items li {
  display: inline-block;
  margin-bottom: 40px;
  padding-left: 0;
  width: 100%;
}

.portfolio_items li a {
  color: #333;
  display: block;
  text-align: center;
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  .portfolio_items li a {
    color: #fff;
  }
}
.portfolio_items li img {
  display: block;
  margin: 1em auto 0 auto;
  max-width: 200px;
  width: 100%;
}

.portfolio_items li:hover {
  background-color: #0070b0;
}

@media (prefers-color-scheme: dark) {
  .portfolio_items li:hover {
    background-color: #00a2ff;
  }
}
.portfolio_items li:hover a {
  color: #eee;
}

@media (prefers-color-scheme: dark) {
  .portfolio_items li:hover a {
    color: #000;
  }
}
@media screen and (min-width: 650px) {
  .portfolio_items li {
    width: 199px;
  }
}
@media print {
  .portfolio_items li {
    width: 16%;
  }
}
@media screen and (min-width: 1020px) {
  .portfolio_items li:nth-child(4n) {
    margin-right: 0;
  }
}
.portfolio_item .carousel-nav {
  display: block;
  text-align: center;
}

.portfolio_item .carousel-nav img {
  width: 50px;
  height: 50px;
  display: inline-block;
  border-radius: 50%;
  border: 2px solid #999;
}

.portfolio_item .carousel-nav a {
  display: inline-block;
}

.portfolio_item .carousel-nav a.active img {
  border-color: #0070b0;
  box-shadow: 0 0 10px #0070b0;
}

@media (prefers-color-scheme: dark) {
  .portfolio_item .carousel-nav a.active img {
    border-color: #00a2ff;
    box-shadow: 0 0 10px #00a2ff;
  }
}
.contact_details {
  align-items: center;
  color: #333;
  border: 2px solid #eee;
  border-radius: 1em;
  box-sizing: border-box;
  display: flex;
  float: right;
  font-style: normal;
  margin: 20px 0 1em 2em;
  padding: 0 1em;
  width: 100%;
}

@media (prefers-color-scheme: dark) {
  .contact_details {
    color: #fff;
  }
}
.contact_details .profile_image {
  display: none;
}

@media screen and (min-width: 650px) {
  .contact_details .profile_image {
    background-image: url(/img/profile.jpg);
    background-size: 100%;
    border-radius: 0.5em;
    display: inline-block;
    float: left;
    height: 80px;
    margin-right: 1em;
    width: 80px;
  }
}
.contact_details span {
  display: block;
  margin-bottom: 0.2em;
}

.contact_details abbr {
  border: 0 none;
  display: inline-block;
  width: 1em;
}

@media screen and (min-width: 650px) {
  .contact_details {
    margin-bottom: 0;
    padding: 10px;
    width: 360px;
  }
}
@media print {
  .contact_details {
    border: none;
  }
  .contact_details a[href^=http]:after {
    content: "";
  }
}
table.skills {
  border-bottom: none;
  float: left;
  margin: 0 0 20px 0;
  padding-top: 20px;
  width: 100%;
}

table.skills caption {
  display: none;
}

table.skills tr:nth-child(2n) {
  background-color: #eee;
}

@media (prefers-color-scheme: dark) {
  table.skills tr:nth-child(2n) {
    background-color: #bbb;
    color: #000;
  }
}
table.skills tr.header_row {
  background-color: #333;
  color: #eee;
}

table.skills td[headers] {
  background-image: url(/img/icons/skill.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  text-indent: -9999em;
}

@media print {
  table.skills td[headers] {
    background-image: none;
    color: transparent;
    text-indent: inherit;
  }
  table.skills td[headers]:after {
    color: #000;
    content: "✔";
    display: inline;
    font-size: 18pt;
    font-weight: bold;
    left: -0.75ex;
    position: relative;
  }
}
@media screen and (min-width: 1020px) {
  table.skills {
    width: 50%;
  }
}
@media print {
  table.skills {
    font-size: 11pt;
    width: 49%;
  }
  table.skills .languages {
    break-before: always;
    page-break-before: always;
  }
}
.cv article {
  margin-bottom: 40px;
}

.work_experience h4 {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 20px;
}

.work_experience section {
  margin-top: 40px;
}

.work_experience .duration {
  display: inline;
  font-style: italic;
}

.pdf.cv {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23000'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 1.7673318,295.80651 c -0.071721,-0.1869 -0.098442,-2.62456 -0.059379,-5.41702 l 0.071023,-5.07719 2.2164855,-0.073 2.2164856,-0.0731 2.4210772,2.43387 2.4210779,2.43388 -0.07421,2.98482 -0.07421,2.98481 -4.5039736,0.0714 c -3.5123301,0.0557 -4.5326839,-0.003 -4.6343751,-0.26845 z m 7.9649149,-3.12189 V 290.5391 L 7.717451,288.51242 C 5.7118032,286.49494 5.6964119,286.48573 4.327532,286.48573 H 2.9524087 v 2.47725 c 0,1.99992 0.073484,2.47725 0.3813625,2.47725 0.7319555,0 3.2020572,-1.05804 3.6654093,-1.57004 0.8189513,-0.90493 1.2449911,-0.66799 1.0648032,0.59218 -0.087155,0.60953 -0.2309273,1.78297 -0.3194939,2.60763 -0.1282893,1.19453 -0.2540659,1.49939 -0.6186191,1.49939 -0.644666,0 -0.8357179,-1.24979 -0.4300942,-2.81351 l 0.3332517,-1.28471 -0.8358773,0.49318 c -0.459732,0.27124 -1.3476356,0.58007 -1.9731187,0.68628 l -1.137242,0.19311 -0.078204,1.49321 -0.078204,1.4932 h 3.4029321 3.4029322 z m -4.693734,1.51363 c 0,-0.20413 -0.3066793,-0.76151 -0.68151,-1.23862 l -0.6815102,-0.86749 0.8118915,0.85159 c 0.7054668,0.73997 1.0767674,1.62566 0.6815104,1.62566 -0.07171,0 -0.1303817,-0.16701 -0.1303817,-0.37114 z m 4.487264,-7.52681 c -0.6035394,-0.61497 -1.0973451,-1.20168 -1.0973451,-1.30382 0,-0.10214 0.586717,-0.1857 1.3038151,-0.1857 h 1.3038153 v 1.30381 c 0,0.7171 -0.09291,1.30382 -0.20647,1.30382 -0.113559,0 -0.700276,-0.50315 -1.3038153,-1.11811 z'/%3E%3Cpath fill='%23f00' d='M 29.265625 19.001953 C 28.565085 19.094379 27.613843 19.770156 26.453125 21.052734 C 24.701873 22.987852 15.366055 26.986328 12.599609 26.986328 C 12.133511 26.986328 11.814659 26.670684 11.59375 25.837891 L 11.59375 29.595703 L 11.650391 28.511719 L 15.949219 27.78125 C 18.313249 27.379826 21.668679 26.212659 23.40625 25.1875 L 26.566406 23.324219 L 25.306641 28.179688 C 23.773575 34.08981 24.495107 38.8125 26.931641 38.8125 C 28.309479 38.8125 28.784658 37.661243 29.269531 33.146484 C 29.604271 30.029659 30.147158 25.594751 30.476562 23.291016 C 30.902203 20.314236 30.433192 18.847911 29.265625 19.001953 z M 13.890625 29.451172 L 16.466797 32.728516 C 17.88348 34.531766 19.042969 36.638641 19.042969 37.410156 C 19.042969 38.181671 19.264126 38.8125 19.535156 38.8125 C 21.029042 38.8125 19.625315 35.466659 16.958984 32.669922 L 13.890625 29.451172 z ' transform='matrix(0.26458333,0,0,0.26458333,0,284.29997)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 32px;
  display: block;
  text-indent: 3em;
}

@media (prefers-color-scheme: dark) {
  .pdf.cv {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 12.7 12.7' version='1.1' fill='%23bbb'%3E%3Cg transform='translate(0,-284.29997)'%3E%3Cpath d='m 1.7673318,295.80651 c -0.071721,-0.1869 -0.098442,-2.62456 -0.059379,-5.41702 l 0.071023,-5.07719 2.2164855,-0.073 2.2164856,-0.0731 2.4210772,2.43387 2.4210779,2.43388 -0.07421,2.98482 -0.07421,2.98481 -4.5039736,0.0714 c -3.5123301,0.0557 -4.5326839,-0.003 -4.6343751,-0.26845 z m 7.9649149,-3.12189 V 290.5391 L 7.717451,288.51242 C 5.7118032,286.49494 5.6964119,286.48573 4.327532,286.48573 H 2.9524087 v 2.47725 c 0,1.99992 0.073484,2.47725 0.3813625,2.47725 0.7319555,0 3.2020572,-1.05804 3.6654093,-1.57004 0.8189513,-0.90493 1.2449911,-0.66799 1.0648032,0.59218 -0.087155,0.60953 -0.2309273,1.78297 -0.3194939,2.60763 -0.1282893,1.19453 -0.2540659,1.49939 -0.6186191,1.49939 -0.644666,0 -0.8357179,-1.24979 -0.4300942,-2.81351 l 0.3332517,-1.28471 -0.8358773,0.49318 c -0.459732,0.27124 -1.3476356,0.58007 -1.9731187,0.68628 l -1.137242,0.19311 -0.078204,1.49321 -0.078204,1.4932 h 3.4029321 3.4029322 z m -4.693734,1.51363 c 0,-0.20413 -0.3066793,-0.76151 -0.68151,-1.23862 l -0.6815102,-0.86749 0.8118915,0.85159 c 0.7054668,0.73997 1.0767674,1.62566 0.6815104,1.62566 -0.07171,0 -0.1303817,-0.16701 -0.1303817,-0.37114 z m 4.487264,-7.52681 c -0.6035394,-0.61497 -1.0973451,-1.20168 -1.0973451,-1.30382 0,-0.10214 0.586717,-0.1857 1.3038151,-0.1857 h 1.3038153 v 1.30381 c 0,0.7171 -0.09291,1.30382 -0.20647,1.30382 -0.113559,0 -0.700276,-0.50315 -1.3038153,-1.11811 z'/%3E%3Cpath fill='%23f00' d='M 29.265625 19.001953 C 28.565085 19.094379 27.613843 19.770156 26.453125 21.052734 C 24.701873 22.987852 15.366055 26.986328 12.599609 26.986328 C 12.133511 26.986328 11.814659 26.670684 11.59375 25.837891 L 11.59375 29.595703 L 11.650391 28.511719 L 15.949219 27.78125 C 18.313249 27.379826 21.668679 26.212659 23.40625 25.1875 L 26.566406 23.324219 L 25.306641 28.179688 C 23.773575 34.08981 24.495107 38.8125 26.931641 38.8125 C 28.309479 38.8125 28.784658 37.661243 29.269531 33.146484 C 29.604271 30.029659 30.147158 25.594751 30.476562 23.291016 C 30.902203 20.314236 30.433192 18.847911 29.265625 19.001953 z M 13.890625 29.451172 L 16.466797 32.728516 C 17.88348 34.531766 19.042969 36.638641 19.042969 37.410156 C 19.042969 38.181671 19.264126 38.8125 19.535156 38.8125 C 21.029042 38.8125 19.625315 35.466659 16.958984 32.669922 L 13.890625 29.451172 z ' transform='matrix(0.26458333,0,0,0.26458333,0,284.29997)'/%3E%3C/g%3E%3C/svg%3E");
  }
}
.pdf.cv em {
  color: #000;
}

@media (prefers-color-scheme: dark) {
  .pdf.cv em {
    color: #bbb;
  }
}
@media screen and (min-width: 1020px) {
  .pdf.cv {
    background-size: auto 100%;
    height: 32px;
  }
}
@media print {
  .pdf.cv {
    display: none;
  }
}
.tools-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  padding: 0;
}

.tools-list .tool {
  border: 1px solid #999;
  box-sizing: border-box;
  display: inline-block;
  padding: 0;
  width: 100%;
}

.tools-list .tool img {
  max-width: 100%;
}

@media screen and (min-width: 650px) {
  .tools-list .tool {
    width: 48%;
  }
}
.tools-list .tool-details {
  padding: 0 1em 1em;
}

.tools-list .tool-links {
  list-style-type: square;
}

/*# sourceMappingURL=main.css.map */
