html, body {
  font-family: 'Varela Round', monospace;
  background: url('canvas.png'), #121212; 
  background-size: cover;
  /*animation: delaybg 1s;*/
}

/* @keyframes delaybg {
  0%, 99% { background: #121212; height: 100%; overflow: hidden;}
  100% { background: url('canvas5.5.png'), #121212; height: auto; overflow: auto; }
}

#cover {
  animation: fadein ease 1.5s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes fadein {
  from { opacity: 0; }
  to { : 1; }
} */

/*needed for background image since theres a margin-right: -15px for some reason*/
.row {
  margin: auto !important;
}

.nav-link {
  color: #dd7;
}

.nav-link:hover {
  color: #aa4;
}

#cover {
  top: -10%;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 94%, rgba(0, 0, 0, 0)); 
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 94%, rgba(0, 0, 0, 0)); 
  background: #121212;  /*to be overriden*/
  background-size: cover;
  background-position: center;
  box-shadow: 100px;
  height: 110vh !important; 
}

.tooltip {
  left: 0px;
}

.tooltip-inner {
  background-color: #121212;
  font-family: 'Varela Round', monospace;
}
.arrow::before {   
  border-bottom-color:#121212 !important;
  border-top-color:#121212 !important;
}

.col {
  padding-left: 0.25em;
  padding-right: 0.25em;
} 

#cover #mainline {
  margin-top: -2.5em;
}

#mainline {
  font-weight: bold;
  font-size: 1.25em;
}

#links {
  padding-top: 2.5vh;
}

#links img {
  max-width: 50px;
  width:100%;
}

.skills .card, #mainskill{
  background-color: rgba(40, 40, 40, 0.7);
  box-shadow: 4px 4px 15px rgba(30, 30, 30, 0.8);
  border-radius: 8px;
}

.skills .card-body, #mainskill .card-body {
  font-size: 0.8rem;
}

#mainskill {
  min-width:25%;
  max-width:50%;
}

footer {
  background-color: rgba(10, 10, 10, 0.6);
}

.nav-link.inline { /*reset for footer*/
  display: inline;
  padding: 0;
}

footer, .smaller {
  font-size: 0.75em;
}

.project {
  font-weight: bold;
}

.info-segment .large-content span {
  margin-left: 2em;
}

.splitview {
  margin-right: 0px !important;
  margin-left: 0px !important;
}

.info-segment .headings {
  color: #dd7;
  padding: .5rem 1rem;
}

.modal-content {
  background: rgba(30, 30, 30, 0.8);
}

/*
 * timeline styling 
 */

/*assumes timeline-content has 2 columns, 1 .timeline and 1 content column thats it*/
/*anchor also needs to be flex or else the anchor node gets misaligned*/
.timeline-content, .timeline-anchor {
  display: flex;
}

.timeline {
  display: inline-block;
  max-width: 1em;
  height: auto;
  background: rgba(80, 80, 80, 0.5);
  margin: 3em;
  border-radius: 1em;
  /*patch for terminating the timeline at the nodes; assume p-5 divider exists at topmost and bottommost, and 2em of margin on both sides of the last element*/
  margin-top: 15em;
  margin-bottom: 15em;
}

/*all elements in the non timeline column that specifies it is an anchor*/
.timeline-anchor::before {
  /*set up .fa for this pseudo element*/
  font-size: 2em;
  font-family: var(--fa-style-family-classic);
  font-weight: 900;

  /*node style on timeline*/
  content: "\f192";
  color: rgba(200, 200, 200, 0.8);

  /*apparently flexbox centers content in pseudo elements*/
  display:flex;
  flex-direction:row;
  align-items: center;
  
  /*move the pseudoelement onto the timeline*/
  position: relative;
  left: -1.375em;  /*.timeline margin (3em) + .col margin on timeline (0.25em) - half of this width (0.5em), scaled by 2em*/
  margin-left: -1em;  /*remove the size of this element in parent*/
  width: 1em;
}

/*special types with ctf-info still in it*/
.timeline-organized::before {
  content: "\f005" !important;
  left: -1.475em !important;   /*seems like certain fonts have a different width than the normal node*/
}

/*big special types*/
.timeline-year::before {
  content: "\f79f" !important;
  left: -1.475em;
}

.timeline-year > * {
  font-size: 2.5em !important;
  padding: 1.5em !important;
  padding-left: 0.5em !important;
}

/*smaller special types*/
.timeline-join > *, .timeline-announce > *, .timeline-hiatus > * {
  font-size: 1.5em;
  padding: 0.5em !important;
}

.timeline-join::before {
  content: "\f2f6" !important;
}

.timeline-announce::before {
  content: "\f0a1" !important;
}

.timeline-hiatus::before {
  content: "\f186" !important;
  left: -1.275em !important;
}

/*
 * collapsable table styling
 */

.ctf-info {
  position: relative;
  width: 100%;
  background: rgba(30, 30, 30, 0.4);
  border-radius: 1em;
  margin-top: 2em !important;
  margin-bottom: 2em !important;
}

