:root{
 --alt-rgba-color: 231,228,220;
 --btn-border-color: transparent;
 --btn-border-radius: 0.375rem;
 --btn-font-size: 1rem;
 --email-border-ini: rgba(81, 203, 238, 1);
 --email-border-alt: rgba(242, 36, 95, 1);
 --email-border: var(--email-border-ini);
 --background-main: url("/images/background.jpg") fixed no-repeat;
 --background-login: url("/images/background.jpeg") fixed no-repeat;
}

:root,
[data-selected-theme="blue"] {
  --main-color: #365876;
  --alt-color: #e7e4dc;
  --alt2-color: #293846;
  --light-color: #576c80;
  --btn-color: #547794;
  --error-color: #eb283c;
  --txt-color: #FFF;
  --place-holder-color: #6a9fab;
  --btn-active-color: var(--light-color);
  --btn-txt-color: var(--txt-color);
  --icon-color: rgb(106, 159, 171);
}

[data-selected-theme="red"] {
  --main-color: #d0271d;
  --alt-color: #e7e4dc;;
  --alt2-color: #ae2019;
  --light-color: var(--alt2-color);
  --btn-color: var(--alt2-color);
  --error-color: #eb283c;
  --txt-color: #FFF;
  --place-holder-color: #de6861;
  --place-holder-color: var(--alt2-color);
  --btn-active-color: var(--light-color);
  --btn-txt-color: var(--txt-color);
  --icon-color: var(--main-color);
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*:focus {
    outline: none;
}

.footer{
 position: absolute;
 width: 100%;
 height: 25px;
 bottom: 0px;
 padding: 0;
 margin: 0;
 background-color: var(--main-color);
}

.footer span {
 display: inline-block;
 vertical-align: middle;
 color: var(--txt-color);
 font-size: .700em;
 font-size: 10px;
 font-weight: bold;
 letter-spacing: .01em
}
.footer span.theme-switcher {
 float:left;
 padding-left: 7px;
 padding-top: 3px;
 float: inline-start;
 display: block;
}
.footer span:last {
 float:right;
}


/* Just to play with animations */
.copiedtext {
  position: absolute;
  left: 0; top: 0; right: 0;
  text-align: center;
  opacity: 0;
  //transform: translateY(-1em);
  transform: translate(1.5em);
  color: var(--main-color);
  transition: all .500s;
}
.copied .copiedtext {
  opacity: 1;
  //transform: translateY(-2em);
  transform: translate(3em);
}
span {
white-space:nowrap;
}


/* Some Generic styles */
body {
  text-align: center;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  color: var(--main-color);
  font-size: .825em;
  letter-spacing: .01em
}
textarea {
  text-align: center;
  display: block;
  width: 300px;
  max-width: 100%;
  height: 75px;
  margin: 1em auto 1.5em;
  background-color: var(--txt-color);
  border: 1px solid transparent;
  border-radius: 10px;
  resize: none;
  color: var(--place-holder-color);
  border: 0;
}
::placeholder{
  color: var(--place-holder-color);
  opacity:  0.5;
}
textarea:focus {
  outline: 1px solid var(--main-color);
}
.title {
  font-weight: normal;
  font-size: 1.3em;

  padding-left: 3%;
  padding-right: 3%;

  text-align: center;
  display:flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-content: bottom;
}
#main_window > .title {
  display: initial;
}

.showerror {
 color: var(--error-color);
 width: auto;
 overflow-wrap: normal;
 font-size: 0.8em;
 visibility: hidden;
}

#config_advanced {
  width: 95%;
  margin: 0.2em auto 1.5em;
  margin: 0.2em auto .5em;
  border: 1px solid var(--main-color);
  border-radius: 5px;
  box-shadow: 0em 2px 3px 0px var(--main-color);
  padding: 10px 5px;

  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}
#config_advanced:focus {
  cursor: pointer;
}
#config_options {
 width: 95%;
 border-collapse:collapse;
}
tr:not(:last-child) {
 //width: 90%;
 border-bottom: 1px solid var(--txt-color);
}
th, td {
  width: 95%;
  margin: 15px;
  padding-top: 3px;
  padding-bottom: 3px;
  white-space: wrap;
  word-wrap: break-word;
  text-align: left;
}
.random_option_on {
  width: 95%;
  text-align: right;
}
.random_option {
  text-align: left;
}


/* Background image and blur */
.background {
  background: var(--background-main);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  width: 100%;
}

.blur {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  border-right: 1px solid whitesmoke;
  height: 100vh;
  width: 100vw;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
}


