/* -- GENERAL ELEMENTS -- */
html, body {
  display: flex;
  justify-content: center;

  height: 100%;
  width: 100%;

  margin: 0px;
  padding: 0px;

	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;

	color: #333333;
  background-color: #ffffff;
}
a:link {
  text-decoration: none;
}
a {
  color: #333333;
}
h1{
  font-size: 28px;
  font-weight: 600;
  text-transform: uppercase;
  color: #333333;
  margin: 0px;
  margin-bottom: 10px;
  padding: 0px;
}
h2{
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  color: #aaaaaa;
  margin: 0px;
  margin-bottom: 5px;
  padding: 0px;
}
h3{
  font-size: 14px;
  font-weight: 600;
  color: #333333;
  margin: 0px;
  margin-bottom: 5px;
  padding: 0px;
}
p{
  font-size: 14px;
  font-weight: 400;
  color: #333333;
  margin: 0px;
  margin-bottom: 20px;
  padding: 0px;
}
.center{
  text-align: center;
}
.spacer{
  width: 100%;
  height: 100px;
}
.titleSpacer{
  height: 500px;
}
.strongEmphasis{
  font-size: 22px;
  font-weight: 600;
  padding: 20px;
}
.legend{
  color: #aaaaaa;
  font-style: italic;
}
/* -------------------- */


/* -- RESPONSIVE ELEMENTS -- */
.desktop{
  display: block;
}
.mobile{
  display: none;
}
/* -------------------- */


/* -- PAGE LOAD INDICATOR -- */
.pageLoadIndicator{
  display: flex;
  align-items: center;
  justify-content: center;

  width:160px;
  height:40px;
  position: fixed;
  background-color: #aaaaaa;
  color: #FFFFFF;
  border-radius: 20px;
  opacity: 0;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -80px;
}
.spinnerSlow{
  animation:spin 1s linear infinite;
}
@keyframes spin { 100% { -webkit-transform: rotate(-360deg); transform:rotate(-360deg); } }
/* -------------------- */


