/* Yellow: #FFCC00 */
/* Green:  #35af3b */
/* Green:  #28a745 */

/* Default CSS for abair.ie */

/* Yellow: #FFCC00 */
/* Green:  #35af3b */
/* Green:  #28a745 */

/* Default CSS for abair.ie */

@viewport {
  width: device-width;
}

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #FFF;
}

h1, h2 {
  color: #6b6b6b;
  text-align: center;
}

figure {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

figcaption {
  font-style: italic;
  font-size: 90%;
}

.space-around {
  justify-content: space-around !important;
}

.caret-down {
  font-size: 12px;
}

#language-switch {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  width: 200px;
  min-height: 20px; /* Works in Webkit browsers only if we add this property. (Feb 2019) */
  line-height: 125%;
  margin: 0 auto;
  margin-bottom: 4px;
  padding: 4px 8px 4px 8px;
  border: 1px solid #C8C8C8;
  border-radius: 5px;
  background-color: #F3F3F3;
  font-size: 12px;
  font-family: arial, helvetica, sans-serif;
}

.select-language {
  padding: 4px 8px 4px 8px;
  border-radius: 5px;
  color: #333;
  font-weight: normal;
  text-align: center;
}

.select-language:hover {
  background-color: #F5AF37;
  color: #333;
}

.select-language a {
  text-decoration: none;
  color: inherit;
}

.select-language a:visited {
  text-decoration: none;
  color: inherit;
}

.active-language {
  color: #FFF;
  background: #3a9c3a;
}

.container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  /*margin-top: 5px;*/
  flex: 1 0 auto; /* body is flex */
}

#logo-nav-wrapper {
  display: flex;
  flex-flow: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  position: relative;
  width: 900px;
  margin: 0 auto;
}

#logo {
  width: 140px;
  height: auto;
  padding: 6px;
  background-color: #333;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  text-align: center;
}

#logo img {
  width: 128px;
  margin: 0 auto;
}

#content-wrapper {
  width: 90%;
  margin: 0 auto;
  margin-top: 1%;
  padding: 10px;
}

/* Style the tab */
.tab {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  width: 600px;
  margin: 0 auto;
  overflow: hidden;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background-color: #FFF;
}

/* Style the buttons that are used to open the tab content */
.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  font-family: sans-serif;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
}

.tab button:hover {
  background-color: #ddd;
}

/* Create an active/current tablink class */
.tab button.active {
  background-color: #555;
}

/* Style the tab content */
.tabcontent {
  display: none;
  /*width: 60%;*/
  margin: 0 auto;
  padding: 0px;
  font-family: helvetica, arial, sans-serif;
  animation: fadeTab 0.7s;
}

@keyframes fadeTab {
  from {opacity: 0.2;}
  to {opacity: 1;}
}

#synthesis {
  display: block;
}

/* Input form for synthesis */
#input-form {
  display: block;
  width: 90%;
  margin: 0 auto;
}

.form-flex-col {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: center;
  width: 100%;
  margin: 0 auto;
}

.form-flex-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  width: 100%;
}

.dialect-switch {
  width: 600px;
  margin: 0 auto;
  background-color: #2F7A32;
  color: #FFF;
  overflow: hidden;
}

.dialect-switch label {
  float: left;
  display: block;
  padding: 10px 12px;
  text-align: center;
  font-family: sans-serif;
  cursor: pointer;
  transition: 0.3s;
}

.dialect-switch label:hover {
  color: #ffe95d;
  background-color: #4CAF50;
}

.dialect-switch label.active {
  color: #FFF;
  background-color: #F5AF37;
}

/* <textarea> for synthesis input */
.textarea-container {
  width: 578px;
  height: auto;
  margin: 0 auto;
  padding: 10px 10px 10px 10px;
  border: 1px solid #cbcbcb;
  background-color: #fcffea;
}

#indexTTS {
  display: block;
  width: 100%;
  height: 250px;
  margin: 0 auto;
  margin-bottom: 10px;
  padding: 0px;
  border: none;
  background-color: #fcffea;
  color: #006f01;
  font-size: 16px;
  font-family: sans-serif;
  letter-spacing: 1px;
}

#indexTTS.input-crop {
  height: 100px;
  transition: height 1s;
}

#indexTTS.input-crop:focus {
  height: 250px;
  /*transition: height 1s;*/
}

.writing-aids {
  display: inline-flex;
  flex-direction: row;
  flex-flow: row;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}

.fadas {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  width: 55%;
  color: #747474;
}

.fada-letter {
  padding: 0px 8px;
  cursor: pointer;
}

.fada-letter:hover {
  color: #000;
}

#counter {
  width: 45%;
  padding: 0px 8px 0px 0px;
  color: #747474;
  text-align: right;
  font-size: 14px;
}

#synth-controls {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 95%;
  margin: 0 auto;
  margin-top: 10px;
  padding: 8px;
  border-top: 1px solid #cbcbcb;
}

.control {
  margin-left: 2px;
  padding: 10px 14px;
  font-size: 14px;
  font-family: sans-serif;
}

.control label {
  color: #444;
  text-align: center;
}

.control option[selected=true] {
  font-weight: bold;
}

.buttons {
  display: flex;
  justify-content: center;
  margin: 10px;
}

.buttons input[type=button] {
  border: none;
  border-radius: 5px;
  padding: 8px 10px;
  /*background: #2F7A32;*/
  background-color: #439547;
  color: #FFF;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
}

/* Input form for reporting words */
#report-form {
  width: 60%;
  margin: 0 auto;
  padding: 10px 16px;
  background-color: none;
}

.report {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

.report label
{
  padding: 4px 6px;
  width: 25%;
  margin: 4px;
  border-bottom: 1px solid #e1e1e1;
  color: #444;
  font-family: sans-serif;
  font-size: 16px;
  text-align: left;
}

.report input[type=text]
{
  padding: 4px 6px;
  width: 75%;
  margin: 4px;
  border: none;
  border-bottom: 1px solid #b3b3b3;
  background-color: #e1e1e1;
  font-family: monospace;
}

.report select {
  width: 75%;
}

.report input[type="button"] {
  display: block;
  margin: 0 auto;
  color: #FFF;
}

#report-notice {
  width: 60%;
  height: 100px;
  margin: 0 auto;
  padding: 10px 16px;
  text-align: center;
  font-weight: bold;
}

#synth-output {
  visibility: hidden;
  display: none;
  width: 580px;
  margin: 0 auto;
  padding: 10px;
  border-bottom: 1px solid #444;
}

.play-button
{
  margin: 4px;
  padding: 4px 8px;
  background-color: #439547;
  border: none;
  border-radius: 5px;
  color: #FFF;
  /*color: #2F7A32F;*/
  font-size: 16px;
  text-align: center;
  /*font-weight: bold;*/
  cursor: pointer;
}

.button-playing {
  background-color: #F5AF37;
  border: none;
}

.button-paused {
  background-color: #7B7B7B;
  border: none;
}

.play-symbol {
  display: inline-block;
  width: 20px;
  /*height: 20px;*/
  margin-right: 4px;
  font-family: monospace, monospace; /* <= a hack! */
}

.pause {
  display: inline-block;
  height: 12px;
  background-image: url("/static/img/pause.png");
  background-repeat: no-repeat;
}

#workbench {
}

.workbench-toolbar {
  display: flex;
  flex-direction: column;
  width: 592px;
  margin: 0 auto;
  margin-bottom: 4px;
  padding: 4px;
  border-radius: 5px;
  background-color: none;
  color: #444;
  font-size: 14px;
  font-family: sans-serif;
}

.workbench-icon {
  display: block;
  padding: 4px 6px;
  background-color: #FFF;
  border-bottom: 1px solid #444;
  font-weight: bold;
  cursor: pointer;
}

.workbench-icon:hover {
  color: #439547;
}

.workbench-menu {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  padding: 6px;
  background-color: #FFF;
  color: #333;
  animation: fadein 1s 1;
}

.workbench-menuItem {
  display: block;
  padding: 6px;
  cursor: pointer;
}

.workbench-menuLabel {
  padding: 6px;
}

/* @TODO: add a bit of margin to rows for wrap */
.transcription-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 600px;
  padding-bottom: 4px;
  animation: fadein 0.5s 1;
}

.transcription {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 4px;
  background-color: #FDFFA7;
}

.transcription-word {
  margin: 2px;
  padding: 4px 4px;
  color: #545454;
  font-family: sans-serif;
  font-size: 14px;
  cursor: pointer;
}