/* Div styles */
@media only screen and (max-width: 620px) {
  .site-content .site-container.background {
    overflow-y: visible;
  }
  .site-pusher {
    height: 980px;
  }
  #main_wrapper {
    width: 360px;
    flex-flow: unset;
    flex-direction: column;
    justify-content:left;
    align-content: center;
    transform: translate(calc((100vw - 360px) / 2), 0);
  }
  #main_wrapper > div {
    width: 350px;
    margin-top: 0;
    flex-grow: unset;
  }
  #main_wrapper > div:first-child {
    margin-top: 10px;
  }
}

#main_wrapper {
  margin:auto;
  padding: 0;
  width: 640px;
  height: 100vh;
  display:flex;
  flex-flow: row wrap;
  align-content: start;
}

#main_window,#confr_window,#confl_window,#link_window {
 background-color: rgb(255,255,255,0.6);

 border: 1px solid #fff;
 border-radius: 10px;
 align: center;
 margin-right: 5px;
 margin-bottom: 5px;
 #margin-top: 100px;
}
#main_window {
 height: 320px;
}
#link_window {
 flex-grow: 2;
 flex-direction: row;
 display:flex;
 margin-top: 20px;
 height: 50px;
 width: 640px;
 visibility: hidden;
 padding: 10px;
 padding-right: 20px;
 align-content: center;
 justify-content: space-between;
}
#link_url {
 //width: 80%;
 text-overflow: ellipsis;
 overflow: hidden;
 white-space: nowrap;
 line-height: 30px;
 text-align: center;
}
#link_copy {
 width: 25px;
}
#main_window,#confl_window,#link_window {
 min-width: 350px;
 width: 350px
}
#confr_window {
 min-width: 280px;
 width: 280px;
 height: 221px;
}
#confr_window,#confl_window {
 visibility: hidden;
 display: none;
}
#confl_window{
 height: 278px;
 margin-top: 0;
}
#confl_window:lang(fr) {
 height: 298px;
}
#info_btn{
 background-color: transparent;
}
#info_btn: hover {
  fill: #0074D9;
}


input[type="range"], input[type="checkbox"]{
  accent-color: var(--main-color);
}

input[type=email] {
  -webkit-transition: all 0.30s ease-in-out;
  -moz-transition: all 0.30s ease-in-out;
  -ms-transition: all 0.30s ease-in-out;
  -o-transition: all 0.30s ease-in-out;
  outline: none;
  padding: 3px 0px 3px 3px;
  margin: 5px 1px 3px 0px;
  border: 1px solid #DDDDDD;
}
 
input[type=email]:focus {
  box-shadow: 0 0 5px var(--email-border-ini);
  padding: 3px 0px 3px 3px;
  margin: 5px 1px 3px 0px;
  border: 1px solid var(--email-border-ini);
}

input[type=email]:not(:placeholder-shown) {
  box-shadow: 0 0 5px var(--email-border);
  border: 1px solid var(--email-border);
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

#browser_msg {
 font-family: "Courier New";
 color: var(--txt-color);
 font-size: 16px;
 font-weight: bold;
 position: relative;
 top: 30%;
 //margin-top: 220px;
}


/* Buttons styling */
.btn-group>.btn:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-group>.btn:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.btn-group>.btn:last-child {
    border-left: 1px solid rgba(255,255,255,0.5);
}
.btn-group>.btn {
    position: relative;
    flex: 1 1 auto;
}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
    cursor: pointer;
}

.btn, .btn:not(hover), .btn:not(active) {
    display: inline-block;
    padding: 0.375rem 0.55rem;
    font-size: var(--btn-font-size);
    color: var(--btn-txt-color);
    text-align: center;
    text-align: right;
    text-decoration: none;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid var(--btn-border-color);
    border-radius: var(--btn-border-radius);
    background-color: var(--btn-color);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn:not(.copy):active:hover{
  background-color: var(--btn-active-color);
}
.btn:hover{
  opacity: 0.8;
}

.btn svg, svg.icon {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  height: 20px;
  width: 20px;
  vertical-align: middle;
}

.btn.copy {
  background-color: transparent;
  -webkit-filter: brightness(0) invert(0.5);
  filter: brightness(0) invert(0.5);
}

.btn svg {
  vertical-align: bottom;
}

svg.copy {
  height: 20px;
  width: 20px;
  vertical-align: middle;
}

.btn.close {
  top: 0.25rem;
  //align-content: center;
  height: 21px;
  width: 21px;
  padding: 0 0 0.08rem 0.01rem;
}

.btn-group {
    border-radius: var(--btn-border-radius);
    margin-bottom: 1rem !important;
    position: relative;
    display: inline-flex;
}
.validationcode {
  visibility: hidden;
}
input[type=checkbox]:checked + .validationcode {
  visibility: visible;
  font-family: "Courier New";
}

#login_wrapper ~ .footer {
 background-color: #000;
 background-color: rgba(13,13,13, 0.5);
}

