@font-face {
  font-family: "DejaVu Sans";
  src: url(/assets/fonts/DejaVuSans-e720e1ad47187003ca24da92be188a1e391079e98948741c5b292845cc1c5074.ttf);
}

@font-face {
  font-family: "Teaching Print";
  src: url(/assets/fonts/TeachingPrintDotted-OVKlp-b7dc81acc5dca816a4d3da6adad3bb05f1e9dba787580669e8abd246cddf7f49.otf);
}

@font-face {
  font-family: "Teaching Print Lined";
  src: url(/assets/fonts/TeachingPrintDottedLined-Ea6W8-7676c69400245f23e96d3b2d159682256bbad32d606be3698a6b8840868b66f9.otf);
}

@font-face {
  font-family: "Trace";
  src: url(/fonts/Trace-lxy0.ttf);
}
.modal-container{
  position: fixed; 
  z-index: 1; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%;
  overflow: auto; 
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.4); 
}
.modal-outer{
  background-color: #fefefe;
  border-radius: 30px;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 60%;
}

.modal-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-main .container{
  width: 100%;
  margin: 0;
  padding: 0;
}
.modal-close-button{
  background: transparent;
  border: 0;
  margin: 0;
}
.modal-close-icon{
  width: 24px;
  height: 24px;
}

.sr-only{
  display: none;
}
.image-cards{
  display: flex;
  flex-flow: row wrap;
  height: 500px;
  overflow-x: scroll;
}
.image-cards li{
  list-style: none;
  text-align: center;
  width: 25%;
  margin-bottom: 30px;
}
.image-cards li .img-container{
  width: 150px;
  height: 150px;
  margin: 0 auto;
}
.image-cards li .img-container img{
  max-width: 100%;
  max-height: 100%;
}
.image-cards li label{
  cursor: pointer;
  display: block;
}
.modal-footer{
  border-top: 1px solid var(--color-accent);
  padding-top: 10px;
  margin-top: 10px;
  text-align: right;
}
.modal-footer .button{
  display: inline-block;
}
:root {      
  --color-dark: #4D4E8E;
  --color-white: #EFEFEF;
  --color-light: #6869BF;
  --color-accent: #8CB7A3;
  --color-gray: #767676;
  --color-text: #111111;

  --font: "Ubuntu", serif;
}

*{
  margin: 0;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
}