.transcription-word:hover {
  background-color: #F5AF37;
}

.transcription-phonemes {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  padding: 2px 4px;
  color: #444;
  background-color: #f1f1f1;
  font-family: sans-serif;
  font-size: 12px;
}

.transcription-syllable {
  letter-spacing: 2px;
  text-align: center;
}

.stress {
  color: #000;
  font-size: 16px;
}

.syllable {
  color: #F5AF37;
  font-weight: bold;
  font-size: 16px;
}

.hidden {
  display: none;
  visibility: hidden;
}

.visible-block {
  display: block;
  visibility: visible;
}

#loader
{
  display: none;
  visibility: hidden;
  width: 200px;
  height: 200px;
  padding: 10px;
  position: fixed;
  background: #5B5B5B;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 5%;
  opacity: 0.7;
}

.loader
{
  position: absolute;
  width: 100px;
  height: 100px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 16px solid #f3f3f3; /* Light grey */
  border-top: 16px solid #4CDB34; /* Blue */
  border-radius: 50%;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes fadein {
	from { opacity: 0.2 }
	to { opacity: 1 }
}

footer {
  display: block;
  width: 70%;
  margin: 0 auto;
}

#copyright-notice {
  width: 70%;
  margin: 0 auto;
  margin-top: 1%;
  padding-top: 8px;
  border-top: 1px solid #dadada;
  color: #666;
  font-size: 12px;
  text-align: center;
  font-family: sans-serif;
}

#copyright-notice a {
  color: #444;
}

.footer-funders {
  width: 100%;
  margin: 0 auto;
  margin-top: 24px;
  padding: 0px 0px;
  background-color: #f8f8f8;
}

.funders-notice {
  padding: 8px;
  color: #444;
  font-size: 12px;
  text-align: center;
  font-family: sans-serif;
}

.funders-notice a {
  color: #444;
}

.logos-funders {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  width: 60%;
  margin: 0 auto;
  margin-top: 10px;
  border: none;
}

.logo-img {
  width: 30%;
  margin-top: 4px;
  text-align: center;
}

 /* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 20px;
}

/* Hide default HTML checkbox */
.switch input {display:none;}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .2s;
  transition: .2s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 12px;
  width: 12px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .2s;
  transition: .2s;
}

input:checked + .slider {
  /*background-color: #F5AF37;*/
  background-color: #2F7A32;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(12px);
  -ms-transform: translateX(12px);
  transform: translateX(12px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

/* Tooltip container */
.tooltip {
  position: relative;
  display: inline-block;
  padding: 4px 6px;
  /*border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;
  width: 240px;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 8px;
  border-radius: 6px;
  
  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -120px;  /* Note: has to be half of width */
  
  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.modal-header {
  background-color: #3e773b;
}

/* Modal Content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  border: 1px solid #888;
  width: 60%;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s
}

.modal-header {
  padding: 2px;
  background-color: #346e35;
  height: 32px;
  color: white;
}

.modal-body {
  background-color: #fcffea;
  padding: 8px 16px;
}

.modal-footer {
  padding: 2px 16px;
  background-color: #5cb85c;
  color: white;
}

#sample-text {
  width: 60%;
  margin: 0 auto;
}

#sample-text a {
  text-decoration: none;
  font-weight: bold;
  color: #000;
}

#sample-text a:hover {
  color: #2F7A32;
}

#sample-phrase {
  font-style: italic; 
}

/* The Close Button */
.close {
  display: block;
  width: 30px;
  height: 30px;
  color: #FFF;
  float: right;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}

.close:hover,
.close:focus {
  color: orange;
  text-decoration: none;
  cursor: pointer;
}

#privacy-notice {
  display: none;
  flex-direction: column;
  align-items: center; /* horizontal */
  justify-content: center; /* vertical */
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 8px 0px;
  background-color: #464646;
  color: #fbfbfb;
  font-size: 16px;
  z-index: 1;
  animation-name: animatebottom;
  animation-duration: 0.7s;
}

.privacy-content {
  display: flex;
  flex-direction: column;
  align-items: center; /* horizontal */
  justify-content: center; /* vertical */
  width: 60%;
  padding: 18px 28px;
  border-radius: 5px;
  background-color: #565656;
}

.privacy-notice-button {
  width: auto;
  margin: 0 auto;
  margin-top: 10px;
  padding: 8px 14px;
  border-radius: 25px;
  background: #3f9352;
  color: #FFF;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
}

.privacy-content a {
  color: #aecaff;
}

.privacy-content a:hover {
  color: orange;
}

.privacy-policy {
  width: 600px;
  margin: 0 auto;
  padding: 10px 28px;
  background-color: #EFEFEF;
  color: #444;
  font-family: helvetica, arial, sans-serif;
  text-align: justify;
  font-size: 14px;
}

.privacy-policy h2 {
  font-size: 16px;
}

.address-block {
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-rows: auto;
  width: 600px;
  margin: 0 auto;
  margin-bottom: 10px;
  padding: 10px 5px;
  border-top: 2px solid #6b6b6b;
  border-bottom: 2px solid #6b6b6b;
  font-size: 14px;
}

.address-label {
  justify-self: left;
  align-self: top;
  margin: 4px;
  font-weight: bold;
}

.address-item {
  justify-self: left;
  align-self: top;
  margin: 4px;
}

#contact-form {
  display: flex;
  flex-flow: column;
  justify-content: space-evenly;
  width: 560px;
  margin: 0 auto;
  border: 1px solid #CACACA;
  border-radius: 10px;
  padding: 10px 20px;
  background-color: #FFF;
}

.contact-form-text {
  width: 100%;
  margin: 0 auto;
  font-size: 14px;
  color: #444;
}

#contact-form textarea {
  display: block;
  width: calc(100% - 16px);
  height: 250px;
  margin: 0 auto;
  padding: 6px 8px;
  border: none;
  border-top: 1px solid #3b3b3b;
  border-bottom: 1px solid #3b3b3b;
  background-color: #f1f1f1;
  color: #3b3b3b;
  font-size: 14px;
  font-family: sans-serif;
}

#contact-form label {
  width: 15%;
  font-size: 14px;
}

#contact-form input[type="text"], input[type="email"] {
  width: 100%;
  margin: 0 auto;
  height: auto;
  padding: 8px;
  border: none; /* Remove default border */
  border: 1px solid #CACACA;
  border-radius: 5px;
  background-color: #FFF;
  font-size: 14px;
}

#contact-form select {
  width: 100%;  /* Don't subtract padding */
  margin: 0 auto;
  padding: 8px;
  border: none;
  border-radius: 5px;
  border: 1px solid #CACACA;
  background-color: #FFF;
  font-size: 16px;
  font-weight: bold;
}

#contact-form .form-flex-row, .form-flex-column {
  margin-top: 8px;
  margin-bottom: 8px;
  justify-content: flex-start;
  align-content: center;
}

#contact-form .required {
  color: #f21900;
  padding: 0px 4px;
  text-align: center;
  font-weight: bold;
}

#contact-form .section {
  position: relative;
}

#map-info {
  font-weight: bold;
  font-size: 120%;
  color: green;
  cursor: pointer;
}

#map-tcd {
  width: 600px;
  height: 450px;
  margin: 0 auto;
  margin-top: 5px;
  margin-bottom: 5px;
}

.map-frame {
  width: 600px;
  height: 450px;
}

.form-button {
  border: none;
  border-radius: 5px;
  padding: 6px 12px;
  background-color: #439547;
  color: #FFF;
  font-weight: bold;
  font-size: 16px;
}

.input-error {
  display: none;
  visibility: hidden;
  position: relative;
  padding: 4px 6px;
  width: 300px;
  background-color: #c55;
  color: #fff;
  text-align: center;
  padding: 5px;
  border-radius: 6px;
}

.input-error-msg {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
}

.input-error-visible {
  display: inline-block;
  visibility: visible;
  position: absolute;
  bottom: -2px;
  left: 130px;
  /*margin-left: -5px;*/
  border-width: 5px;
  border-style: solid;
  border-color: #c55 transparent transparent transparent;
  box-shadow: 2px 2px 2px 2px #727272;
}

.message-wrapper {
  position: relative;
  margin: 0 auto;
  margin-top: 6px;
}

