/**
 *
 * CSS file for language selection menu
 *
 * This file is written by Yaya MNH48 and licensed under MIT
 *
 */

/* Define the container */
.langselect {
  display: block;
  position: absolute;
  top: 20px;
  right: 30px;
  z-index: 90;
}
.langselect:lang(ms-Arab) {
  left: 30px;
  right: unset;
}
.langselect:lang(ms-Brgn) {
  left: 20px;
  bottom: unset;
  right: 30px;
  width: 12px;
}

/* Make the container a clickable button */
.langselect > a[role='button'] {
  display: inline-block;
  padding: 12px 24px 12px 60px;
  width: 300px;
  line-height: 1.5em;
  letter-spacing: initial;
  text-decoration: none;
  color: #ddd;
  background: #403;
  border: 2px solid #ddd;
  cursor: pointer;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.langselect:lang(ms-Arab) > a[role='button'] {
  padding: 12px 60px 12px 24px;
}
.langselect:lang(ms-Brgn) > a[role='button'] {
  width: unset;
  height: 300px;
  padding: 50px 12px 12px 12px;
}
.langselect > a[role='button']:hover, .langselect > a[role='button']:focus {
  border-color: #ddd;
}
.langselect > a[role='button']:after {
  content: '▼';
  display: inline-block;
  margin-left: 6px;
}
.langselect:lang(ms-Brgn) > a[role='button']:after {
  content: '◀︎';
  display: inline-block;
  margin-left: unset;
  margin-top: 6px;
}

/* Styling for the language list container */
.langselect > ul {
  position: absolute;
  z-index: 999;
  display: block;
  left: -100vw;
  top: calc(2em + 18px);
  border: 1px solid #ddd;
  background: #605;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  width: 100%;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-shadow: 0 3px 8px rgba(0,0,0,.15);
  -moz-box-shadow: 0 3px 8px rgba(0,0,0,.15);
  box-shadow: 0 3px 8px rgba(0,0,0,.15);
}
.langselect:lang(ms-Arab) > ul {
  left: unset;
  right: -100vw;
}
.langselect:lang(ms-Brgn) > ul {
  left: unset;
  top: -100vw;
  right: calc(2em + 18px);
  width: unset;
}

/* Styling for the individual languages in the dropdown */
.langselect > ul a {
  display: block;
  padding: 10px 5px 7px 5px;
  color: #ddd;
  text-decoration: none;
  letter-spacing: initial;
}
.langselect:lang(ms-Brgn) > ul a {
  padding: 0px 8px 0px 8px;
}
.langselect > ul a:hover, .langselect > ul a:focus {
  background: #400010;
}
.langselect > ul:target {
  left: 0;
}
.langselect:lang(ms-Arab) > ul:target {
  right: 0;
}
.langselect:lang(ms-Brgn) > ul:target {
  top: 0;
  left: unset;
}

/* Styling for the icon when the menu is showing */
.langselect > ul:target ~ a:after {
  content: '▲';
}
.langselect:lang(ms-Brgn) > ul:target ~ a:after {
  content: '▶︎';
}

/* Styling for closing the language selection menu */
.langselect a.langselect-close {
  display: none;
}
.langselect > ul:target ~ a.langselect-close {
  display: block;
  position: absolute;
  background: #403;
  left: 0;
  top: 0;
  z-index: 1000;
}
.langselect:lang(ms-Arab) > ul:target ~ a.langselect-close {
  left: unset;
  right: 0;
}
.langselect:lang(ms-Brgn) > ul:target ~ a.langselect-close {
  left: unset;
  bottom: 0;
  right: 0;
}

/* Styling for the language change's icon */
.langselect img {
  position: absolute;
  display: block;
  top: 12px;
  left: 12px;
  height: 32px;
  width: 32px;
}
.langselect:lang(ms-Arab) img {
  left: unset;
  right: 12px;
}
.langselect:lang(ms-Brgn) img {
  left: unset;
  right: 8px;
}

/* Styling for the button for language change */
.lang-sel, .lang-sel>li {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0 25px 0 25px;
}
