@font-face {
  font-family: "BeVietnam-Light";
  src: url("/fonts/Raleway-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

* {
  -webkit-text-size-adjust: none;
  padding: 0;
  margin: 0;
  font: inherit;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  voice-family: '"}"';
  voice-family: inherit;
  font-size: small;
  font-family: BeVietnam-Light, "Helvetica Neue", sans-serif;
  letter-spacing: -0.05em;
  /* background-color: #141110; */
  background-color: #171313;
  /* background: url(/gui_images/tilingBG.jpg) repeat; */
  /* color: #f69d60; */
  color: #ffa25d;
}

html,
body {
  height: 100%;
}

html {
  box-sizing: border-box;
  /* color-scheme: dark light; */
}

@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth;
    scroll-padding-top: 2rem;
  }
}

::-moz-selection {
  /* Code for Firefox */
  color: #b12826;
  background: #ffac54;
}

::selection {
  color: #b12826;
  background: #ffac54;
}

/* ----- global CSS hyperlink variables ------ */
:root {
  /* --hyperlink: #e5d256; */
  --hyperlink: #6be89d;
  /* --hyperlink: #ffd04d; */
  /* --hyperlinkHover: #6be89d; */
  --hyperlinkHover: #c0ffcf;
  --headerFooterCropVersion: url(/gui_images/headerFooterCrop_v3.png);
}

.centerHorizontally {
  display: flex;
  justify-content: center;
}

a,
.lbl-toggle {
  text-decoration: none;
  color: var(--hyperlink);
}
a:hover,
.lbl-toggle:hover {
  color: var(--hyperlinkHover);
}
p {
  width: 100%;
  display: inline;
}
p,
dd,
.article_ul li {
  font-size: 1.5em;
  line-height: 20pt;
}
p.breadcrumbs_font {
  font-size: 1.3em;
  text-align: right;
}
.darker_text {
  color: #c5713b;
}

.title_subtitle_color {
  /* color: #ffdf7f; */
  color: #fff09f;
}

.tableSubject,
.tooltip,
.photoset_description,
th,
.textHighlight,
figcaption {
  color: #ffdf7f;
}

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

input,
textarea,
button,
select {
  font: inherit;
}

H2 {
  font-size: 250%;
  font-weight: normal;
}
html {
  min-height: 100%;
  margin-bottom: 1px;
}
.page_headerBG {
  background: url(/gui_images/page_headerBG.png) repeat-x;
  background-position: center bottom;
  padding: 0 10px 5px 10px;
}
.page_header {
  font-style: italic;
  letter-spacing: -1px;
  font-size: 200%;
  background: -webkit-linear-gradient(#fce498, #ea853b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.page_header_top {
  margin: 25px 0 0 0;
}

.no_inline {
  display: block;
}
.paragraphCenter {
  text-align: center;
}

.textJustify {
  text-align: justify;
}
.imageCenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

.notice_text {
  display: block;
  width: 75%;
  margin: 25px auto;
  padding: 5px 15px;
  background-color: #22170b;
  border-radius: 9px;
  moz-border-radius: 9px;
  -webkit-border-radius: 9px;
  border: 2px solid #401c08;
  color: #c96c48;
  text-align: center;
}

.breadcrumbs {
  float: right;
  width: 100%;
  height: auto;
  margin: 10px -11px 0 0;
}
strong {
  font-size: 1.2em;
}
.reducedSize {
  font-size: 1.4em;
}
.extraBottomSpacing {
  padding: 0 0 35px 0;
}

#wrapperMaster {
  height: 205px;
  background: var(--headerFooterCropVersion) repeat-x 0 -435px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) repeat-x 0 -435px; */
  /* border: 1px solid green; */
}
#wrapperCenter {
  /* width: 45%;
  min-width: 1175px; */
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 30px;
  overflow: hidden;
}
#wrapperLogo {
  float: right;
  width: 337px;
  height: 234px;
  background: var(--headerFooterCropVersion) no-repeat 0 0;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat 0 0; */

  margin-top: 5px;
  /* border: 1px solid yellow; */
}
#contentWrapper {
  width: 100%;
  float: left;
  margin: 25px 0 55px 0;
}
h1,
#titleLink {
  float: left;
  width: 310px;
  height: 55px;
  margin-top: 1px;
  margin-left: -8px;
}
h1 {
  float: left;
  margin-top: 12px;
  text-indent: -999999999999px;
}
#titleLink {
  width: 350px;
  background-position: 0 -232px;
  margin-top: -3px;
}
#date {
  float: left;
  clear: left;
  margin: -50px 0 0 0px;
  font-size: 1.3em;
}
.master_sup_size {
  vertical-align: top;
  font-size: 0.75em;
}