.ctf-info > .btn-group {    /*header*/
  width: 100%;
  height: 100%;
  background: rgba(60, 60, 60, 0.4);
  border-radius: 1em;
}

.ctf-info .ctf-table {
  width: 100%;
  /*if we set height here the collapse animation dies, and padding makes the animation choppy*/
}

.ctf-info .table-responsive {
  padding: 0.7em;
  padding-bottom: 0em;
}

.ctf-info .table {
  background: none;
  width: 100%;
}

.ctf-table th, .ctf-table td, .ctf-table .table-dark tbody+tbody {
  border-top: none;
}

.ctf-title {
  font-size: 2em;
  display: inline-block;
  padding-top: 1.3em;
  padding-left: 1.3em;
}

.ctf-metadata {
  position: absolute;
  top: 0;
  padding: 0.7em;
}

.ctf-details {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center; 
  right: 0;
  height: 100%;
  padding-right: 3em;
  font-size: 1.5em;
}

.ctf-details > *:not(sup) {
  padding: 0.2em;
}

/*android webview still uses webkit prefix for transform even though not for keyframes*/
.ctf-info.show .btn::after {
  -webkit-transform: rotate(-180deg);   
  transform:rotate(-180deg);            
}

/*both ways should have a transition*/
.ctf-info .btn::after {    
  transition: transform 500ms ease;
  scale: 1.5;
}

/*for modelling a less obvious separator*/
.big-sep {
  display: inline-block;
  vertical-align: middle;
}

.big-sep::before {
  content: '/';
  font-size: 180%;
  color: rgba(80, 80, 80, 0.5);
  text-align: center;
}


.emojione {
  width: 1em;
  height: 1em;
}

.text-first {
  color: #FFD700;
  text-shadow: 0 0 0.4em #FFD700;
}

.text-second {
  color: #C0C0C0;
  text-shadow: 0 0 0.4em #FFF;
}

.text-third {
  color: #CD7F32;
  text-shadow: 0 0 0.4em #CD7F32;
}

@media (max-width: 767px) {

  /*fixes stretching in safari*/
  .splitview img {
    width: 100% !important;
    height: 100% !important;
  }

  .skills {
    width: 100%;
    font-size: 0.75rem;
  }

  .skills .card-body {
    display: none;
  }

  .headings { font-size: 1.25rem; }
  .large-content { font-size: 0.75em; width: 100%; }
  
  .ctf-metadata { font-size: 0.5em; padding-left: 0; }
  .ctf-info { font-size: 0.3em; }
  .ctf-info .headings { font-size: inherit; }   /*disable scaling for ctf info*/
  .ctf-info .headings, .ctf-info .nav-link { padding: 0; }
  .ctf-title { font-size: 1em; padding-left: 0; max-width: 60%; overflow: auto; }
  .timeline { max-width: 0.25em; margin: 0.55em; margin-top: 7em; }
  .timeline-content .pr-5 { padding-right: 1em !important; }
  .timeline-content:not(.timeline) .timeline-anchor::before { font-size: 3em; left: -0.625em; }
  .timeline-organized::before { left: -0.675em !important; }
  .timeline-content .divider.timeline-anchor { font-size: 0.5em; }
  .timeline-content .divider.timeline-anchor::before { font-size: 2em; }

  /*fix safari link not wrapping*/
  a { overflow-wrap: break-word; }

  .splitview { width: 100%; text-align: center !important; padding: 2rem !important;}

  .p-5-flex { padding: 2rem !important; } /*patch back padding since p-5 is too much*/
}

@media (min-width: 768px) and (max-width: 1200px) {
  .ctf-metadata { font-size: 0.5em; padding-left: 0; }
  .ctf-info { font-size: 0.5em; }
  .ctf-info .headings { font-size: inherit; }   /*disable scaling for ctf info*/
  .ctf-info .headings, .ctf-info .nav-link { padding: 0; }
  .ctf-title { font-size: 1em; padding-left: 0; max-width: 60%; overflow: auto; }
  .ctf-info .timeline-anchor::before { font-size: 2em; }
  .timeline { max-width: 0.25em; margin-right: 1.35em; margin-top: 12.5em; margin-bottom: 12.5em }
  .timeline-content .divider.timeline-anchor { font-size: 0.5em; }
}

@media (min-width: 768px) {
  .headings { font-size: 1.5rem; }
  .large-content { font-size: 0.75em; width: 75%; }
  .skills { width: 90%; }

  .splitview { width: 50%; }
  .info-subsegment { display: flex; }

  .p-5-flex { padding: 5rem !important; }

  .info-segment { padding-left: 2%; padding-right: 2%; }
}
@media (min-width: 992px) {
  .headings { font-size: 1.75rem; }
  .large-content { font-size: 1em; }
}
@media (min-width: 1200px) {
  .headings { font-size: 2rem; }
  .large-content { font-size: 1.25em; }
  .info-segment { padding-left: 5%; padding-right: 5%; }
  .skills { width: 70%; }
}