/* UPDATE June 2021 Leo -  BEGIN */
.vertical-center {
	min-height: 100%;
	min-height: 100vh;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.vertical-center .login-container {
	max-width: 960px !important;
	-webkit-box-shadow: 0px 0px 0px 0px rgb(0 0 0 / 0%);
    -moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    box-shadow: 0px 0px 0px 0px rgb(0 0 0 / 0%);
	transition: all 0.5s;
	border: solid 1px #999;
}
.vertical-center .login-container:hover {
	max-width: 960px !important;
	-webkit-box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 30%);
    -moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 30%);
}
.vertical-center .login-container .login-brand {
	display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.vertical-center .login-container .login-brand figure, .vertical-center .login-container .login-sidebar section {margin: 2rem;}
.vertical-center .login-container .login-sidebar {background: #fafafa;}
.vertical-center .login-container .login-sidebar .close {outline: none !important;}
.vertical-center .login-container .login-sidebar label {color: #333; font-size: 1.25rem; font-weight: 400;}
.vertical-center .login-container .login-sidebar .form-control {font-size: 1.25rem; color: #000;}
.vertical-center .login-container .login-sidebar .form-control:focus {
    color: #000;
    background-color: #fff;
    border-color: #969696;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(0 0 0 / 25%);
}

.vertical-center .login-container .login-sidebar .btn-login {font-size: 1.25rem; background: #404040; width: auto; min-width: 200px;}
.vertical-center .login-container .login-sidebar .btn-login:focus, .vertical-center .login-container .login-sidebar .btn-login:hover {outline: 0; box-shadow: 0 0 0 0.2rem rgb(0 0 0 / 25%); color: #ffffff;}
.vertical-center .login-container .login-sidebar .login-info {
    background-color: #f1f1f1;
    font-size: 1.25rem;
    border-top: none;
}
.vertical-center .login-container .login-sidebar .login-info a {color: #000; font-weight: bold;}
.vertical-center .login-container .login-sidebar .form-minimised {
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.modal-footer .btn-primary {color: #fff; background-color: #404040; border-color: #404040;}
.modal-footer .btn-primary.focus, .modal-footer .btn-primary:focus {box-shadow: 0 0 0 0.2rem rgb(0 0 0 / 50%);}
.modal-footer .btn-primary:not(:disabled):not(.disabled).active, .modal-footer .btn-primary:not(:disabled):not(.disabled):active, .modal-footer .show>.btn-primary.dropdown-toggle {color: #fff; background-color: #404040; border-color: #404040;}
.modal-footer .btn-primary:not(:disabled):not(.disabled).active:focus, .modal-footer .btn-primary:not(:disabled):not(.disabled):active:focus, .modal-footer .show>.btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem rgb(0 0 0 / 50%);}
.lead {font-size: 1.5rem;}

/* UPDATE June 2021 Leo -  END */



/* Updates June 2021 */
/*body.login-page {
  background-image: url(../images/bground.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  min-height: 100vh;
}*/
.login-container {
  margin: 0 auto;
  display: block;
  max-width: 360px;
  overflow: hidden;
  -webkit-box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.6);
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.6);
}
.btn-login {
  width: 100%;
  background: #ee2842;
  color: #ffffff;
}
.btn-login:focus,
.btn-login:hover {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(238, 40, 66, 0.25);
  color: #ffffff;
}
.login-info {
  background-color: #ebeffa;
  font-size: 0.875rem;
  border-top: solid 2px #ccc;
}
.login-info .fas {
  margin-right: 0.5rem;
}
.login-info a {
  color: #0056b3;
  font-weight: bold;
}
.btn-modal-close {
  background: #17a2b8;
  color: #fff;
}
.btn-modal-close:focus,
.btn-modal-close:hover {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
  color: #ffffff;
}

/*    TYPOGRAPHY     */

body {
  font-family: 'Roboto', Arial, Helvetica, sans-serif;
  color: #000;
  font-size: 1rem;
  font-weight: 300;
}

/*    UI  -  LAYOUT ELEMENTS    */

html {
  scroll-behavior: smooth;
}
.sidebar {
  background-color: #fff;
  color: #000;
  position: relative;
  z-index: 9;
  -webkit-box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.45);
  -moz-box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.45);
  box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.45);
}
.dashboard {
  background-color: #7db5d1;
}
.dashboard,
.sidebar {
  min-height: 100vh;
}
.wrapper {
  padding: 1.5rem 2rem;
}

.sidebar ul {
  display: block;
  margin: 1rem 1rem;
  padding: 0 0 1rem 0;
  list-style-position: outside;
  list-style-image: none;
  list-style-type: none;
  border-bottom: solid 1px #959595;
}
.sidebar ul li {
  text-align: center;
  padding: 0.5rem 0;
  word-wrap: break-word;
}
.sidebar .highlight {
  color: #ff6000;
  font-weight: bold;
}
.sidebar a {
  color: #000;
  text-decoration: underline;
}

.dashboard a {
  color: #00b5ef;
}
.dashboard a:hover {
  text-decoration: none;
}
.dashboard .navbar {
  padding: 0.5rem 1rem;
}
.dashboard .navbar .navbar-toggler {
  border: 1px solid #00b5ef;
  color: #00b5ef;
}
.dashboard header {
  background-color: #599bbc;
  color: #fff;
}

.dashboard .user-info span {
  display: inline-block;
}
.dashboard .user-info .nav-item span.logout {
  border-left: solid 1px #000;
  padding-left: 0.5rem;
  margin-left: 0.5rem;
}

.dashboard section {
  background-color: #7db5d1;
  color: #fff;
  -webkit-box-shadow: inset 0px 10px 5px 0px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: inset 0px 10px 5px 0px rgba(0, 0, 0, 0.35);
  box-shadow: inset 0px 10px 5px 0px rgba(0, 0, 0, 0.35);
}
.dashboard section .border-secondary {
  border-color: #b1d3e3 !important;
}
.dashboard section .nav-pills .nav-item {
  margin-right: 62px;
}
.dashboard section .nav-pills .nav-link.active,
.dashboard section .nav-pills .show > .nav-link {
  color: #17a2b8;
  background-color: #fff;
  border: solid 2px #17a2b8;
}
.dashboard section .nav-pills .nav-link.active::after {
  display: none !important;
}
.dashboard section .nav-pills .nav-link {
  color: #fff;
  background-color: #17a2b8;
  border: solid 2px #17a2b8;
  position: relative;
  text-decoration: none;
}
.dashboard section .nav-link.pending::after {
  content: 'Not Vote Yet';
  display: block;
  border-radius: 50%;
  background-color: #fff;
  color: #000;
  font-size: 0.75rem;
  width: 72px;
  height: 72px;
  position: absolute;
  left: 92%;
  top: -44%;
  text-align: center;
}
.dashboard section .nav-link.disabled {
  color: #fff;
  background-color: #17a2b8;
  pointer-events: none;
  cursor: default;
  border: solid 2px #17a2b8;
}
.dashboard section .nav-link.disabled::after {
  content: 'Vote Completed';
  display: block;
  border-radius: 50%;
  background-color: #319804;
  color: #fff;
  font-size: 0.75rem;
  width: 72px;
  height: 72px;
  position: absolute;
  left: 92%;
  top: -44%;
  text-align: center;
}
.dashboard section .nav-link {
  display: block;
  padding: 0.5rem 2rem;
  margin-right: 1rem;
}
.dashboard section a {
  color: #fff;
  text-decoration: underline;
}
.dashboard section .btn-primary,
.dashboard section .btn-primary:active {
  color: #fff;
  background-color: #17a2b8 !important;
  border-color: #17a2b8 !important;
  transition: all ease 0.5s;
}
.dashboard section .btn-primary:hover {
  -webkit-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.5);
  padding: 0.5rem 3rem;
}
.dashboard section .btn {
  padding: 0.5rem 2rem;
}
.dashboard section label:hover {
  cursor: pointer;
}
.dashboard section input:disabled ~ label {
  cursor: default;
}
.custom-label {
  padding: 0.5rem 2rem;
  color: #fff;
  background-color: #17a2b8;
  border: solid 2px #17a2b8;
}
.custom-label:hover {
  border-color: #fff;
}
input:checked ~ .custom-label {
  color: #17a2b8;
  background-color: #fff;
  border: solid 2px #17a2b8;
}

.resolution-options {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.resolution-options label {
  color: #fff;
  background-color: #17a2b8;
  border: solid 2px #17a2b8;
  position: relative;
  text-decoration: none;
  padding: 0.5rem 3.5rem 0.5rem 1rem;
  border-radius: 0.25rem !important;
  margin-right: 72px;
}
.resolution-options label:hover {
  border-color: #fff;
}
.resolution-options input:checked ~ label {
  color: #17a2b8;
  background-color: #fff;
}
.resolution-options label::after {
  content: 'Not \A Vote Yet';
  display: block;
  border-radius: 50%;
  background-color: #fff;
  color: #000;
  font-size: 0.75rem;
  width: 72px;
  height: 72px;
  position: absolute;
  left: 86%;
  top: -44%;
  text-align: center;
  padding-top: 1rem;
  white-space: pre;
}
.resolution-options input:checked ~ label::after {
  /*display: none !important;*/
  content: ' ';
  background-color: transparent;
  color: transparent;
}
.resolution-options input:disabled ~ label {
  color: #fff !important;
}
.resolution-options input:disabled ~ label::after {
  content: 'Vote \A Completed';
  background-color: #319804;
  color: #fff;
}
.resolution-options input:disabled ~ label:hover {
  border-color: #17a2b8;
}

.proceed label {
  color: #fff;
  background-color: #17a2b8;
  border: solid 2px #17a2b8;
  position: relative;
  text-decoration: none;
  padding: 0.5rem 2rem;
  border-radius: 0.25rem !important;
}
.proceed input:checked ~ label {
  color: #17a2b8;
  background-color: #fff;
}
.proceed label:hover {
  border-color: #fff;
}

.share-class-options label {
  color: #fff;
  background-color: #17a2b8;
  border: solid 2px #17a2b8;
  position: relative;
  text-decoration: none;
  padding: 0.5rem 2rem;
  border-radius: 0.25rem !important;
}
.share-class-options label:hover {
  border-color: #fff;
}
.share-class-options label:before {
  font-family: 'Font Awesome 5 Free';
  content: '\f0c8';
  display: inline-block;
  vertical-align: middle;
  font-weight: 900;
  color: #fff;
  background-color: #fff;
  padding: 0 0.25rem;
  border-radius: 0.25rem !important;
  margin-right: 1rem;
}
.share-class-options input:checked ~ label {
  color: #17a2b8;
  background-color: #fff;
}
.share-class-options input:checked ~ label:before {
  color: #17a2b8;
  background-color: #17a2b8;
}
.share-class-options input:disabled ~ label {
  color: #fff !important;
}
.share-class-options input:disabled ~ label:before {
  content: '\f00c';
  color: #319804;
  background-color: #fff;
}
.share-class-options input:disabled ~ label:hover {
  border-color: #17a2b8;
}

.cast-vote {
  max-width: 550px;
  background-color: #fff;
  color: #000;
  margin-bottom: 1rem;
  padding-left: 0;
}
.cast-vote label {
  display: block;
  padding: 0.5rem;
  border: solid 1px #ccc;
  border-radius: 0.25rem !important;
}
.cast-vote label:hover {
  color: #17a2b8;
  font-weight: bold;
  border-color: #17a2b8;
}
.cast-vote label::after {
  font-family: 'Font Awesome 5 Free';
  content: '\f00c';
  display: inline-block;
  vertical-align: middle;
  font-weight: 900;
  color: #fff;
  background-color: #fff;
  padding: 0 0.25rem;
  border-radius: 0.25rem !important;
  float: right;
  border: solid 1px #ccc;
}
.cast-vote label:hover::after {
  border-color: #17a2b8;
}
.cast-vote input:checked ~ label::after {
  color: #17a2b8;
}

.cast-vote.reset label {
  border-color: transparent;
}
.cast-vote.reset label:hover {
  color: gray;
  font-weight: 300;
  border-color: transparent;
  cursor: default !important;
}
.cast-vote.reset label::after {
  display: none !important;
}

a.hint {
  display: inline-block;
  border: none !important;
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 50%;
  margin-top: 0.25rem;
  text-decoration: none;
}
a.hint:hover {
  cursor: pointer;
  border: solid 1px #ccc !important;
}
a.hint span {
  display: block;
  text-align: center;
  color: #7db5d1;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 2rem;
  width: 2rem;
  height: 2rem;
}
a.hint:focus {
  border: solid 1px #ccc !important;
  box-shadow: none !important;
  outline: none !important;
}
.voting-form-elements {
  padding: 1rem 0;
}

/*   animation      */
@keyframes reveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
section#Step1 {
}
section#Step2,
section#Step3,
section#Step4,
section#Step5 {
  display: none;
  animation: reveal 1s ease;
}
.showSection {
  display: block !important;
}

/*     DEVICES  -  CSS media queries     */

@media (max-width: 1254px) {
  .resolution-options {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 768px) {
  h1 {
    font-size: 2rem;
  }
  h2 {
    font-size: 1.5rem;
  }
  .dashboard,
  .sidebar {
    min-height: inherit;
  }
  .move-bottom {
    order: 2;
  }
  .navbar-collapse {
    padding-top: 1rem;
  }
  .collapse .nav-item {
    display: block;
    padding-right: 1rem;
  }
  .collapse .user-help {
    flex-direction: row;
  }
  .collapse .user-info {
    padding: 1rem 0;
    margin-top: 1rem;
    border-top: solid 1px #000;
  }
  .collapse .nav-item span {
    display: block;
  }
  .collapse .nav-item span.fa-stack {
    display: inline-block;
  }
  .resolution-options {
    width: 100%;
  }
  .resolution-options label {
    margin-right: 0;
    margin-bottom: 3rem;
  }
  .custom-label,
  .share-class-options {
    margin-bottom: 2rem;
  }
  .border-right {
    border-right: none !important;
  }
  .dashboard .user-info .nav-item span.logout {
    border-left: none;
    padding-left: 0;
    margin-left: 0;
    padding-top: 1rem;
  }
  .resolution-options label::after {
    left: 80%;
  }
}