a.olsenPortfolioTitle {
  background: var(--headerFooterCropVersion) no-repeat 0 -232px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat 0 -232px; */
}
.paragraph_adjustments {
  margin-bottom: 30px;
  margin-top: -15px;
  margin: -15px 0 30px 0;
}

a.googlePlus,
a.linkedin,
a.Artstation,
a.facebook {
  float: right;
  margin-top: 190px;
  display: inline-block;
  position: relative;
  width: 28px;
  height: 30px;
  background: var(--headerFooterCropVersion) no-repeat;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat; */

  margin-left: 3px;
}
a.googlePlus span,
a.linkedin span,
a.Artstation span,
a.facebook span {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--headerFooterCropVersion) no-repeat;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat; */

  position: absolute;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
}
a.googlePlus:hover span,
a.linkedin:hover span,
a.Artstation:hover span,
a.facebook:hover span {
  opacity: 1;
}

a.googlePlus {
  background-position: -367px -49px;
}
a.googlePlus span {
  background-position: -338px -49px;
}

a.linkedin {
  background-position: -483px -49px;
}
a.linkedin span {
  background-position: -454px -49px;
}

a.Artstation {
  background-position: -462px 0px;
}
a.Artstation span {
  background-position: -433px 0px;
}

a.facebook {
  background-position: -425px -49px;
}
a.facebook span {
  background-position: -396px -49px;
}

.topmenu_ul {
  list-style-type: none;
  float: left;
  clear: left;
}
.topmenu_ul li {
  float: left;
} /* float order of menu icons */
.topmenu_ul li a#menu_underline {
  font-weight: 800;
} /* Make top menu item stand out a bit more */

a.menuItem {
  display: block;
  margin: 8px 16px 0 0;
  background: var(--headerFooterCropVersion) no-repeat 0 0;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat 0 0; */
}
a.home,
a.portfolio,
a.resume,
a.about,
a.contact,
a.articles {
  display: inline-block;
  position: relative;
  width: 58px;
  height: 82px;
}
a.home span,
a.portfolio span,
a.resume span,
a.about span,
a.contact span,
a.articles span {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--headerFooterCropVersion) no-repeat;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat; */
  position: absolute;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
}
a.home,
a.home:hover span,
a.portfolio,
a.portfolio:hover span,
a.resume,
a.resume:hover span,
a.about,
a.about:hover span,
a.contact,
a.contact:hover span,
a.articles:hover span {
  opacity: 1;
}

a.home {
  background-position: -296px -294px;
}
a.home span,
#bodyHome a.home {
  background-position: -237px -294px;
}

a.portfolio {
  background-position: -59px -294px;
}
a.portfolio span,
#bodyPortfolio a.portfolio,
topmenu_ul > li > ul > li > a:hover {
  background-position: -0px -294px;
}

a.resume {
  background-position: -177px -294px;
}
a.resume span,
#bodyResume a.resume {
  background-position: -118px -294px;
}

a.articles {
  background-position: -412px -294px;
}
a.articles span,
#bodyArticles a.articles {
  background-position: -354px -294px;
}

a.about {
  background-position: -295px -294px;
}
a.about span,
#bodyAbout a.about {
  background-position: -236px -294px;
}

a.contact {
  background-position: -413px -294px;
}
a.contact span,
#bodyContact a.contact {
  background-position: -354px -294px;
}

#footer {
  width: 100%;
  float: left;
  padding-top: 16px;
  text-align: center;
  background: url(/gui_images/slantedLineBorder.png) repeat-x;
}

.footer_ul {
  margin-bottom: 5px;
}
.footer_ul li,
.footer_menu li {
  margin-bottom: 6px;
  list-style: none;
  xcolor: #905900;
  font-size: 1.5em;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}