#sent-notice {
  display: none;
  visibility: hidden;
  position: absolute;
  width: calc(100% - 36px);
  height: 250px;
  margin: 0 auto;
  padding: 10px 18px;
  background-color: #439547;
  color: #FFF;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
  animation: sentnotice .2s linear 1;
}

#sent-notice.sent-notice-visible {
  display: block;
  visibility: visible;
  bottom: 0;
  left: 0;
  z-index: 1;
}

#sent-notice .close-notice {
  margin: 0 auto;
  width: 15%;
  padding: 4px 10px;
  border-radius: 6px;
  background-color: #FFF;
  color: #555;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
}

@keyframes sentnotice {
  from {height: 0px;}
  to {height:246px;}
}

#accept-privacy {
  width: 70%;
  margin: 0 auto;
  padding: 8px 12px;
  text-align: center;
}

#accept-privacy .privacy-notice-button {
  width: 35%;
}

.general-content {
  width: 600px;
  margin: 0 auto;
  font-family: helvetica, arial, sans-serif;
  font-size: 14px;
}

.general-content p {
  text-align: justify;
}

.general-content p::first-letter {
  font-size: 120%;
  color: #444;
}

.general-content h2 {
  font-size: 16px;
}

.fun-box {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: baseline;
  align-content: flex-start;
  margin: 0 auto;
}

.fun-box figure {
  width: 40%;
  margin: 8px 4px;
  padding-bottom: 4px;
}

.fun-box figcaption {
  font-weight: bold;
}

fun-box image {
  border-bottom: 1px solid #f1f1f1;
}

.article {
  width: 55%;
  margin: 0 auto;
  padding: 30px 40px;
  border: none;
  color: #333;
  background-color: #FFF;
  font-size: 14px;
  font-family: helvetica, arial, sans-serif;
  text-align: justify;
  box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15)
}

.article h1 {
  font-size: 24px;
}

.article h2 {
  font-size: 20px;
}

.article h3 {
  text-align: left;
}

.article p::first-letter {
  font-size: 120%;
}

.info-box {
  width: calc(100% - 30px);
  margin: 0 auto;
  margin-top: 10px;
  padding: 10px 15px;
  background-color: #E6E6E6;
  border-radius: 5px;
  box-shadow: 0 8px 6px -6px #444;
  text-align: justify;
  overflow: auto;
}

.info-box h3 {
  font-family: helvetica, arial, sans-serif;
  font-size: 20px;
}

.more-info {
  display: block;
  float: right;
  margin-top: 15px;
  padding: 8px;
  border-radius: 5px;
  background-color: #3a9c3a;
  color: #FFF;
  text-align: center;
  font-family: 'Roboto', 'helvetica neue', helvetica, arial, sans-serif;
  font-weight: bold;
}

.more-info:hover {
  background-color: #333;
  font-style: underline;
}

.more-info a {
  text-decoration: none;
  color: inherit;
}

.more-info a:visited {
  text-decoration: none;
  color: inherit;
}

.tick-box {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  width: calc(100% - 16px);
  margin: 0 auto;
  padding: 8px;
  border-radius: 5px;
  text-align: center;
  color: green;
  background-color: #DBE6D4;
  font-family: helvetica, arial, sans-serif;
}

.tick-box-item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  margin: 5px;
  padding: 5px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 8px 6px -6px #444;
}

.tick-box-icon {
  width: 56px;
  height: 56px;
  padding: 4px;
  border-radius: 50%;
  font-size: 175%;
  margin-right: 10px;
  box-shadow: 0 8px 6px -6px #444;
  text-align: center;
}