body{
  background-color: #FFF;
  color: var(--color-text);
  font-family: var(--font);
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6{
  color: var(--color-dark);
}

h1{font-size: 3.6rem; line-height: 1.25}
h2{font-size: 2.8rem; line-height: 1.3}
h3{font-size: 2.2rem; letter-spacing: -.08rem; line-height: 1.35}
h4{font-size: 1.8rem; letter-spacing: -.05rem; line-height: 1.5}
h5{font-size: 1.6rem; letter-spacing: 0; line-height: 1.4}
h6{font-size: 1.4rem; letter-spacing: 0; line-height: 1.2}

a:hover{
  opacity: 0.7;
}
hr{
  color: var(--color-accent);
  margin: 2rem 0;
}

header{
  border-bottom: 1px solid var(--color-dark);
  color: var(--color-dark);
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem;
}
header h1{
  font-size: 3.2rem;
}
h1 span{
  color: var(--color-light);
  display: block;
  font-size: 1.4rem;
  font-style: italic;
}
header nav li{
  display: inline-block;
  list-style: none;
  margin-left: 2rem;
}
header nav li a{
  color: var(--color-dark);
  text-decoration: none;
}
header nav li a.active{
  font-weight: 700;
  text-decoration: underline;
}

/** MAIN **/
.login_container{
  margin: 10rem auto;
  padding: 2rem;
  width: 40rem;
}
.container{
  margin: 5rem auto;
  padding: 2rem;
  width: 70%;
}
.material_search form{
  display: flex;
  flex-flow: row wrap;
  grid-column-gap: 2rem;
}
.filter_item{
  width: 22%;
}
.filter_item input[type="submit"]{
  margin-top: 0;
}
.clear_filter{
  background: transparent;
  border: 0;
  outline: 0;
  cursor: pointer;
  font-size: 1.4rem;
}
.clear_filter:hover{
  text-decoration: underline;
}


/** FORM **/
label{
  display: block;
  margin-top: 2rem;
}
.login_container label{
  display: inline-block;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
select{
  background-color: var(--color-white);
  border: 1px solid var(--color-gray);
  border-radius: 0.5rem;
  display: block;
  height: 4rem;
  margin-bottom: 0.5rem;
  outline: 0;
  padding-left: 0.3rem;
  width: 100%;
}
input[type="color"]{
  margin-bottom: 0.5rem;
  width: 4rem;
}
textarea{
  background-color: var(--color-white);
  border: 1px solid var(--color-gray);
  border-radius: 0.5rem;
  display: block;
  height: 20rem;
  margin-bottom: 0.5rem;
  outline: 0;
  padding-left: 0.3rem;
  width: 100%;
}

.notice,
form .notice{
  color: #0000CC;
}

form em{
  display: block;
  font-size: 1.4rem;
  text-align: right;
}
form .error{
  color: #CC0000;
}
form .error ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
input[type="submit"],
.button{
  background-color: var(--color-accent);
  border: 0;
  border-radius: 0.5rem;
  color: var(--color-white);
  cursor: pointer;
  font-size: 1.8rem;
  margin: 2rem 0;
  outline: 0;
  padding: 1rem 2rem;
  text-decoration: none;
}
button{
  border: 1px solid var(--color-accent);
  border-radius: 0.5rem;
  color: var(--color-accent);
  cursor: pointer;
  font-size: 1.8rem;
  margin: 1rem 0;
  outline: 0;
  padding: 0.5rem 1rem;
}
input[type="submit"]:hover,
.button:hover{
  opacity: 0.7;
}
button:hover{
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-text);
}

.project_form{
  display: flex;
  justify-content: space-between;
}
.project_form form{
  width: 50%;
}
#page_preview{
  border: 1px solid var(--color-text);
  height: 70rem;
  width: 48rem;
}

fieldset{
  border-color: var(--color-accent);
  border-radius: 0.5rem;
  margin: 3rem 0;
  padding: 2rem;
}
fieldset div{
  align-items: center;
  display: grid;
  grid-template-columns: 20% auto;
  grid-column-gap: 1rem;
  margin: 1rem 0;
}
fieldset label{
  font-size: 1.4rem;
  margin: 0;
}

.language_selection{
  border: 1px solid var(--color-gray);
  border-radius: 0.5rem;
  padding: 1rem;
}
.checkbox_container{
  display: inline-block;
  margin: 1rem 2rem 1rem 0;
}

/** TABLE **/
table{
  margin: 2rem 0;
  width: 100%;
}
th{
  border-bottom: 1px solid var(--color-dark);
  color: var(--color-dark);
  text-align: left;
}
td{
  border-bottom: 1px solid #DDD;
  padding: 1rem 0;
}
th.small,
td.small{
  width: 7rem;
}
td.actions{
  /*display: flex;*/
  justify-content: left;
  align-items: center;
}
td.actions a{
  color: var(--color-light);
  margin-right: 1.5rem;
}

/** PAGE **/
.page_header{
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 2rem;
}

.material-symbols-outlined{
  display: inline-block;
  vertical-align: middle;
}

#images img{
  max-height: 100px;
  max-width: 100px;
}
.image-selection-btns{
  margin-top: 30px;
}
#ltp_cards{
  display: flex;
  flex-flow: row wrap;
  column-gap: 20px;
  margin: 50px auto;
}

#ltp_cards li{
  list-style: none;
  width: calc(25% - 20px);
  margin-bottom: 50px;
  text-align: center;
}
#crosswords_cards{
  margin: 50px auto;
}
#crosswords_cards li{
  display: grid;
  grid-template-columns: 30px 200px 30% auto;
  grid-column-gap: 20px;
  grid-row-gap: 20px; 
  align-items: center;
}
#ltp_cards li .img-container,
#crosswords_cards li .img-container{
  width: 200px;
  height: 200px;
  margin: 0 auto;
}
#ltp_cards li img,
#crosswords_cards li img{
  max-width: 100%;
  max-height: 100%;
}

.words-and-clues{
  display: grid;
  grid-template-columns: 48% auto;
  grid-column-gap: 20px;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