.footer_ul li {
  xcolor: #c5713b;
}
.footer_menu li {
  display: inline;
}
.footer_menu li a strong {
  font-size: 1em;
}
.footer_ul_back_top {
  float: right;
  margin-top: -55px;
}
.footer_ul_back_top li {
  list-style: none;
  display: inline;
}

a.footer_back,
a.footer_back2top {
  display: inline-block;
  position: relative;
  width: 71px;
  height: 47px;
}
a.footer_back {
  background: var(--headerFooterCropVersion) no-repeat -373px -169px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat -373px -169px; */
}
a.footer_back2top {
  background: var(--headerFooterCropVersion) no-repeat -338px -80px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat -338px -80px; */
}
a.footer_back span,
a.footer_back2top span {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;

  background: var(--headerFooterCropVersion) no-repeat;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat; */
  position: absolute;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
}
a.footer_back:hover span,
a.footer_back2top:hover span {
  opacity: 1;
}
a.footer_back span {
  background-position: -445px -169px;
}
a.footer_back2top span {
  background-position: -410px -80px;
}

#bodyHome #footerHome,
#bodyPortfolio #footerPortfolio,
#bodyResume #footerResume,
#bodyAbout #footerAbout,
#bodyContact #footerContact,
#bodyLegal #footerLegal {
  color: #fff600;
}

.javascriptDisabled {
  width: 77%;
  display: flex;
  justify-content: center;
  margin: 10px auto 20px auto;
  padding: 7px 10px 0 10px;
  background-color: #301200;
  border-radius: 9px;
  moz-border-radius: 9px;
  -webkit-border-radius: 9px;
  border: 2px solid #1c0b01;
  color: #8a3910;
}

.javascriptDisabled::before {
  content: url(/gui_images/icon_caution.png);
  position: relative;
  padding-right: 5px;
  bottom: 3px;
}

#contact_form {
  width: 100%;
  margin: -10px auto;
}
#contact_header {
  width: 171px;
  height: 30px;
  background: var(--headerFooterCropVersion) no-repeat -338px -128px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat -338px -128px; */
  float: left;
  margin-bottom: 7px;
}
#div_emailNameField {
  width: 100%;
  float: left;
  margin-top: -5px;
}
#emailfield,
#namefield,
#textarea {
  margin: 3px 0 5px 0;
  float: left;
  display: block;
  line-height: 1em;
  overflow: auto;
  outline: none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
}

#emailfield,
#namefield {
  width: 40%;
  height: 30px;
  text-indent: 65px;
}
#namefield {
  text-indent: 10px;
  display: none;
}
textarea {
  resize: vertical;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 70px;
  float: left;
  text-indent: 20px;
  padding-top: 3px;
}
textarea,
input[type="text"] {
  font-family: "Myriad Pro", "Calibri", "Helvetica Neue", "Arial", clean,
    sans-serif;
  color: #604831;
  font-size: 160%;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.55);
}
textarea:focus,
input[type="text"]:focus {
  color: #c69047;
}
textarea:blur,
[type="text"]:blur {
  color: #c69047;
}

input[type="submit"],
.g-recaptcha {
  float: right;
  width: 116px;
  height: 54px;
  background: var(--headerFooterCropVersion) no-repeat -39px -641px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat -39px -641px; */
  padding-top: -7px;
  outline: none;
}
input[type="submit"]:hover {
  width: 116px;
  height: 54px;
  background: var(--headerFooterCropVersion) no-repeat -156px -641px;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat -156px -641px; */
}

#footer_logo {
  width: 100%;
  float: left;
  clear: both;
  margin: 15px 0 50px 0;
}
#OP_logo {
  display: inline-block;
  position: relative;
  width: 94px;
  height: 48px;
  background: var(--headerFooterCropVersion) no-repeat;
  /* background: url(/gui_images/headerFooterCrop_v3.png) no-repeat; */
  background-position: -338px 0px;
  margin: 0 auto;
}