.tick-box-head {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

.tick {
  height: 32px;
  width: 32px;
  font-size: 28px;
  margin-right: 5px;
  background-color: orange;
  border-radius: 5px;
  text-align: center;
}

.tick-text {
  
}

.header-paragraph {
  width: calc(90% - 40px);
  margin: 0 auto;
  margin-bottom: 40px;
  padding: 20px 20px;
  border-radius: 5px;
  background-color: #FFF;
  border: 1px solid #CACACA;
  box-shadow: 0 8px 2px -6px #444;
}

.header-paragraph a {
  color: #616161;
}

.header-paragraph a:visited {
  color: #000;
}

.light-bulb {
  display: inline-block;
  width: 28px;
  height: 28px;
  background-image: url("/static/img/pushpin.png");
  background-repeat: no-repeat;
}

.team {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.team-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 8px;
}

.team-member {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: calc(45% - 10px);
  padding: 20px 5px;
  font-size: 14px;
}

.team-member img {
  opacity: 0.75;
  cursor: pointer;
}

.team-member-selected {
  border-radius: 10px;
  background-color: #44883c;
  color: #FFF;
  z-index: 1;
  /*animation: openup 0.5s;*/
}

.team-member-selected img {
  opacity: 1.0;
}

.team-member-selected a {
  color: yellow;
}

.team-member-selected a:visited {
  color: orange;
}

.description {
  display: none;
  font-size: 14px;
  text-align: left;
}

.description-visible {
  display: block;
  width: calc(80% - 10px);
  margin: 0 auto;
  padding: 5px;
  text-align: left;
}

.staff-name {
  cursor: pointer;
}

.staff-name:hover {
  color: orange;
}

/* @600px Extra small devices (phones, 600px and down) */
@media screen and (max-width: 600px) {
  footer {
    width: 100%;
  }
  
  #language-switch {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 200px;
    min-height: 20px; /* Works in Webkit browsers only if we add this property. (Feb 2019) */
    line-height: 100%;
    margin: 0 auto;
    margin-bottom: 4px;
    padding: 4px 8px 4px 8px;
    border-radius: 5px;
    border: none;
    background-color: #FFF;
    font-size: 12px;
    font-family: arial, helvetica, sans-serif;
  }
  
  .select-language {
    padding: 4px 8px 4px 8px;
    border-radius: 5px;
    color: #333;
    font-weight: normal;
    text-align: center;
  }
  
  .select-language:hover {
    background-color: #F5AF37;
    color: #333;
  }
  
  .select-language a {
    text-decoration: none;
    color: inherit;
  }
  
  .select-language a:visited {
    text-decoration: none;
    color: inherit;
  }
  
  .active-language {
    color: #FFF;
    background: #3a9c3a;
  }
  
  .container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    flex: 1 0 auto; /* body is flex */
  }
  #logo-nav-wrapper {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
  
  #logo {
    display: none;
  }
  
  #content-wrapper {
    width: 100%;
    margin: 0 auto;
    margin-top: 1%;
    padding: 0px;
  }
  
  .tab {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    width: 100%;
    margin: 0 auto;
    margin-top: 6px;
    overflow: hidden;
    border: none;
    background-color: #FFF;
  }
  
  .tab button {
    background-color: #CACACA;
    float: left;
    border: none;
    outline: none;
    font-family: sans-serif;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    padding: 8px 16px;
    transition: 0.3s;
  }
  
  .tab button:hover {
    background-color: #ddd;
  }
  
  .tab button.active {
    background-color: #555;
  }
  
  .tabcontent {
    display: none;
    width: 100%;
    margin: 0 auto;
    padding: 0px;
    font-family: helvetica, arial, sans-serif;
    animation: fadeTab 0.7s;
  }
  
  .tabcontent h2 {font-size: 18px;}
  .general-content h2 {font-size: 16px;}
  
  #synthesis {
    display: block;
  }
  
  #input-form {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  
  .form-flex-col {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: center;
    width: 100%;
    margin: 0 auto;
  }
  
  .form-flex-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    width: 100%;
  }
  
  .dialect-switch {
    width: 100%;
    margin: 0 auto;
    background-color: #2F7A32;
    color: #FFF;
    overflow: hidden;
    font-size: 12px;
  }
  
  .dialect-switch label {
    float: left;
    display: block;
    padding: 10px 12px;
    text-align: center;
    font-family: sans-serif;
    cursor: pointer;
    transition: 0.3s;
  }

  .dialect-switch label:hover {
    color: #ffe95d;
    background-color: #4CAF50;
  }
  
  .dialect-switch label.active {
    color: #FFF;
    background-color: #F5AF37;
  }
  
  /* <textarea> for synthesis input */
  .textarea-container {
    width: calc(100% - 22px);
    height: auto;
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #cbcbcb;
    background-color: #fcffea;
  }
  
  #indexTTS {
    display: block;
    width: 100%;
    height: 150px;
    margin: 0 auto;
    margin-bottom: 10px;
    padding: 0px;
    border: none;
    background-color: #fcffea;
    color: #006f01;
    font-size: 16px;
    font-family: sans-serif;
    letter-spacing: 1px;
  }
  
  #indexTTS.input-crop {
    height: 75px;
    transition: height 1s;
  }
  
  #indexTTS.input-crop:focus {
    height: 150px;
  }
  
  .writing-aids {
    display: inline-flex;
    flex-direction: row;
    flex-flow: row;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
  }
  
  .fadas {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 50%;
    color: #747474;
    font-size: 12px;
  }
  
  .fada-letter {
    padding: 0px 4px;
    font-size: 180%;
    letter-spacing: 8px;
    cursor: pointer;
  }
  
  .fada-letter:hover {
    color: #000;
  }
  
  .disposable {
    display: none;
  }
  
  #counter {
    width: 50%;
    padding: 0px 8px 0px 0px;
    color: #747474;
    text-align: right;
    font-size: 14px;
  }
  
  #synth-controls {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    width: 95%;
    margin: 0 auto;
    margin-top: 10px;
    padding: 8px;
    border-top: 1px solid #cbcbcb;
  }
  
  .control {
    margin-left: 2px;
    padding: 6px 8px;
    font-size: 12px;
    font-family: sans-serif;
  }
  
  .control label {
    color: #444;
    text-align: center;
  }
  
  .control option[selected=true] {
    font-weight: bold;
  }
  
  .buttons {
    display: flex;
    justify-content: center;
    margin: 10px;
  }
  
  .buttons input[type=button] {
    width: calc(50% - 16px);
    height: 40px;
    padding: 6px 8px;
    border: none;
    border-radius: 5px;
    /*background: #2F7A32;*/
    background-color: #439547;
    color: #FFF;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
  }
  
  #report-form {
    width: calc(100% - 12px);;
    margin: 0 auto;
    padding: 0px;
    background-color: none;
  }
  
  .report {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }
  
  .report label
  {
    width: 25%;
    padding: 0px;
    width: 25%;
    margin: 4px;
    border-bottom: 1px solid #e1e1e1;
    color: #444;
    font-family: sans-serif;
    font-size: 14px;
    text-align: left;
  }
  
  .report input[type=text]
  {
    width: calc(75% - 12px);
    padding: 4px 6px;
    width: 75%;
    margin: 4px;
    border: none;
    border-bottom: 1px solid #b3b3b3;
    background-color: #e1e1e1;
    font-family: monospace;
    font-size: 12px;
  }
  
  .report select {
    width: calc(75% - 4px);
  }
  
  .report input[type="button"] {
    display: block;
    margin: 0 auto;
    color: #FFF;
  }
  
  #report-notice {
    width: 100%;
    height: 100px;
    margin: 0 auto;
    padding: 0px;
    text-align: center;
    font-weight: bold;
  }
  
  #synth-output {
    visibility: hidden;
    display: none;
    width: 92%;
    margin: 0 auto;
    padding: 10px;
    border-bottom: 1px solid #444;
  }
  
  .play-button {
    display: block;
    width: calc(100% - 12px);
    margin: 0 auto;
    margin-top: 2px;
    margin-bottom: 2px;
    padding: 8px;
    background-color: #439547;
    border: none;
    border-radius: 5px;
    color: #FFF;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
  }
  
  .button-playing {
    background-color: #F5AF37;
    border: none;
  }
  
  .button-paused {
    background-color: #7B7B7B;
    border: none;
  }
  
  .workbench-toolbar {
    display: flex;
    flex-direction: column;
    width: calc(100% - 4px);
    margin: 0 auto;
    margin-bottom: 4px;
    padding: 4px;
    border-radius: 5px;
    background-color: none;
    color: #444;
    font-size: 12px;
    font-family: sans-serif;
  }
  
  .workbench-icon {
    display: block;
    padding: 4px 6px;
    background-color: #FFF;
    border-bottom: 1px solid #444;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
  }
  
  .workbench-icon:hover {
    color: #439547;
  }
  
  .workbench-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    margin: 2px;
    font-size: 12px;
    padding: 6px;
    background-color: #FFF;
    color: #333;
    animation: fadein 1s 1;
  }
  
  .workbench-menuItem {
    display: inline;
    padding: 6px;
    cursor: pointer;
  }
  
  .workbench-menuLabel {
    display: inline;
    padding: 6px;
  }
  
  .transcription-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 92%;
    text-align: center;
    padding-bottom: 4px;
    animation: fadein 0.5s 1;
  }
  
  .transcription {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 2px;
    background-color: #FDFFA7;
  }
  
  .transcription-word {
    margin: 2px;
    padding: 4px 4px;
    color: #545454;
    font-family: sans-serif;
    font-size: 14px;
    cursor: pointer;
  }
  
  .transcription-word:hover {
    background-color: #F5AF37;
  }
  
  .transcription-phonemes {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    padding: 2px 4px;
    color: #444;
    background-color: #f1f1f1;
    font-family: sans-serif;
    font-size: 12px;
  }
  
  .transcription-syllable {
    letter-spacing: 2px;
    text-align: center;
  }
  
  .stress {
    color: #000;
    font-size: 16px;
  }
  
  .syllable {
    color: #F5AF37;
    font-weight: bold;
    font-size: 16px;
  }
  
  .hidden {
    display: none;
    visibility: hidden;
  }
  
  #loader
  {
    display: none;
    visibility: hidden;
    width: 200px;
    height: 200px;
    padding: 10px;
    position: fixed;
    background: #5B5B5B;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 5%;
    opacity: 0.7;
  }
  
  .loader
  {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid #4CDB34; /* Blue */
    border-radius: 50%;
    animation: spin 2s linear infinite;
  }
  
  #footer {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  
  #copyright-notice {
    width: 100%;
    margin: 0 auto;
    margin-top: 8vh;
    padding-top: 8px;
    border-top: 1px solid #dadada;
    color: #666;
    font-size: 10px;
    text-align: center;
    font-family: sans-serif;
  }
  
  #copyright-notice a {
    color: #444;
  }
  
  .footer-funders {
    width: 100%;
    margin: 0 auto;
    margin-top: 24px;
    padding: 0px 0px;
    background-color: #f8f8f8;
  }
  
  .funders-notice {
    padding: 8px;
    color: #444;
    font-size: 10px;
    text-align: center;
    font-family: sans-serif;
  }
  
  .funders-notice a {
    color: #444;
  }

  .logos-funders {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 60%;
    margin: 0 auto;
    margin-top: 10px;
    border: none;
  }
  
  .logo-img {
    width: 30%;
    display: none;
    margin-top: 4px;
    text-align: center;
  }
  
  .switch {
    position: relative;
    display: inline-block;
    width: 32px;
    height: 20px;
  }
  
  /* Hide default HTML checkbox */
  .switch input {display:none;}
  
  /* The slider */
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .2s;
    transition: .2s;
  }
  
  .slider:before {
    position: absolute;
    content: "";
    height: 12px;
    width: 12px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .2s;
    transition: .2s;
  }
  
  input:checked + .slider {
    /*background-color: #F5AF37;*/
    background-color: #2F7A32;
  }
  
  input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
    -webkit-transform: translateX(12px);
    -ms-transform: translateX(12px);
    transform: translateX(12px);
  }
  
  /* Tooltip container */
  .tooltip {
    position: relative;
    display: inline-block;
    padding: 4px 6px;
  }
  
  /* Tooltip text */
  .tooltip .tooltiptext {
    visibility: hidden;
    width: 240px;
    background-color: #555;
    color: #fff;
    text-align: center;
    padding: 5px 8px;
    border-radius: 6px;
    /* Position the tooltip text */
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -120px;  /* Note: has to be half of width */
    /* Fade in tooltip */
    opacity: 0;
    transition: opacity 0.3s;
  }
  
  /* Tooltip arrow */
  .tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
  }
  
  /* Show the tooltip text when you mouse over the tooltip container */
  .tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
  }
  
  /* The Modal (background) */
  .modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  }
  
  .modal-header {
    background-color: #3e773b;
  }
  
  /* Modal Content */
  .modal-content {
    width: calc(100% - 32px);
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
  }
  
  .modal-header {
    padding: 2px;
    background-color: #346e35;
    height: 32px;
    color: white;
  }
  
  .modal-body {
    background-color: #fcffea;
    padding: 8px 16px;
  }
  
  .modal-footer {
    padding: 2px 16px;
    background-color: #5cb85c;
    color: white;
  }
  
  #sample-text {
    width: 90%;
    margin: 0 auto;
  }
  
  #sample-text a {
    text-decoration: none;
    font-weight: bold;
    color: #000;
  }
  
  #sample-text a:hover {
    color: #2F7A32;
  }
  
  #sample-phrase {
    font-style: italic; 
  }
  
  
  #gaeltachtAudioContainer {width: 95%;}
  
  /* The Close Button */
  .close {
    display: block;
    width: 30px;
    height: 30px;
    color: #FFF;
    float: right;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
  }
  
  .close:hover,
  .close:focus {
    color: orange;
    text-decoration: none;
    cursor: pointer;
  }
  
  #privacy-notice {
    display: none;
    flex-direction: column;
    align-items: center; /* horizontal */
    justify-content: center; /* vertical */
    position: fixed;
    width: calc(100% - 16px);
    bottom: 12vh; /* We have to add some padding for mobile browsers */
    left: 0;
    right: 0;
    padding: 8px;
    background-color: #464646;
    color: #fbfbfb;
    font-size: 16px;
    z-index: 1;
    animation: animatebottomvp 0.7s;
  }
  
  .privacy-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* horizontal */
    justify-content: center; /* vertical */
    width: calc(100% - 56px);
    text-align: justify;
    padding: 18px 28px;
    border-radius: 0px;
    background-color: #565656;
  }
  
  .privacy-notice-button {
    width: auto;
    margin: 0 auto;
    margin-top: 10px;
    padding: 8px 14px;
    border-radius: 25px;
    background: #3f9352;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
  }
  
  .privacy-content a {
    color: #aecaff;
  }
  
  .privacy-content a:hover {
    color: orange;
  }
  
  .privacy-policy {
    width: calc(100% - 16px);
    margin: 0 auto;
    padding: 4px 8px;
    background-color: #EFEFEF;
    color: #444;
    font-family: helvetica, arial, sans-serif;
    text-align: justify;
    font-size: 12px;
  }
  
  .privacy-policy h1 {
    font-size: 16px;
  }
  
  .privacy-policy h2 {
    font-size: 14px;
  }
  
  .address-block {
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-rows: auto;
    width: calc(100% - 20px);
    margin: 0 auto;
    margin-bottom: 10px;
    padding: 10px;
    border-top: 2px solid #6b6b6b;
    border-bottom: 2px solid #6b6b6b;
    font-size: 12px;
  }
  
  .address-label {
    justify-self: left;
    align-self: top;
    margin: 4px;
    font-weight: bold;
  }

  .address-item {
    justify-self: left;
    align-self: top;
    margin: 4px;
  }
  
  #contact-form {
    display: flex;
    flex-flow: column;
    justify-content: space-evenly;
    width: calc(100% - 40px);
    margin: 0 auto;
    border: 1px solid #CACACA;
    border-radius: 10px;
    padding: 10px 20px;
    background-color: #FFF;
    /*font-size: 12px;*/
  }
  
  #contact-form textarea {
    height: 250px;
    font-size: 14px;
    font-family: sans-serif;
  }
  
  #contact-form label {
    width: 15%;
    font-size: 14px;
  }
  
  #contact-form input[type="text"], input[type="email"] {
    font-size: 14px;
  }
  
  #contact-form select {
    font-size: 16px;
  }
  
  #contact-form .form-flex-row, .form-flex-column {
    align-content: center;
  }
  
  #contact-form .required {
    color: #f21900;
    padding: 0px 4px;
    text-align: center;
    font-weight: bold;
  }
  
  #contact-form .section {
    position: relative;
  }
  
  #map-tcd {
    width: 100%;
    height: 450px;
    margin: 0 auto;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  
  .map-frame {
    width: 100%;
    height: 450px;
  }
  
  .input-error {
    display: none;
    visibility: hidden;
    position: relative;
    padding: 4px 6px;
    width: 300px;
    background-color: #c55;
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 6px;
  }
  
  .input-error-msg {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-size: 14px;
  }
  
  .input-error-visible {
    display: inline-block;
    width: calc(100% - 50px);
    visibility: visible;
    position: absolute;
    bottom: -2px;
    left: 50px;
    /*margin-left: -5px;*/
    border-width: 5px;
    border-style: solid;
    border-color: #c55 transparent transparent transparent;
    box-shadow: 2px 2px 2px 2px #727272;
  }
  
  .message-wrapper {
    position: relative;
    margin: 0 auto;
    margin-top: 6px;
  }
  
  #sent-notice {
    display: none;
    visibility: hidden;
    position: absolute;
    color: #FFF;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    animation: sentnotice .2s linear 1;
  }
  
  #sent-notice.sent-notice-visible {
    display: block;
    visibility: visible;
    z-index: 1;
  }
  
  #sent-notice .close-notice {
    margin: 0 auto;
    width: 15%;
    padding: 4px 10px;
    border-radius: 6px;
    background-color: #FFF;
    color: #555;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
  }
  
  #accept-privacy {
    width: 70%;
    margin: 0 auto;
    padding: 8px 12px;
    text-align: center;
  }
  
  #accept-privacy .privacy-notice-button {
    width: 35%;
  }
  
  .general-content {
    width: calc(100% - 16px);
    margin: 0 auto;
    font-family: helvetica, arial, sans-serif;
    font-size: 13px;
  }
  
  .general-content p {
    text-align: justify;
  }
  
  .general-content p::first-letter {
    font-size: 120%;
    color: #444;
  }
  
  .general-content h2 {
    font-size: 16px;
  }
  
  .article {
    width: calc(100% - 20px);
    margin: 0 auto;
    margin-top: 4px;
    padding: 10px;
    border: none;
    color: #333;
    background-color: #FFF;
    font-size: 14px;
    font-family: helvetica, arial, sans-serif;
    text-align: justify;
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15)
  }
  
  .article h1 {
    font-size: 18px;
  }
  
  .article h2 {
    font-size: 16px;
  }
  
  .article p::first-letter {
    font-size: 120%;
  }
  
  .info-box {
    width: calc(100% - 30px);
    margin: 0 auto;
    margin-top: 10px;
    padding: 10px 15px;
    background-color: #E6E6E6;
    border-radius: 5px;
    box-shadow: 0 8px 6px -6px #444;
    text-align: justify;
    overflow: auto;
  }
  
  .info-box h3 {
    font-family: helvetica, arial, sans-serif;
    font-size: 14px;
    text-align: left;
  }
  
  .more-info {
    display: block;
    float: right;
    margin-top: 15px;
    padding: 8px;
    border-radius: 5px;
    background-color: #3a9c3a;
    color: #FFF;
    text-align: center;
    font-family: 'Roboto', 'helvetica neue', helvetica, arial, sans-serif;
    font-weight: bold;
  }
  
  .more-info:hover {
    background-color: #333;
    font-style: underline;
  }
  
  .more-info a {
    text-decoration: none;
    color: inherit;
  }
  
  .more-info a:visited {
    text-decoration: none;
    color: inherit;
  }
  
  .tick-box {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    width: calc(100% - 16px);
    margin: 0 auto;
    padding: 8px;
    border-radius: 5px;
    text-align: center;
    color: green;
    background-color: #DBE6D4;
    font-family: helvetica, arial, sans-serif;
  }
  
  .tick-box-item {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin: 5px;
    padding: 5px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 8px 6px -6px #444;
  }
  
  .tick-box-icon {
    width: 56px;
    height: 56px;
    padding: 4px;
    border-radius: 50%;
    font-size: 175%;
    margin-right: 10px;
    box-shadow: 0 8px 6px -6px #444;
    text-align: center;
  }
  
  .tick-box-head {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  
  .tick {
    width: 24px;
    height: 24px;
    font-size: 18px;
    margin-right: 5px;
    background-color: orange;
    border-radius: 5px;
    text-align: center;
  }
  
  .team-row {
    flex-direction: column;
  }
  
  .team-member {
    width: calc(100% - 10px);
  }

}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media screen and (min-width: 600px) {
  #language-switch {
    line-height: 100%;
    border: none;
    background-color: #FFF;
  }

  #logo-nav-wrapper {
    width: 100%;
  }

  #logo {
    display: none;
  }

  #content-wrapper {width: 100%; padding: 0px;}

  .tab {width: 100%; border: none; margin-top: 6px;}
  .tab button {
    padding: 8px 16px;
    font-size: 14px;
    background-color: #CACACA;
  }
  .tabcontent {width: 100%;}
  .tabcontent h2 {font-size: 16px;}

  #input-form {width: 90%; margin: 0 auto;}
  .dialect-switch {
    width: 100%;
    font-size: 16px;
  }
  
  .textarea-container {
    width: calc(100% - 22px); 
  }

  .dialect-switch {
    font-size: 12px;
  }

  #indexTTS {height: 150px;}
  #indexTTS.input-crop {height: 75px;}
  #indexTTS.input-crop:focus {height: 150px;}
  .fadas {width: 50%; font-size: 12px;}
  .fada-letter {padding: 0px 4px; font-size: 180%; letter-spacing: 8px;}
  .disposable {display: none;}
  #counter {width: 50%;}

  #synth-controls {
    flex-flow: row wrap;
    justify-content: flex-start;
  }
  .control {padding: 6px 8px; font-size: 12px;}
  .buttons input[type=button] {
    width: calc(50% - 16px);
    height: 40px;
    padding: 6px 8px;
    font-size: 16px;
  }

  #report-form {width: calc(100% - 12px); padding: 0px;}
  .report label {width: 25%; padding: 0px; font-size: 14px;}
  .report input[type=text] {width: calc(75% - 12px); font-size: 12px;}
  .report select {width: calc(75% - 4px);}
  #report-notice {width: 100%; padding: 0px;}

  #synth-output {width: calc(90% - 20px);}
  .play-button {
    display: block;
    width: calc(80% - 12px);
    margin: 0 auto;
    margin-top: 2px;
    margin-bottom: 2px;
    padding: 8px;
    font-size: 16px;
  }

  .workbench-toolbar {width: calc(90% - 4px); font-size: 12px;}
  .workbench-menu {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    margin: 2px;
    font-size: 12px;
  }
  .workbench-icon {font-size: 14px;}
  .workbench-menuItem {display: inline;}
  .workbench-menuLabel {display: inline;}

  .transcription-container {width: 92%; text-align: center;}
  .transcription {margin-bottom: 2px;}

  footer {width: 100%; margin-top: 8vh;}
  #copyright-notice {width: 90%;}

  .funders-notice {font-size: 11px;}
  .logo-img {display: none;}

  .modal-content {width: calc(100% - 32px);}

  #sample-text {width: 90%; font-size: 16px;}

  #gaeltachtAudioContainer {width: 80%;}


  #privacy-notice {
    width: calc(100% - 16px);
    bottom: 12vh; /* We have to add some padding for mobile browsers */
    font-size: 14px;
    padding: 8px;
    animation: animatebottomvp 0.7s;
  }
  .privacy-content {width: calc(100% - 56px); text-align: justify; border-radius: 0px;}

  .privacy-policy {width: calc(100% - 16px); padding: 4px 8px; font-size: 12px;}
  .privacy-policy h1 { font-size: 16px; }
  .privacy-policy h2 { font-size: 14px; }

  .address-block {width: calc(100% - 20px); padding: 10px; font-size: 12px;}

  #contact-form {width: calc(100% - 40px); font-size: 12px;}

  .input-error-visible {left: 50px;}

  .general-content {width: calc(100% - 16px); font-size: 14px; padding: 0px 8px;}
  .general-content h2 {font-size: 16px; font-family: helvetica, arial, sans-serif;}

  .article {
    width: calc(100% - 20px);
    margin-top: 4px;
    padding: 10px;
    font-size: 14px;
  }
  .article h1 {font-size: 16px;}
  .article h2 {font-size: 14px;}

  .info-box {font-size: 16px;}
  .info-box h3 {font-size: 18px; text-align: left;}

  .tick-box-item {font-size: 18px;}
  .tick {
    width: 24px;
    height: 24px;
    font-size: 20px;
  }
}

