@charset "utf-8";

@font-face {
  font-family: 'Apprentice';
  src: local('Apprentice'),
  url('Apprentice.woff2') format('woff2');
}

:root {
  --white: #fff;
  --light: #e2e2e2;
  --bronze: #b09b79;
  --dark-bronze: #4f442c;
  --green: #4cb744;
  --dark: #000;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

a {
  color: var(--bronze);
}

h1, h2, h3, h4, h5, h6, p {
  overflow-wrap: break-word;
  margin: 0;
}

h1, h2, h3 {
  font-family: Apprentice, serif;
  text-align: center;
  letter-spacing: 2px;
  color: var(--bronze);
}

h4 {
  color: var(--white);
}

h5 {
  color: var(--bronze);
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul li {
  img {
    vertical-align: text-top;
  }
}

.green {
  color: #4cb744;
}

html {
  font-family: Verdana, sans-serif;
  font-size: 12px;
  color: var(--light);
  text-shadow: 1px 1px 0 var(--dark);
  min-width: 21cm;
  background: var(--dark) url('bg.jpg') no-repeat center top/cover;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100dvh;
  margin: 0;
  line-height: 1.5;
}

header, main {
  width: 21cm;
  padding: 16px;
}

header {
  padding-bottom: 0;
}

header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.frame {
  display: flex;

  &.top, &.bottom {
    flex-shrink: 0;
    width: 100%;
    height: 64px;
  }

  &.middle {
    width: 100%;
  }

  &.bottom {
    height: 32px;
  }

  .top-tile, &.middle, .content, .bottom-tile {
    flex-grow: 1;
  }

  .top-left, .top-center, .top-right, .bottom-left, .bottom-right, .left-tile, .right-tile {
    flex-shrink: 0;
  }

  .top-left, .top-right {
    width: 32px;
  }

  .top-left {
    background: url('Frame_DF_Hor_Large_Left.png') no-repeat left top;
  }

  .top-tile {
    background: url('Frame_DF_Hor_Large_Tile.png') repeat-x center top;
  }

  .top-center {
    width: 128px;
    padding-top: 17px;
    text-align: center;
    background: url('Frame_DF_Hor_Large_Center.png') no-repeat center top;

    h1 {
      font-size: 21px;
    }
  }

  .top-right {
    background: url('Frame_DF_Hor_Large_Right.png') no-repeat right top;
  }

  .left-tile, .right-tile {
    width: 10px;
    background: url('left.png') no-repeat left center/10px 100%;
  }

  .content {
    position: relative;
    background: url('content.png');

    .inner {
      margin: -24px 0 -16px;
      padding: 0 8px;
    }
  }

  .right-tile {
    background-image: url('right.png');
    background-position-x: right;
  }

  .bottom-left, .bottom-right {
    width: 24px;
  }

  .bottom-left {
    background: url('bottom-left.png') no-repeat left top;
  }

  .bottom-tile {
    background: url('bottom-tile.png') repeat-x center bottom;
  }

  .bottom-right {
    background: url('bottom-right.png') no-repeat right top;
  }
}

.img {
  display: block;
  width: 134px;
  margin: 4px auto;
  padding: 2px;
  border: 1px solid var(--dark-bronze);
  box-shadow: 1px 1px 0 var(--dark);

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

.core {
  display: flex;

  article {
    width: 100%;

    &.center {
      width: 58%;
    }

    &:not(.center) {
      padding-top: 48px;
    }
  }
}

.education {
  font-family: Apprentice, serif;
  color: var(--bronze);
  text-align: center;

  img {
    width: 16px;
    height: 16px;
    vertical-align: top;
  }
}

.header-summary {
  text-align: left;
}

.summary {
  display: flex;
  padding: 4px 0;
}

.skills {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  position: relative;
  align-content: flex-start;
  width: 240px;
  height: 147px;
  margin: 6px 12px 0 0;
  padding: 29px 13px 0;
  background: var(--dark-bronze) url('skills.png') no-repeat left top;

  &:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    text-align: center;
    content: attr(title);
  }

  li {
    width: 32px;
    height: 32px;
    margin: 3px 0 0 3px;

    img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }
}

.experience {
  &:after {
    font-family: Verdana, sans-serif;
    display: inline-block;
    width: 322px;
    height: 15px;
    margin: 0 0 0 8px;
    font-size: 11px;
    font-weight: normal;
    line-height: 1.1;
    color: var(--light);
    content: '100.00%';
    vertical-align: middle;
    text-shadow: 1px 1px 0 var(--dark), -1px -1px 0 var(--dark), 1px -1px 0 var(--dark), -1px 1px 0 var(--dark);
    background: url('exp.png');
  }
}

.job-list {
  > li {
    margin: 2px 0 0;
    padding: 4px;
    border: 1px solid var(--dark-bronze);
    box-shadow: 1px 1px 0 var(--dark);

    .skill-list {
      font-size: 0;
      vertical-align: top;

      img {
        width: 16px;
        height: 16px;
        object-fit: contain;
      }
    }
  }

  h3 {
    text-align: left;
  }

  hgroup {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

@media print {
  header div {
    display: none;
  }
}

iframe {
  border: 0 none !important;
  outline: 0 none !important;
}

#ho_adv {
  display: none !important;
}

header div {
  position: absolute;
  right: 16px;
}

