/* -----  Fonts  --------------------------------------------- */

@font-face {
  font-family: 'Aileron';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/Aileron-Light.otf'); /* IE9 Compat Modes */
  src: url('../fonts/Aileron-Light.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/Aileron-Light.woff') format('woff'), 
       url('../fonts/Aileron-Light.ttf')  format('truetype'), 
       url('../fonts/Aileron-Light.otf') format('opentype');
}


/* -----  General  --------------------------------------------- */


* {
  margin: 0;
  padding: 0;
}

body{
    background: #f7f7f7;
    margin: 0px;
    font-family: 'Aileron', arial;
    font-size: 20pt;
}

.header_section{
  position: relative;
  display: inline-block;
  float: left;
  width: calc(100% - 60px);
  padding: 30px;
  margin-bottom: 30px;
  /*background: red;*/
}

h1{
  font-size: 60pt;
}

.contrast_button{
  position: fixed;
  top: 30px;
  right: 30px;
  width: 30px;
  height: auto;
  background: black;
  padding: 20px;
  border-radius: 50%;
  z-index: 100;
  cursor: pointer;
}

.contrast_button:hover{
  background: #2c2cff;
}

.contrast_button_contrast{
  position: fixed;
  top: 30px;
  right: 30px;
  width: 30px;
  height: auto;
  background: yellow;
  padding: 20px;
  border-radius: 50%;
  z-index: 100;
  cursor: pointer;
}

.contrast_button_contrast:hover{
  background: #0ff;
}

.header_image{
  position: relative;
  display: inline-block;
  float: left;
  width: calc(100% - 60px);
  border-radius: 25px;
  margin-left: 30px;
  -webkit-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.3);
  -moz-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.3);
  box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.3);
  margin-bottom: 30px;
}

.showcase_container{
  position: relative;
  display: inline-block;
  float: left;
  width: 100%;
  border-bottom: solid 1px black;
  /*background: red;*/
}

.showcase_title{
  padding: 30px;
  border-top: solid 1px black;
  cursor: pointer;
}

.showcase_title:hover{
  background: #2c2cff;
}

.showcase_title_contrast{
  padding: 30px;
  border-top: solid 1px yellow;
  cursor: pointer;
}

.showcase_title_contrast:hover{
  background: #0ff;
  color: black;
}

.showcase_content{
  /*display: inline-block;*/
  display: none;
  width: calc(100% - 30px);
  padding-left: 30px;
  padding-top: 30px;
  padding-bottom: 30px;
  /*cursor: pointer;*/

}

.showcase_content p{
  padding-bottom: 30px;
  padding-right: 30px;
  max-width: 980px;
}

a{
  color: #2c2cff;
  text-decoration: none;
}

a:hover{
  text-decoration: underline;
}

.image_container{
  position: relative;
  display: inline-block;
  width: calc((100% - 90px) / 3);
  margin-right: 25px;
  vertical-align: top;
}

.image_section{
  padding-top: 30px;
  padding-bottom: 30px;
}

.image_number{
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 14pt;
  z-index: 100;
  /*background: red;*/
}

.showcase_image{
  border-radius: 25px;
/*  -webkit-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.2);
  box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.2);*/
  border: solid 1px black;
  z-index: 0;
}

.image_caption{
  padding-top: 15px;
  font-size: 14pt;
}

.image_caption_header{
  padding-left: 30px;
  padding-top: 0px;
  padding-bottom: 30px;
  font-size: 14pt;
}

strong{
  text-decoration: underline;
  font-size: 28pt;
}

.footer_section{
  display: inline-block;
  max-width: 580px;
  padding-top: 30px;
  padding-bottom: 60px;
  padding-left: 30px;
  padding-right: 30px;
}

/* -----  Optimise  --------------------------------------------- */

@media only screen and (max-width: 850px) {
  .image_container{
    width: calc((100% - 60px) / 2);
  }
}

@media only screen and (max-width: 820px) {
  h1{
    font-size: 45pt;
  }
}

@media only screen and (max-width: 630px) {
  body{
    font-size: 16pt;
  }

  h1{
    font-size: 35pt;
  }

  strong{
    font-size: 24pt;
  }

  .image_number{
    font-size: 12pt;
  }

  .image_caption{
    font-size: 12pt;
  }

  .image_caption_header{
    font-size: 12pt;
  }
}

@media only screen and (max-width: 540px) {
  .image_container{
    width: calc(100% - 30px);
  }
}

@media only screen and (max-width: 375px) {
  body{
    font-size: 11pt;
  }

  h1{
    font-size: 20pt;
  }

  strong{
    font-size: 14pt;
  }

  .image_number{
    font-size: 9pt;
  }

  .image_caption{
    font-size: 9pt;
  }

  .image_caption_header{
    font-size: 9pt;
    padding-left: 15px;
    padding-bottom: 15px;
  }

  .contrast_button{
    top: 15px;
    right: 15px;
    width: 20px;
    padding: 15px;
    border-radius: 50%;
  }

  .contrast_button_contrast{
    top: 15px;
    right: 15px;
    width: 20px;
    padding: 15px;
    border-radius: 50%;
  }

  .header_section{
    width: calc(100% - 30px);
    padding: 15px;
    margin-bottom: 15px;
  }

  .header_image{
    width: calc(100% - 30px);
    border-radius: 15px;
    margin-left: 15px;
    margin-bottom: 30px;
  }

  .showcase_title{
    padding: 15px;
  }

  .showcase_title_contrast{
    padding: 15px;
  }

  .showcase_content{
    width: calc(100% - 15px);
    padding-left: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .showcase_content p{
    padding-bottom: 15px;
    padding-right: 15px;
  }

  .image_section{
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .image_container{
    width: calc(100% - 15px);
    margin-right: 10px;
  }

  .footer_section{
    padding-top: 15px;
    padding-bottom: 30px;
    padding-left: 15px;
    padding-right: 15px;
  }
}