@media screen and (min-width: 600px) and (orientation: landscape) {
.dialect-switch {
    font-size: 18px;
  }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {

  .tab button {
    padding: 10px 18px;
    font-size: 16px;
  }
  
  .tabcontent h2 {font-size: 20px;}
  
  .dialect-switch {
    font-size: 18px;
  }

  #indexTTS {height: 200px;}
  #indexTTS.input-crop {height: 100px;}
  #indexTTS.input-crop:focus {height: 200px;}
  .disposable {
    display: inline;
  }
  
  #contact-wrapper {width: 90%; margin: 0 auto;}
  .address-block {
    font-size: 14px;
  }
}

/* @992px Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {

  #language-switch {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 200px;
    min-height: 20px; /* Works in Webkit browsers only if we add this property. (Feb 2019) */
    line-height: 125%;
    margin: 0 auto;
    margin-bottom: 4px;
    padding: 4px 8px 4px 8px;
    border: 1px solid #C8C8C8;
    border-radius: 5px;
    background-color: #F3F3F3;
    font-size: 12px;
    font-family: arial, helvetica, sans-serif;
  }
  
  .select-language {
    padding: 4px 8px 4px 8px;
    border-radius: 5px;
    color: #333;
    font-weight: normal;
    text-align: center;
  }
  
  .select-language:hover {
    background-color: #F5AF37;
    color: #333;
  }
  
  .select-language a {
    text-decoration: none;
    color: inherit;
  }
  
  .select-language a:visited {
    text-decoration: none;
    color: inherit;
  }
  
  .active-language {
    color: #FFF;
    background: #3a9c3a;
  }
  
  .container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    /*margin-top: 5px;*/
    flex: 1 0 auto; /* body is flex */
  }
  
  #logo-nav-wrapper {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    position: relative;
    width: 900px;
    margin: 0 auto;
  }
  
  #logo {
    display: block;
    width: 140px;
    height: auto;
    padding: 6px;
    background-color: #333;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    text-align: center;
  }
  
  #logo img {
    width: 128px;
    margin: 0 auto;
  }
  
  #content-wrapper {
    width: 90%;
    margin: 0 auto;
    margin-top: 1%;
    padding: 10px;
  }
  
  /* Style the tab */
  .tab {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    width: 600px;
    margin: 0 auto;
    overflow: hidden;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #FFF;
  }
  
  /* Style the buttons that are used to open the tab content */
  .tab button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
  }
  
  .tab button:hover {
    background-color: #ddd;
  }
  
  /* Create an active/current tablink class */
  .tab button.active {
    background-color: #555;
  }
  
  /* Style the tab content */
  .tabcontent {
    display: none;
    /*width: 60%;*/
    margin: 0 auto;
    padding: 0px;
    font-family: helvetica, arial, sans-serif;
    animation: fadeTab 0.7s;
  }
  
  #synthesis {
    display: block;
  }
  
  /* Input form for synthesis */
  #input-form {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
  
  .form-flex-col {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: center;
    width: 100%;
    margin: 0 auto;
  }
  
  .form-flex-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    width: 100%;
  }
  
  .dialect-switch {
    width: 600px;
    margin: 0 auto;
    background-color: #2F7A32;
    color: #FFF;
    overflow: hidden;
  }
  
  .dialect-switch label {
    float: left;
    display: block;
    padding: 10px 12px;
    text-align: center;
    font-family: sans-serif;
    cursor: pointer;
    transition: 0.3s;
  }
  
  .dialect-switch label:hover {
    color: #ffe95d;
    background-color: #4CAF50;
  }
  
  .dialect-switch label.active {
    color: #FFF;
    background-color: #F5AF37;
  }
  
  /* <textarea> for synthesis input */
  .textarea-container {
    width: 578px;
    height: auto;
    margin: 0 auto;
    padding: 10px 10px 10px 10px;
    border: 1px solid #cbcbcb;
    background-color: #fcffea;
  }
  
  #indexTTS {
    display: block;
    width: 100%;
    height: 250px;
    margin: 0 auto;
    margin-bottom: 10px;
    padding: 0px;
    border: none;
    background-color: #fcffea;
    color: #006f01;
    font-size: 16px;
    font-family: sans-serif;
    letter-spacing: 1px;
  }
  
  #indexTTS.input-crop {
    height: 100px;
    transition: height 1s;
  }
  
  #indexTTS.input-crop:focus {
    height: 250px;
    /*transition: height 1s;*/
  }
  
  .writing-aids {
    display: inline-flex;
    flex-direction: row;
    flex-flow: row;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
  }
  
  .fadas {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 55%;
    color: #747474;
  }
  
  .fada-letter {
    padding: 0px 8px;
    font-size: 18px;
    letter-spacing: normal;
    cursor: pointer;
  }
  
  .fada-letter:hover {
    color: #000;
  }
  
  .disposable {
    display: inline;
  }
  
  #counter {
    width: 45%;
    padding: 0px 8px 0px 0px;
    color: #747474;
    text-align: right;
    font-size: 14px;
  }
  
  #synth-controls {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 95%;
    margin: 0 auto;
    margin-top: 10px;
    padding: 8px;
    border-top: 1px solid #cbcbcb;
  }
  
  .control {
    margin-left: 2px;
    padding: 10px 14px;
    font-size: 14px;
    font-family: sans-serif;
  }
  
  .control label {
    color: #444;
    text-align: center;
  }
  
  .control option[selected=true] {
    font-weight: bold;
  }
  
  .buttons {
    display: flex;
    justify-content: center;
    margin: 10px;
  }
  
  .buttons input[type=button] {
    width: calc(30% - 32px);
    border: none;
    border-radius: 5px;
    padding: 8px 10px;
    /*background: #2F7A32;*/
    background-color: #439547;
    color: #FFF;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
  }
  
  /* Input form for reporting words */
  #report-form {
    width: 60%;
    margin: 0 auto;
    padding: 10px 16px;
    background-color: none;
  }
  
  .report {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }
  
  .report label
  {
    padding: 4px 6px;
    width: 25%;
    margin: 4px;
    border-bottom: 1px solid #e1e1e1;
    color: #444;
    font-family: sans-serif;
    font-size: 16px;
    text-align: left;
  }
  
  .report input[type=text]
  {
    padding: 4px 6px;
    width: 75%;
    margin: 4px;
    border: none;
    border-bottom: 1px solid #b3b3b3;
    background-color: #e1e1e1;
    font-family: monospace;
  }
  
  .report select {
    width: 75%;
  }
  
  .report input[type="button"] {
    display: block;
    margin: 0 auto;
    color: #FFF;
  }
  
  #report-notice {
    width: 60%;
    height: 100px;
    margin: 0 auto;
    padding: 10px 16px;
    text-align: center;
    font-weight: bold;
  }
  
  #synth-output {
    visibility: hidden;
    display: none;
    width: 580px;
    margin: 0 auto;
    padding: 10px;
    border-bottom: 1px solid #444;
  }
  
  .play-button {
    display: inline;
    width: auto;
    margin: 4px;
    padding: 6px 10px;
    background-color: #439547;
    border: none;
    border-radius: 5px;
    color: #FFF;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
  }
  
  .button-playing {
    background-color: #F5AF37;
    border: none;
  }
  
  .button-paused {
    background-color: #7B7B7B;
    border: none;
  }
  
  #workbench {
  }
  
  .workbench-toolbar {
    display: flex;
    flex-direction: column;
    width: 592px;
    margin: 0 auto;
    margin-bottom: 4px;
    padding: 4px;
    border-radius: 5px;
    background-color: none;
    color: #444;
    font-size: 14px;
    font-family: sans-serif;
  }
  
  .workbench-icon {
    display: block;
    padding: 4px 6px;
    background-color: #FFF;
    border-bottom: 1px solid #444;
    font-weight: bold;
    cursor: pointer;
  }
  
  .workbench-icon:hover {
    color: #439547;
  }
  
  .workbench-menu {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    padding: 6px;
    background-color: #FFF;
    color: #333;
    animation: fadein 1s 1;
  }
  
  .workbench-menuItem {
    display: block;
    padding: 6px;
    cursor: pointer;
  }
  
  .workbench-menuLabel {
    padding: 6px;
  }
  
  /* @TODO: add a bit of margin to rows for wrap */
  .transcription-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 600px;
    padding-bottom: 4px;
    animation: fadein 0.5s 1;
  }
  
  .transcription {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 4px;
    background-color: #FDFFA7;
  }
  
  .transcription-word {
    margin: 2px;
    padding: 4px 4px;
    color: #545454;
    font-family: sans-serif;
    font-size: 14px;
    cursor: pointer;
  }
  
  .transcription-word:hover {
    background-color: #F5AF37;
  }
  
  .transcription-phonemes {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    padding: 2px 4px;
    color: #444;
    background-color: #f1f1f1;
    font-family: sans-serif;
    font-size: 12px;
  }
  
  .transcription-syllable {
    letter-spacing: 2px;
    text-align: center;
  }
  
  .stress {
    color: #000;
    font-size: 16px;
  }
  
  .syllable {
    color: #F5AF37;
    font-weight: bold;
    font-size: 16px;
  }
  
  .hidden {
    display: none;
    visibility: hidden;
  }
  
  #loader
  {
    display: none;
    visibility: hidden;
    width: 200px;
    height: 200px;
    padding: 10px;
    position: fixed;
    background: #5B5B5B;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 5%;
    opacity: 0.7;
  }
  
  .loader
  {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid #4CDB34; /* Blue */
    border-radius: 50%;
    animation: spin 2s linear infinite;
  }
  
  #footer {
    display: block;
    width: 70%;
    margin: 0 auto;
  }
  
  #copyright-notice {
    width: 70%;
    margin: 0 auto;
    margin-top: 1%;
    padding-top: 8px;
    border-top: 1px solid #dadada;
    color: #666;
    font-size: 12px;
    text-align: center;
    font-family: sans-serif;
  }
  
  #copyright-notice a {
    color: #444;
  }
  
  .footer-funders {
    width: 100%;
    margin: 0 auto;
    margin-top: 24px;
    padding: 0px 0px;
    background-color: #f8f8f8;
  }
  
  .funders-notice {
    padding: 8px;
    color: #444;
    font-size: 12px;
    text-align: center;
    font-family: sans-serif;
  }
  
  .funders-notice a {
    color: #444;
  }
  
  .logos-funders {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 80%;
    margin: 0 auto;
    margin-top: 10px;
    border: none;
  }
  
  .logo-img {
    display: block;
    width: 30%;
    margin-top: 4px;
    text-align: center;
  }
  
   /* The switch - the box around the slider */
  .switch {
    position: relative;
    display: inline-block;
    width: 32px;
    height: 20px;
  }
  
  /* Hide default HTML checkbox */
  .switch input {display:none;}
  
  /* The slider */
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .2s;
    transition: .2s;
  }
  
  .slider:before {
    position: absolute;
    content: "";
    height: 12px;
    width: 12px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .2s;
    transition: .2s;
  }
  
  input:checked + .slider {
    /*background-color: #F5AF37;*/
    background-color: #2F7A32;
  }
  
  input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
    -webkit-transform: translateX(12px);
    -ms-transform: translateX(12px);
    transform: translateX(12px);
  }
  
  /* Rounded sliders */
  .slider.round {
    border-radius: 34px;
  }
  
  .slider.round:before {
    border-radius: 50%;
  }
  
  /* Tooltip container */
  .tooltip {
    position: relative;
    display: inline-block;
    padding: 4px 6px;
    /*border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
  }
  
  /* Tooltip text */
  .tooltip .tooltiptext {
    visibility: hidden;
    width: 240px;
    background-color: #555;
    color: #fff;
    text-align: center;
    padding: 5px 8px;
    border-radius: 6px;
    
    /* Position the tooltip text */
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -120px;  /* Note: has to be half of width */
    
    /* Fade in tooltip */
    opacity: 0;
    transition: opacity 0.3s;
  }
  
  /* Tooltip arrow */
  .tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
  }
  
  /* Show the tooltip text when you mouse over the tooltip container */
  .tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
  }
  
  /* The Modal (background) */
  .modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  }
  
  .modal-header {
    background-color: #3e773b;
  }
  
  /* Modal Content */
  .modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    width: 60%;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
  }
  
  .modal-header {
    padding: 2px;
    background-color: #346e35;
    height: 32px;
    color: white;
  }
  
  .modal-body {
    background-color: #fcffea;
    padding: 8px 16px;
  }
  
  .modal-footer {
    padding: 2px 16px;
    background-color: #5cb85c;
    color: white;
  }
  
  #sample-text {
    width: 60%;
    margin: 0 auto;
  }
  
  #sample-text a {
    text-decoration: none;
    font-weight: bold;
    color: #000;
  }
  
  #sample-text a:hover {
    color: #2F7A32;
  }
  
  #sample-phrase {
    font-style: italic; 
  }
  
  
  /* The Close Button */
  .close {
    display: block;
    width: 30px;
    height: 30px;
    color: #FFF;
    float: right;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
  }
  
  .close:hover,
  .close:focus {
    color: orange;
    text-decoration: none;
    cursor: pointer;
  }
  
  #privacy-notice {
    display: none;
    flex-direction: column;
    align-items: center; /* horizontal */
    justify-content: center; /* vertical */
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px 0px;
    background-color: #464646;
    color: #fbfbfb;
    font-size: 16px;
    z-index: 1;
    animation-name: animatebottom;
    animation-duration: 0.7s;
  }
  
  .privacy-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* horizontal */
    justify-content: center; /* vertical */
    width: 60%;
    padding: 18px 28px;
    border-radius: 5px;
    background-color: #565656;
  }
  
  .privacy-notice-button {
    width: auto;
    margin: 0 auto;
    margin-top: 10px;
    padding: 8px 14px;
    border-radius: 25px;
    background: #3f9352;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
  }
  
  .privacy-content a {
    color: #aecaff;
  }
  
  .privacy-content a:hover {
    color: orange;
  }
  
  .privacy-policy {
    width: 600px;
    margin: 0 auto;
    padding: 10px 28px;
    background-color: #EFEFEF;
    color: #444;
    font-family: helvetica, arial, sans-serif;
    text-align: justify;
    font-size: 14px;
  }
  
  .privacy-policy h2 {
    font-size: 16px;
  }
  
  .address-block {
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-rows: auto;
    width: 600px;
    margin: 0 auto;
    margin-bottom: 10px;
    padding: 10px 5px;
    border-top: 2px solid #6b6b6b;
    border-bottom: 2px solid #6b6b6b;
    font-size: 14px;
  }
  
  .address-label {
    justify-self: left;
    align-self: top;
    margin: 4px;
    font-weight: bold;
  }
  
  .address-item {
    justify-self: left;
    align-self: top;
    margin: 4px;
  }
  
  #contact-form {
    display: flex;
    flex-flow: column;
    justify-content: space-evenly;
    width: 560px;
    margin: 0 auto;
    padding: 10px 20px;
  }
  
  .contact-form-text {
    font-size: 14px;
  }
  
  #contact-form textarea {
    height: 250px;
    font-size: 14px;
    font-family: sans-serif;
  }
  
  #contact-form label {
    width: 15%;
    font-size: 14px;
  }
  
  #contact-form input[type="text"], input[type="email"] {
    font-size: 14px;
  }
  
  #contact-form select {
    font-size: 16px;
  }
  
  #contact-form .form-flex-row, .form-flex-column {
    align-content: center;
  }
  
  #contact-form .required {
    color: #f21900;
    padding: 0px 4px;
    text-align: center;
    font-weight: bold;
  }
  
  #contact-form .section {
    position: relative;
  }
  
  .input-error {
    display: none;
    visibility: hidden;
    position: relative;
    padding: 4px 6px;
    width: 300px;
    background-color: #c55;
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 6px;
  }
  
  .input-error-msg {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-size: 14px;
  }
  
  .input-error-visible {
    display: inline-block;
    visibility: visible;
    position: absolute;
    bottom: -2px;
    left: 130px;
    /*margin-left: -5px;*/
    border-width: 5px;
    border-style: solid;
    border-color: #c55 transparent transparent transparent;
    box-shadow: 2px 2px 2px 2px #727272;
  }
  
  .message-wrapper {
    position: relative;
    margin: 0 auto;
    margin-top: 6px;
  }
  
  #sent-notice {
    display: none;
    visibility: hidden;
    position: absolute;
    color: #FFF;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    animation: sentnotice .2s linear 1;
  }
  
  #sent-notice.sent-notice-visible {
    display: block;
    visibility: visible;
    z-index: 1;
  }
  
  #sent-notice .close-notice {
    margin: 0 auto;
    width: 15%;
    padding: 4px 10px;
    border-radius: 6px;
    background-color: #FFF;
    color: #555;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
  }
  
  #accept-privacy {
    width: 70%;
    margin: 0 auto;
    padding: 8px 12px;
    text-align: center;
  }
  
  #accept-privacy .privacy-notice-button {
    width: 35%;
  }
  
  .general-content {
    width: 600px;
    margin: 0 auto;
    font-family: helvetica, arial, sans-serif;
    font-size: 14px;
  }
  
  .general-content p {
    text-align: justify;
  }
  
  .general-content p::first-letter {
    font-size: 120%;
    color: #444;
  }
  
  .general-content h2 {
    font-size: 16px;
  }
  
  .fun-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: baseline;
    align-content: flex-start;
    margin: 0 auto;
  }
  
  .fun-box figure {
    width: 40%;
    margin: 8px 4px;
    padding-bottom: 4px;
  }
  
  .fun-box figcaption {
    font-weight: bold;
  }
  
  fun-box image {
    border-bottom: 1px solid #f1f1f1;
  }
  
  .article {
    width: calc(80% - 40px);
    margin: 0 auto;
    padding: 30px 40px;
    border: none;
    color: #333;
    background-color: #FFF;
    font-size: 14px;
    font-family: helvetica, arial, sans-serif;
    text-align: justify;
    box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15)
  }
  
  .article h1 {
    font-size: 24px;
  }
  
  .article h2 {
    font-size: 20px;
  }
  
  .article p::first-letter {
    font-size: 120%;
  }
  
  .info-box {
    width: calc(100% - 30px);
    margin: 0 auto;
    margin-top: 10px;
    padding: 10px 15px;
    background-color: #E6E6E6;
    border-radius: 5px;
    box-shadow: 0 8px 6px -6px #444;
    text-align: justify;
    overflow: auto;
  }
  
  .info-box h3 {
    font-family: helvetica, arial, sans-serif;
    font-size: 20px;
  }
  
  .more-info {
    display: block;
    float: right;
    margin-top: 15px;
    padding: 8px;
    border-radius: 5px;
    background-color: #3a9c3a;
    color: #FFF;
    text-align: center;
    font-family: 'Roboto', 'helvetica neue', helvetica, arial, sans-serif;
    font-weight: bold;
  }
  
  .more-info:hover {
    background-color: #333;
    font-style: underline;
  }
  
  .more-info a {
    text-decoration: none;
    color: inherit;
  }
  
  .more-info a:visited {
    text-decoration: none;
    color: inherit;
  }
  
  .tick-box {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    width: calc(100% - 16px);
    margin: 0 auto;
    padding: 8px;
    border-radius: 5px;
    text-align: center;
    color: green;
    background-color: #DBE6D4;
    font-family: helvetica, arial, sans-serif;
  }
  
  .tick-box-item {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin: 5px;
    padding: 5px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 8px 6px -6px #444;
  }
  
  .tick-box-icon {
    width: 56px;
    height: 56px;
    padding: 4px;
    border-radius: 50%;
    font-size: 175%;
    margin-right: 10px;
    box-shadow: 0 8px 6px -6px #444;
    text-align: center;
  }
  
  .tick-box-head {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  
  .tick {
    height: 32px;
    width: 32px;
    font-size: 28px;
    margin-right: 5px;
    background-color: orange;
    border-radius: 5px;
    text-align: center;
  }
  
  .tick-text {
    
  }

}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  .logos-funders {width: 60%;}
  
  .article {width: calc(60% - 80px);}
}

@keyframes fadeTab {
  from {opacity: 0.2;}
  to {opacity: 1;}
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes fadein {
	from { opacity: 0.2 }
	to { opacity: 1 }
}

@-webkit-keyframes animatetop {
  from {top:-300px; opacity:0} 
  to {top:0; opacity:1}
}

@keyframes animatetop {
  from {top:-300px; opacity:0}
  to {top:0; opacity:1}
}

@-webkit-keyframes animatebottom {
  from {bottom:-150px; opacity:0}
  to {bottom:0; opacity:1}
}

@keyframes animatebottom {
  from {bottom:-150px; opacity:0}
  to {bottom:0; opacity:1}
}

@keyframes animatebottomvp {
  from {bottom:-150px; opacity:0}
  to {bottom:12vh; opacity:1}
}

@keyframes sentnotice {
  from {height: 0px;}
  to {height:246px;}
}

@keyframes openup {
  from {opacity: 0.2;}
  to {opacity: 1;}
}

.bounce-enter-active {
  animation: bounce-in .5s;
}

.bounce-leave-active {
  animation: bounce-in .5s reverse;
}

@keyframes bounce-in {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