/* -- CONTENT FLEX -- */
.contentContainer{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
}
.halfContentItemLeft{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex: 1 0 0;
  height: auto;
  margin: 0px;
  padding: 0px;
  min-width: 400px;
}
.halfContentItemRight{
  display: flex;
  flex: 1 0 0;
  align-items: center;
  height: auto;
  margin: 0px;
  padding: 0px;
  max-width: 800px;
  min-width: 400px;
}
.flexContainer{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.flexItemLeft{
  padding-right: 10px;
  flex: 1 0 0;
  min-width: 200px;
}
.flexItemRight{
  flex: 1 0 0;
  min-width: 200px;
}
.mainImage{
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  min-height: 300px;
  overflow: hidden;
  transition: 0.5s;
}
/* -------------------- */


/* -- FORM ELEMENTS -- */
.primaryButton{
  padding: 10px;
  padding-left: 20px;
  padding-right: 20px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
}
.secondaryButton{
  padding: 10px;
  padding-left: 20px;
  padding-right: 20px;
  border-style: solid;
  border-width: 1px;
  border-color: #aaaaaa;
  color: #aaaaaa;
  font-weight: 600;
  text-transform: uppercase;
}
.secondaryButton:hover{
  border-color: #999999;
  background-color: #EEEEEE;
  color: #999999;
}
.contactIMG{
  width: 56px;
}
/* -------------------- */


/* -- FLOATING ACTION BUTTON -- */
.round {
  border-radius: 50%;
}
.fab {
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  width: 56px;
  height: 56px;
  /* background-color: #0767d5; */
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  position: absolute;
  right: 30px;
  top: 15px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  color: #FFFFFF;
  font-size: 2em;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.16), 0px 3px 10px rgba(0, 0, 0, 0.16);
  z-index: 100;
}
/* .fab:hover{
  background-color: rgb(22, 90, 153);
} */
.fab i {
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  will-change: transform;
}
.inner-fabs .fab {
  width: 40px;
  height: 40px;
  right: 38px;
  top: 23px;
  font-size: 1.5em;
  will-change: bottom;
}
.inner-fabs.show .fab:nth-child(1) {
  top: 80px;
}
.inner-fabs.show .fab:nth-child(2) {
  top: 130px;
}
.inner-fabs.show .fab:nth-child(3) {
  top: 180px;
}
.inner-fabs.show .fab:nth-child(4) {
  top: 230px;
}
.inner-fabs.show .fab:nth-child(5) {
  top: 280px;
}
.inner-fabs.show .fab:nth-child(6) {
  top: 330px;
}
.inner-fabs.show + .fab i {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.fab:before {
  content: attr(data-tooltip);
  -webkit-transition: opacity 150ms cubic-bezier(0.4, 0, 1, 1);
  transition: opacity 150ms cubic-bezier(0.4, 0, 1, 1);
  position: absolute;
  visibility: hidden;
  opacity: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #FFFFFF;
  right: 50px;
  top: 25%;
  /* background-color: rgb(0, 67, 129); */
  font-size: 0.5em;
  line-height: 1em;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  border-radius: 2px;
  padding: 6px 8px;
  max-width: 200px;
  font-weight: bold;
  text-overflow: ellipsis;
  vertical-align: middle;
}
.inner-fabs.show .fab:hover:before {
  content: attr(data-tooltip);
  visibility: visible;
  opacity: 1;
}
.fabHome{
  background-color: rgb(0, 207, 114);
  color: #333333;
}
.fabHome:hover{
  background-color: rgb(54, 209, 139);
}
.fabHome:before{
  background-color: rgb(0, 207, 114);
  color: #333333;
}
.fabVitae{
  background-color: #F7D717;
  color: #333333;
}
.fabVitae:hover{
  background-color: rgb(252, 223, 57);
}
.fabVitae:before{
  background-color: #F7D717;
  color: #333333;
}
.strongEmphasisVitae{
  border-color: #F7D717;
  border-left-style: solid;
  border-left-width: 10px;
  padding-left: 20px;
}
.fabPersonal{
  background-color: #fd901c;
  color: #333333;
}
.fabPersonal:hover{
  background-color: #ff9728;
}
.fabPersonal:before{
  background-color: #fd901c;
  color: #333333;
}
.fabSamples{
  background-color: #d50767;
}
.fabSamples:hover{
  background-color: #d42175;
}
.fabSamples:before{
  background-color: #d50767;
}
/* ---------------------- */

/* -- HOME PAGE --
/* .homeImg{
  background-image: url("../assets/home.jpg");
} */ 
.mainTitle{
  font-size: 28px;
  font-weight: 900;
  text-transform: uppercase;
  color: #333333;
  margin: 0px;
  margin-bottom: 20px;
  padding: 0px;
}
.mainSubTitle{
  font-size: 16px;
  font-weight: 400;
}
.m_mainTitle{
  text-align: center;
  font-size: 28px;
  font-weight: 900;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0px;
  margin-bottom: 5px;
  padding: 0px;
}
.m_mainSubTitle{
  font-size: 16px;
  font-weight: 400;
}
.mainPadding{
  padding: 40px;
}
.m_mainPadding{
  justify-content: center;
}
/* -------------------- */


/* -- PERSONAL PAGE -- */
/* .personalImg{
  background-image: url("../assets/personal.jpg");
} */
/* -------------------- */


/* -- VITAE PAGE -- */
/* .vitaeImg{
  background-image: url("../assets/vitae.jpg");
} */
/* -------------------- */


/* -- SAMPLE OVERVIEW -- */
.sampleIMG{
  width: 100%;
  max-width: 1920px;
}
/* -------------------- */

@media only screen and (max-width: 800px) {
  .halfContentItemLeft, .halfContentItemRight, .flexItemLeft, .flexItemRight{
    min-width: 100%;
  }
  .mainPadding{
    padding: 20px;
  }
  .titleSpacer{
    height: 150px;
  }
  .desktop{
    display: none;
  }
  .mobile{
    display: block;
  }
  .spacer{
    height: 40px;
  }
}