#login_wrapper {
  background: var(--background-login);
  background-size: cover;
  margin:0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
#login_window {
 background: inherit;
 width: 350px;
 height: 500px;
 top: 50%;
 left: 50%;
 margin-left: -175px;
 margin-top: -250px;
 position: absolute;
 overflow: hidden;  //adding overflow hidden
 border: 1px solid #fff;
 border-radius: 10px;
}
#login_window:before{
 content: "";
 width: 400px;
 height: 550px;
 background: inherit; 
 position: absolute;
 left: -25px;  //giving minus -25px left position
 right: 0;
 top: -25px;   //giving minus -25px top position 
 bottom: 0;
 box-shadow: inset 0 0 0 200px rgba(255,255,255,0.1);
 -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
      -o-filter: blur(10px);
     -ms-filter: blur(10px);
         filter: blur(10px);
}
#randomizer_wrapper, #email_wrapper, #spinner_wrapper {
  visibility: hidden;
  display: none;
  background-color: rgba(0,0,0,0.2);
  margin-left: 0;
  margin-top: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
//Login windows styles
.txt_password {
  position:relative;
  top:-65px;
  margin-left: 0;
}
#txt_email {
  display: none;
}
#login_error{
 color: var(--error-color);
 font-size: 14px;
 position: relative;
 top: 50%;
 margin-top: 220px;
}
.login_form img{
  overflow: hidden;
  position: relative;
  top: -20px;
  height: 120px;
  border: 3px solid rgba(var(--alt-rgba-color),0.5);
  border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}
.login_form{
  text-align: center;
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  color: rgba(255,255,255, 0.8);
}
.login_form input{
  background: 0;
  width: 200px;
  outline: 0;
  border: 0;
  border-bottom: 2px solid rgba(var(--alt-rgba-color),0.5);
  margin: 20px 0;
  padding: 10px;
  font-size: 18px;
  color: var(--alt-color);
  font-weight: normal;
  mix-blend-mode: overlay;
  box-sizing: initial;
}
.login_form input:-webkit-autofill,
  input:-webkit-autofill:hover, 
  input:-webkit-autofill:focus,
  select:-webkit-autofill,
  select:-webkit-autofill:hover,
  select:-webkit-autofill:focus {
    background: 0;
    -webkit-text-fill-color: var(--alt-color);
    transition: background-color 5000s ease-in-out 0s;
    caret-color: var(--alt-color);
}
.login_form input:not([type="submit"]){
  padding: 10px 5px 10px 32px;	
}
::placeholder{
  color: var(--place-holder-color);
  opacity:  0.5;
}
.login_form input[type="submit"]{
  border: 0;
  border-radius: 8px;
  padding-bottom: 0;
  height: 60px;
  background: var(--main-color);
  color: var(--alt-color);
  cursor: pointer;
  transition: all 600ms ease-in-out;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
}
.login_form input[type="submit"]:hover{
  background: var(--btn-color);
}
.login_form input[type=number], .validationcode input[type=number] {
  -moz-appearance: textfield;
} 
.login_form input::-webkit-outer-spin-button,
.login_form input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/** the magic icon trick ! **/
/** fonts used for the icons **/ 
@font-face {
  font-family: 'FontomasCustomRegular';
  src: url('fonts/fontomas-webfont.eot');
  src: url('fonts/fontomas-webfont.eot?#iefix') format('embedded-opentype'),
       url('fonts/fontomas-webfont.woff') format('woff'),
       url('fonts/fontomas-webfont.ttf') format('truetype'),
       url('fonts/fontomas-webfont.svg#FontomasCustomRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}
[data-icon]:after {
  content: attr(data-icon);
  font-family: 'FontomasCustomRegular';
  font-weight: normal;
  color: rgb(106, 159, 171);
  color: var(--icon-color);
  position: relative;
  left: -240px;
  top: 0px;
  font-size: initial;
  margin: initial;
  padding: initial;
  box-sizing: initial;
  letter-spacing: initial;
}
