/*
===============================================================================
 This file contain extra CSS rules to customize the YunoHost user portal and
 can be used to customize app tiles, buttons, etc...
===============================================================================
*/

/* ==========================================================================
   Bionatics theme
   ========================================================================== */

@import url('https://tools.jouhub.gie22ruejoubert.org/static/fonts/OpenSans/OpenSans-SemiBold.css');
@import url('https://tools.jouhub.gie22ruejoubert.org/static/fonts/OpenSans/OpenSans-Regular.css');

body {
  background: #fff;
  color: #fff;
  font-family: OpenSans-SemiBold, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
[class^="icon-"]:before,
[class*="icon-"]:before {
  font-family: OpenSans-Regular, Arial, sans-serif;
}

label,
.form-text,
.login-form .form-text {
  font-family: OpenSans-SemiBold, Arial, sans-serif;
}

.in_app_overlay .ynh-logo {
    display: block;
}

.ynh-logo,
.logged .ynh-logo {
  position: absolute;
  padding: 1.5em;
  width: auto;
  height: 5em;
  width: 100%;
  margin: 0;
  opacity: 1;
  background: none;
  left: 0;
  top: 0;
  background: #fff;
}

.ynh-logo a {
  display: inline-block;
  height: 100%;
  max-width: 30%;
}

.ynh-logo a img {
  height: 100%;
  max-width: 100%;
}


.ynh-user-portal {
    min-height: 100vh;
    background: #fff;
}

.messages {
  border-radius: 20px;
}

.messages.danger { background: #c0392b80; }
.messages.warning { background: #e67e2280; }
.messages.success { background: #27ae6080; }
.messages.info { background: #2980b980; }

.content {
  padding: 5em 0 0;
  min-height: 100%;
  background: fixed no-repeat url(https://tools.jouhub.gie22ruejoubert.org/static/images/bg.jpg);
  background-size: cover;
}

.ynh-wrapper {
  width: 100%;
  margin: 0;
}

.ynh-wrapper.user {
  height: 5em;
  z-index: 20;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%
}

.ynh-wrapper.user .user-fullname {
  float: right;
  margin: 0 0 0 .5em;
  font-size: 1.4em;
  line-height: 1.4em;
  cursor: default;
}

.ynh-wrapper.user .user-username,
.ynh-wrapper.user .user-mail {
  display: none;
}

.user-container:before {
  width: 1em;
  height: 1em;
  line-height: 1.4em;
  font-size: 1.8em;
  border: 0;
  margin: .1em 0 0;
}

.user-container-lin:before {
  background: #e5e5e5 url(https://tools.jouhub.gie22ruejoubert.org/static/images/lin_min.svg);
  background-size: contain;
  content: "";
  background-repeat: no-repeat;
  /* border-radius: 0; */
  /* border: 0; */
  border: 2px solid white;
}

.user-container-lin-conected:before {
  border-color: lightgreen;
}

.ynh-wrapper.user .user-container {
  padding: 1em 1em 0;
  position: absolute;
  height: 4em;
  min-width: 16.1em;
  right: 1em;
  color: #1c1c1c;
  margin: .5em 0 0;
  z-index: 50;
}

.ynh-wrapper.user .user-container .user-fullname:after {
  content: ' ';
  opacity: 1;
  width: .3em;
  height: .3em;
  transition: transform .1s ease;
  border: solid black;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 2px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  margin: 0.5em;
  vertical-align: text-top;
  font-size: .8em;
}

.ynh-wrapper.user .user-container:hover .user-fullname:after {
  content: ' ';
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.ynh-wrapper.user .user-container .user-menu {
  position: absolute;
  width: 100%;
  right: 0;
  top: 0;
  padding-top: 3.5em;
  border: 2px solid #e5e5e5;
  border-radius: 15px;
  display: none;
  z-index: -10;
  background: #fff;
  box-shadow: 0px 0px 10px 0px #e5e5e5;
}

.user-menu li:first-child {
  border-top: 2px solid #e5e5e5;
}

.user-menu a {
  padding: 0;
  margin: 1.25em 1em;
}

.user-menu a:hover {
  color: inherit;
}

.ynh-wrapper.user .user-container:hover .user-menu {
  display: block;
}

.user-menu-link-icon,
.icon:before {
  content: ' ';
  width: 20px;
  height: 20px;
  display: block;
  float: left;
  margin-right: .7em;
}

.icon-connexion:before {
  background: no-repeat url('./icons/deconnexion.svg');
}

.icon-profil:before {
  background: no-repeat url('./icons/profil.svg');
}

.icon-terms:before {
  border: 1px solid #3AB6A9;
  color: #3AB6A9;
  content: "i";
  border-radius: 10px;
  text-align: center;
}

.icon-portail:before {
  background: no-repeat url('./icons/retour.svg');
}

#apps,
.login {
  background: inherit;
}

.login {
  text-align: center;
}

#apps {
  padding: 4% 0 10%;
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.ynh-wrapper.edit, 
.ynh-wrapper.password {
  padding: 4% 5% 0 5%;
  margin: 0;
}

.ynh-wrapper.edit, 
.ynh-wrapper.password {
  background: rgba(255,255,255,.9);
  min-height: 100%;
}

#apps:before {
    content: "Mon espace de collaboration";
    font-family: OpenSans-Regular;
    text-shadow: 0px 4px 12px #0000004D;
    /* display: block; */
    text-align: center;
    font-size: 40px;
    color: #fff;
    margin-bottom: 5%;
    display: none;
}

a, small, span,
.user-menu a {
    color: #1c1c1c;
}

.btn-group {
  margin: 0 0 1em;
}

.user-container-edit:after {
  display: none;
}

.left-panel {
  width: 40%;
  float: left;
  text-align: center;
}

.left-panel:before {
  content: '\e801'; 
  font-family: 'ynh_ssowat';
  font-size: 264px;
  line-height: 274px;
  overflow: hidden;
  display: block;
  background: #b4b4b4;
  color: #dedede;
  border-radius: 100px;
  width: 200px;
  height: 200px;
  display: block;
  margin: auto;
}

.left-panel > div {
  margin-bottom: 10px;
}

.left-panel-name {
  margin-top: 30px;
  font-size: 30px;
  line-height: 30px;
  color: #111111;
}

.left-panel-main-mail {
  font-size: 18px;
  color: #3ab6a9;
}

.left-panel .btn-group {
  text-align: inherit;
  margin: 0;
}

.left-panel .btn-group .btn {
  background: none;
  color: #848484;
  text-decoration: underline;
  padding: 0;
}

.form-edit,
.form-password,
.ynh-wrapper.password .messages {
  width: 60%;
  float: right;
}

.ynh-wrapper.password .messages {
  margin: 0 0 2em;
  background: #fff;
  padding: 1em 1.6em;
  border: 2px solid #3ab6a9;
  color: #171717;
}

.form-edit .form-section,
.form-password .form-section {
  width: 100%;
  margin: 0;
  float: none;
}

.form-edit label[for="givenName"] {
  width: 100%;
}

.form-edit #givenName {
  width: 47%;
  float: left;
}

.form-edit #givenName+input {
  width: 47%;
  float: right;
}

.form-edit .btn-group a.btn,
.form-password .btn-group a.btn {
  background: none;
  color: #171717;
}

.form-edit .btn-group input.btn,
.form-password .btn-group input.btn,
.login-form .btn,
.link-btn {
  background-color: #3ab6a9;
  border-radius: 10px;
  padding: 1em;
}

.form-edit .btn-group input.btn:hover,
.form-password .btn-group input.btn:hover,
.login-form .btn:hover,
.link-btn:hover {
  background-color: #3ab6a9;
  color: #171717;
}

.form-text,
.login-form .form-text {
  border: 2px solid #e3e7e8;
  border-radius: 10px;
  background: #fff;
  color: #6c6c6c;
  padding: 1em;
  margin-bottom: 1em;
  font-size: 1em;
}

.form-text:hover,
.form-text:focus {
  background: #fff;
  outline-width: 0;
  color: #171717;
}

label {
  background: inherit;
  margin: 0 0 1em;
  padding: 0;
  font-size: 1em;
  color: #171717;
}

.link-btn {
  border-radius: 10px;
  width: 100%;
  padding: 0.8em 1.6em;
  margin-bottom: 1em;
  font-size: 1em;
}

.login-form {
  border-radius: 20px;
  border: 1px solid #ffffff1a;
  max-width: 30em;
  padding: 2em 2em;
  margin: 7em auto 0;
  box-shadow: 0 14px 30px #0000000D;
  backdrop-filter: blur(30px) brightness(.8);
  background: inherit;
  overflow: hidden;
  position: relative;
}

.login-form label {
  color: #fff;
  height: 2em;
}

.login-form:before {
  content: 'Connexion';
  text-align: center;
  font-size: 2em;
  margin-bottom: 1.5em;
  display: block;
  position: relative;
  z-index: 10;
}

.login-form .form-group {
  background: inherit;
  margin: 0 0 2em 0;
}

.login-form .icon:before {
  display: block;
  width: 100%;
  text-align: left;
  background-color: inherit;
  float: none;
  color: inherit;
  line-height: 1em;
  margin: 0 0 1em 0;
}

.login-form .icon-user:before {
  content: 'Identifiant *';
}

.login-form .icon-lock:before {
  content: 'Mot de passe *';
}

.login-form .btn {
  position: relative;
  z-index: 10;
}

.login-form > .login-terms {
  position: relative;
  z-index: 10;
  background: transparent;
  font-size: .8em;
  margin-top: 1em;
  text-align: right;
}

.login-form > .login-terms > a {
  color: #fff;
}

.login-form + a,
.left-panel > a {
  margin: 2em auto;
  display: inline-block !important;
}

.ynh-wrapper.footer {
  display: none;
  margin: 0;
  width: 100%;
}

.ynh-wrapper.footer nav {
  border-top: 1px solid #e5e5e5;
  text-align: center;
  margin: 0;
}

.ynh-wrapper.footer a {
  color: #848484;
}

.ynh-wrapper.footer a:before {
  content: '|';
  color: #848484;
}

.ynh-wrapper.footer a:first-child:before {
  content: '';
}

@media screen and (min-width: 900px) {
  #apps .listing-apps {
    max-width: 1260px;
  }
  .listing-apps li {
    flex-basis: 14%;
  }
}

@media screen and (min-width: 560px) and (max-width: 899px) {
  .listing-apps li {
    flex-basis: 30%;
  }
}

@media screen and (min-width: 320px) and (max-width: 559px) {
  .listing-apps li {
    flex-basis: 43%;
  }
}

@media screen and (max-width: 319px) {
  .listing-apps li {
    flex-basis: 100%;
  }
}


.listing-apps {
  text-align: center;
  /* background: inherit; */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  width: 100%;
  flex: 1;
  align-items: center;
}

.listing-apps li {
  margin: 10px;
  border-color: transparent;
  transition: none;
  box-shadow: none;
  max-width: 10.4em;
}

.listing-apps li div,
.listing-apps li a {
  transition: none;
  box-shadow: none;
  display: block;
  position: relative;
  padding: 0.2em;
  top: 0;
  left: 0;
  width: auto;
  height: 2.5em;
  background: rgba(102, 102, 102, .7);
  /* background: #666; */
  color: #fff;
  font-size: 4em;
  border: 1px solid #FFFFFF1A;
  border-radius: 15px;
  text-align: center;
  margin: 0;
  overflow: hidden;
}

.listing-apps li div:hover,
.listing-apps li a:hover {
    border-color: grey;
    background: rgba(102, 102, 102);
}

.listing-apps li div span,
.listing-apps li div:hover span,
.listing-apps li div:active span,
.listing-apps li div:focus span,
.listing-apps li a span,
.listing-apps li a:hover span,
.listing-apps li a:active span,
.listing-apps li a:focus span {
    margin: 0;
    color: #fff;
}

.listing-apps .name,
.listing-apps .first-letter {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
}

.listing-apps .name {
    font-family: OpenSans-SemiBold;
    font-size: .25em;
    top: 7em;
}

.listing-apps .first-letter {
    text-transform: capitalize;
    visibility: hidden;
}

.listing-apps .first-letter.show {
  visibility: visible;
}

.listing-apps span img {
    width: 70px;
    margin-top: 15px;
}

a.app-tile.disabled {
  pointer-events: none;
}

.listing-apps li a.app-tile-admin:hover {
    border-color: #fff;
}

.listing-apps li a.app-tile-agenda:hover {
    border-color: #f7931e;
}

.listing-apps li a.app-tile-coffre-fort:hover {
    border-color: #0dbd8b;
}

.listing-apps li a.app-tile-boite-mail:hover {
    border-color: #ff553c;
}

.listing-apps li a.app-tile-diagrams-net:hover {
    border-color: #e58cf4;
}

.listing-apps li a.app-tile-documentation:hover {
  border-color: #3ab6a9;
}

.listing-apps li a.app-tile-documents:hover {
    border-color: #23b1e8;
}

.listing-apps li a.app-tile-formulaire:hover {
    border-color: #7f73ef;
}

.listing-apps li a.app-tile-gitlab:hover {
    border-color: #ff6700;
}

.listing-apps li a.app-tile-messagerie-instantanée:hover {
    border-color: #0dbd8b;
}

.listing-apps li a.app-tile-notion:hover {
    border-color: #fff;
}

.listing-apps li a.app-tile-open-sondage:hover {
    border-color: #e58cf4;
}

.listing-apps li a.app-tile-partage-de-documents:hover {
    border-color: #23b1e8;
}

.listing-apps li a.app-tile-petites-annonces:hover {
    border-color: #ff6700;
}

.listing-apps li a.app-tile-réservation-de-salles:hover {
    border-color: #e55c00;
}

.listing-apps li a.app-tile-visioconférence:hover {
    border-color: #0dbd8b;
}

.listing-apps li a.app-tile-zerobin:hover {
    border-color: #0dbd8b;
}

.app-tile {
    border: none;
}

.listing-apps div:hover,
.listing-apps div:focus,
.listing-apps a:hover,
.listing-apps a:focus {
    left: 0;
    top: 0;
}

.app-tile:after {
    display: none;
}

/* .listing-apps li div::before,
.listing-apps li a::before, */
.login-form::after {
  content: " ";
  display: block;
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  transform: none;
  filter: blur(30px);
  box-shadow: inset 0 0 0 150px rgba(34, 34, 34, 0.2);
  background: inherit;
}

.listing-apps div:hover::before,
.listing-apps div:focus::before,
.listing-apps a:hover::before,
.listing-apps a:focus::before {
  width: 150%;
  height: 150%;
  /* background: inherit; */
}

.app-tile:hover:after,
.app-tile:focus:after {
    background: none;
    height: 0;
    width: 0;
}

.listing-apps .sublisting-apps {
  overflow: visible;
}

#search .search-responses ul,
.listing-apps .sublisting-apps ul {
  display: none;
  width: 4.1em;
  position: absolute;
  top: 100%;
  left: -.7em;
  padding: 15px 0;
  background: inherit;
  border: inherit;
  border-radius: 15px;
  overflow: hidden;
}

.listing-apps .sublisting-apps:hover ul {
  display: block;
  z-index: 999;
}

.listing-apps .sublisting-apps li {
  margin: 0;
  width: 100%;
  display: block;
  padding: 0 15px;
  border-left: 3px solid;
  border-color: transparent;
}

.listing-apps .sublisting-apps li:hover {
  border-color: inherit;
}

.listing-apps .sublisting-apps li a {
  width: 100%;
  font-size: .5em;
  background: inherit;
  padding: .2em;
  color: inherit;
  border-radius: unset;
  border: none;
  height: auto;
}

.listing-apps .sublisting-apps li a span {
  position: static;
  text-align: start;
  top: 0;
  transform: none;
  color: inherit;
  display: block;
  float: left;
  width: auto;
  font-size: .5em;
}

.listing-apps .sublisting-apps li a span.first-letter {
  width: 2em;
  left: .5em;
  transform: none;
}

.listing-apps .sublisting-apps li a span img {
  margin: 0;
  max-width: 1.5em;
}

.listing-apps .sublisting-apps li a::before {
  display: none;
}


#search {
  max-width: 720px;
  margin: auto;
  text-align: center;
  position: relative;
  width: 100%;
  height: 3em;
  z-index: 1;
}

#search > form {
  padding-right: 3em;
}

#search > form > input {
  height: 3em;
  width: 100%;
  border-radius: .7em 0 0 .7em;
  border: none;
  outline: none;
  padding: 0 1em;
}

#search > form > button {
  position: absolute;
  width: 3em;
  height: 3em;
  border: none;
  background: #fff no-repeat url(https://tools.jouhub.gie22ruejoubert.org/static/images/search.svg);
  background-size: 1.5em;
  background-position: center;
  border-radius: 0 .7em .7em 0;
  /* border: 1px solid #fff; */
}

#search > form> button:hover {
  /* border: 1px solid grey; */
  background-size: 1.7em;
}

#search .search-responses {
  width: 100%;
  background: rgba(102, 102, 102, .7);
  z-index: 999999;
  border: 1px solid #FFFFFF1A;
  border-radius: 15px;
  display: none;
  text-align: left;
  list-style-type: none;
  padding: 1em 2em;
}

#search .search-responses:hover {
  background: rgba(102, 102, 102);
  border: 1px solid #fff;
}

#search .search-responses.visible {
  display: block;
}

#search .search-responses li {
  padding: .5em 0;
}

#search .search-responses .first-letter {
  width: 2em;
  float: left;
  color: #fff;
}

#search .search-responses .first-letter img {
  max-width: 1.5em;
  margin: 0;
}

#search .search-responses .name {
  color: #fff;
  margin-left: .5em
}