.topmenu_ul li ul {
  z-index: 99;
  background-color: #181413;
  background: linear-gradient(#3b2b25, #181413);
  list-style-type: none;
  padding: 10px 20px;
  margin: -5px 0 0 0;
  position: absolute;
  border: 1px solid #905608;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  box-shadow: 0px 3px 10px #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transiton: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -transition: opacity 0.5s;
}

.topmenu_ul li ul li {
  float: left;
  clear: left;
  padding: 0;
  margin: 0;
}
.topmenu_ul li ul a {
  display: block;
  font-size: 150%;
  text-shadow: 1px 2px 0 #000;
  padding: 5px 0;
}
.topmenu_ul li:hover ul {
  display: block;
  opacity: 1;
  visibility: visible;
}

.portfolio_header {
  display: block;
  position: relative;
  width: 468px;
  height: 36px;
  background: url(/portfolio/gui_images/portfolio_headers.png) no-repeat;
  margin: 50px auto 30px auto;
}
.three_d_models {
  background-position: 0 0;
  margin-top: -15px;
}
.illustrations {
  background-position: 0 -36px;
}
.textures {
  background-position: 0 -72px;
}
.gui {
  background-position: 0 -111px;
}
.screenshots {
  background-position: 0 -148px;
}

.photoset_description {
  font-size: 2em;
  margin-bottom: 10px;
  text-align: center;
}
.folio_image,
.folio_image_02 {
  display: block;
  margin: 0 auto 20px auto;
  border-style: solid;
  border-width: 12px;
  border-image: url(/gui_images/dashed_border.png) 12 12 repeat;
  -webkit-border-image: url(/gui_images/dashed_border.png) 12 12 repeat;
  -o-border-image: url(/gui_images/dashed_border.png) 12 12 repeat;
  -moz-border-image: url(/gui_images/dashed_border.png) 12 12 repeat;
}

.folio_image_02 {
  border-image: none;
  border: 1px solid black;
}

.g-recaptcha {
  float: left;
  margin-top: 5px;
}

textarea {
  overflow: auto;
}

button,
input {
  line-height: normal;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

.grid {
  list-style: none;
  margin: 25px 0 20px 0;
}
.grid li {
  display: inline-block;
  width: 220px;
  height: 110px;
  margin: 25px 0 30px 10px;
  margin: 0 0 10px 10px;
}

/* ---------------- pagination css ----------------------- */
.pagination-container {
  margin-top: 0em;
  margin-bottom: 25px;
  text-align: center;
}

.pagination-item {
  list-style-type: none;
  display: inline-block;
  border-right: 1px solid #342929;
  transform: scale(1) rotate(19deg) translateX(0px) translateY(0px)
    skewX(-10deg) skewY(-20deg);
}

.pagination-no_link {
  list-style-type: none;
  display: inline-block;
  border-right: 1px solid #342929;
  transform: scale(1) rotate(19deg) translateX(0px) translateY(0px)
    skewX(-10deg) skewY(-20deg);
  color: #3b302e;
}

.pagination-item.end,
.pagination-no_link.end {
  border-right: 1px solid #1a1717;
}

.pagination-item:hover {
  background-color: var(--hyperlinkHover);
  border-right: 1px solid #342929;
  color: #000;
}

.pagination-item.is-active {
  background-color: var(--hyperlink);
  border-right: 1px solid #342929;
  color: #000;
}

.pagination-item:hover .pagination-link,
.pagination-item.is-active .pagination-link {
  color: #000;
}

.pagination-item.first-number {
  border-left: 1px solid #342929;
}

.pagination-link {
  padding: 1.1em 1.3em;
  display: inline-block;
  text-decoration: none;
  font-size: 1.3em;
  transform: scale(1) rotate(0deg) translateX(0px) translateY(0px) skewX(20deg)
    skewY(0deg);
}

.disabled {
  color: #3b302e;
}

.disabled:hover {
  color: inherit;
}

.pagination-item--wide {
  list-style-type: none;
  display: inline-block;
}

.pagination-item--wide.first {
  margin: 0 1em 0 0;
}

.pagination-item--wide.last {
  margin: 0 0 0 1em;
}

.pagination-link--wide {
  text-decoration: none;
  padding: 1.1em 1.6em;
}

.pagination-link--wide.first:before,
.pagination-link--wide.last:after {
}

.pagination-link--wide.first::before {
  margin-right: 0.5em;
}

.pagination-link--wide.last::after {
  margin-left: 0.5em;
}

.about_me {
  width: 100%;
  margin-top: 35px;
}

/* ------------------ Control colours for article title, tip number, tip description and text highlighting ----------------- */
.title_subtitle_color,
ol li:before,
.tipTitle,
.textHighlight,
mark {
  color: #fddf84;
}

em {
  font-style: italic;
}

mark {
  background: none;
}
