span[hidden] {
    display: none;
}

body {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

body.modal-open {
    overflow: hidden;
}

main {
    flex: 1 0 auto;
}

.input-field input[type=text]:focus + label {
    color: #ad1457 !important;
}

.input-field input[type=text]:focus {
    border-bottom: 1px solid #ad1457 !important;
    box-shadow: 0 1px 0 0 #ad1457 !important;
}

.h-100 {
    height: 100%;
}
.w-100 {
    width: 100%;
}
.fullbox {
    height: 100%;
    width: 100%;
}

.nav-wrapper form {
    height: 40px; 
    margin-top: 12px;
}
.nav-wrapper .search-icon {
    font-size: 24px !important;
    margin-top: 1px;
    line-height: 40px;
    height: 40px;
}

.side-menu .collection {
    border: none;
    -webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
}

.collection .collection-item.active {
    background-color: #eeeeee !important;
    color: #000000 !important;
}

.collection .collection-item.disabled {
    color: #9e9e9e !important;
}

.collection a.collection-item {
    color: #212121;
}

a.collection-item .material-icons {
    font-size: 17px;
    margin-right: 6px;
}

.breadcrumbs {
    line-height: 48px;
    margin-top: 12px;
    color: #333 !important;
}
.breadcrumbs a.breadcrumb {
    color: #333;
    font-size: 21px;
}
.breadcrumbs a.breadcrumb:before {
    color: #333;
}

.projects-list {
    min-width: 93vw;
}

.progress {
    overflow: hidden;
    height: 6px;
    
    background-color: #f7f7f7;
    background-image: -moz-linear-gradient(top, #f5f5f5, #e0e0e0);
    background-image: -ms-linear-gradient(top, #f5f5f5, #e0e0e0);
    background-image: -webkit-linear-gradient(top, #f5f5f5, #e0e0e0);

    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#e0e0e0', GradientType=0);
    
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
      
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    
}
 
.progress .bar {
    width: 0%;
    height: 6px;
      
    background-color: #0e90d2;
    background-image: -moz-linear-gradient(top, #ad1457, #84053d);
    background-image: -ms-linear-gradient(top, #ad1457, #84053d);
    background-image: -webkit-linear-gradient(top, #ad1457, #84053d);
    background-image: linear-gradient(top, #ad1457, #84053d);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ad1457', endColorstr='#84053d', GradientType=0);
      
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
      
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
      
    -webkit-transition: width 0.6s ease;
    -moz-transition: width 0.6s ease;
    -ms-transition: width 0.6s ease;
    -o-transition: width 0.6s ease;
    transition: width 0.6s ease;
}

.card .card-action.card-buttons {
    position: absolute;
    padding:0;
    right: 0;
}

.main-btn i {
    transition: transform .2s ease-in-out;
}
.fixed-action-btn.active .main-btn i {
    transform: rotate(90deg);
}

input[type=range]+.thumb {
    background-color: #aa0060;
}
input[type=range]+.thumb .value {
    color: #aa0060;
}
input[type=range]::-webkit-slider-thumb {
    background: #aa0060;
    background-color: #aa0060;
}

[type="checkbox"].filled-in:checked+span:not(.lever):after {
    border: 2px solid #aa0060;
    background-color: #aa0060;
}

@media only screen and (min-width: 768px) {
    .datepicker-modal {
        width: 100%;
    }
}

.new-key-wrapper p {
    font-size: 1.2em;
}

.modal-file, .modal-folder {
    height: 245px !important;
}
.modal .modal-content {
    padding-bottom: 0 !important;
}

@media only screen and (max-width: 992px) {
    .modal {
        width: 100% !important;
        height: 100vh;
        top: 0 !important;
        margin: 0;
    }
    .modal.modal-fixed-footer {
        width: 100% !important;
        min-height: 100vh;
        min-height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        top: 0 !important;
        margin: 0;
    }
}

.datepicker-modal.open .modal-content.datepicker-container {
    height: 100%;
    width: 100%;
}
.datepicker-controls .select-month input {
    width: 80px;
}
.datepicker-date-display {
    background-color: #ad1457;
}
.datepicker-table td.is-selected {
    background-color: #ad1457;
}
.datepicker-cancel, .datepicker-clear, .datepicker-today, .datepicker-done {
    color: #ad1457;
}
.datepicker-modal.open {
    height: 52.08vh !important;
}

.switch label input[type=checkbox]:checked+.lever {
    background-color: #d8a1b9;
}
.switch label input[type=checkbox]:checked+.lever:after {
    background-color: #ad1457;
}

#new_key_modal .key-wrapper {
    background-color: #f4f4f4;
    border-radius: 5px;
}
#new_key_modal .key-wrapper .key-copy {
    cursor: pointer;
}
@media only screen and (max-width: 768px) {
    .datepicker-modal.open {
        width: 100%;
        min-width: 100vw !important;
        height: 100%;
        top: 0 !important;
    }
}
@media only screen and (min-width: 1440px) {
    .datepicker-modal.open {
        height: 41vh !important;
    }
}

@media only screen and (min-width: 768px) {
    .modal.datepicker-modal.open {
        top: 0 !important;
    }
    #key_copy {
        width: 95%;
    }
    #new_project_modal {
        height: 42%;
        width: 60%;
    }
    .modal-edit-project {
        height: 42% !important;
        width: 60% !important;
    }
    #delete_project_modal {
        height: 30%;
        width: 50%;
    }
    #new_key_modal, #edit_key_modal {
        top: 20% !important;
        width: 500px;
        height: 320px;
    }
    #new_key_modal.datepicking, #edit_key_modal.datepicking {
        height: 350px !important;
    }
    #new_key_modal .input-field, #edit_key_modal .input-field {
        width: 100%;
        display: inline-block;
    }
    #new_key_modal .key-mode, #edit_key_modal .key-mode {
        display: inline-block;
        margin-right: 10%;
    }
    #new_key_modal .generate-btn, #edit_key_modal .generate-btn {
        width: 20%;
    }
    #new_key_modal .key-wrapper {
        height: 84px;
    }
    #new_key_modal .key-wrapper .valign-wrapper {
        height: 100%;
    }
    #new_key_modal .key-wrapper .valign-wrapper input {
        margin-left: 2%;
        width: 85%;
        margin-right: 5%;
    }
}

@media only screen and (min-width: 1440px) {
    #new_project_modal {
        height: 33%;
        width: 40%;
    }
    .modal-edit-project {
        height: 33% !important;
        width: 40% !important;
    }
    #delete_project_modal {
        height: 25%;
        width: 40%;
    }
}

.container-fluid {
    padding: 0 5%;
}

.menu {
  display: none;
  position: fixed;
  z-index: 9000;
  width: 200px; 
  background:#F9F9F9;
  border: 1px solid rgb(133, 133, 133);
  box-shadow: 3px 3px 2px #E9E9E9;
}
.menu .items {
  list-style: none;
  margin: 0px;
  font-size: 17px;
  color: #333333;
  
}
.menu .items li {
  padding: 3px;
  padding-left: 10px;
  cursor: pointer;
}
.menu .items li a {
  color: #333333;
}
.menu .items li:hover {
  background: rgb(133, 133, 133);
}
.menu .items li:hover a {
  color: white;
}
.menu hr { 
  width: 90%; 
  background-color:#E4E4E4;
  border-color:#E4E4E4;
  color:#E4E4E4;
}

/* -- FILE LIST --*/
/* Sorting */
.filelist__sortby {
    width: 100%;
    margin-top: 8px;
    margin-left: 5px;
}
.filelist__sortby span {
    display: inline-block;
    cursor: pointer;
    font-weight: 600;
}
.filelist__sortby span i {
    font-size: 1.1rem;
    vertical-align: sub;
}
.filelist__sortby .filename {
    width: 75%;
    margin-left: 3%;
}
.filelist__sortby .size, .filelist__sortby .modified {
    width: 10%;
}
/* Wrappers */
.filelist__loading, .filelist__empty,
.projectlist__loading, .projectlist__empty,
.keylist__loading, .keylist__empty {
    display: inline-block;
    width: 100%;
    line-height: 50vh;
    font-size: 3rem;
    text-align: center;
    color: #777;
}
.filelist__loading-circle,
.projectlist__loading-circle,
.keylist__loading-circle {
    height: 8rem;
    vertical-align: middle;
    padding-bottom: 1rem;
    margin-right: -1rem;
}
/* Keys */
.keylist__header .link {
    display: inline-block;
    width: 44%;
    margin-left: 22px;
    font-weight: 600;
}
.key .key__link {
    display: inline-block;
    width: 45%;
}
.keylist__header .target {
    display: inline-block;
    width: 33%;
    font-weight: 600;
}
.key .key__target {
    display: inline-block;
    width: 34%;
}
@media only screen and (max-width: 1440px) {
    .key .key__link {
        font-size: 12px;
    }
    .key .key__target {
        width: 33%;
    }
}
.keylist__header .expires, .key .key__expires,
.keylist__header .created, .key .key__created {
    display: inline-block;
    width: 9%;
}
.keylist__header .expires,
.keylist__header .created {
    font-weight: 600;
}

.key .extra-info {
    margin-top: 12px;
}
.key__id, .key__mode, 
.key__recipient-name, 
.key__recipient-email {
    display: inline-block;
    width: 24%;
}
.key {
    height: 42px;
    transition: all .2s ease-in-out;
}
.key .extra-info {
    display: none;
}
.key.expanded {
    background-color: #f9f9f9;
    height: 80px;
}
.key.expanded .extra-info {
    display: inherit;
}
.key .secondary-content {
    position: relative;
    top: -33px;
    right: -4px;
    float: right;
    color: #777;
}
.key .secondary-content .material-icons {
    display: flex;
}
.key__edit, .key__delete {
    cursor: pointer;
}
.key__edit:hover, .key__delete:hover {
    color:#333;
}

/* Files */
.file, 
.folder {
    min-height: 3rem;
    border-top: 1px solid transparent;
    padding: 0 !important;
}
.file .fileicon, 
.folder .fileicon {
    display: inline-block;
    width: 3%;
    font-size: 1.5rem;
    line-height: 2rem;
    text-align: center;
    vertical-align: middle;
    color: #777;
}

.file .filename, .file .filename a, .file .size, .file .modified,
.folder .filename, .folder .filename a, .folder .size, .folder .modified {
    display: inline-block;
    height: 100%;
    line-height: 3rem;
    font-size: 1rem;
}
.file .filename,
.folder .filename {
    width: 75%;
}
.file .filename a,
.folder .filename a {
    color: #333;
}
.file .size, .file .modified,
.folder .size, .folder .modified {
    width: 10%;
    font-size: 0.9rem;
    color: #777;
}
@media only screen and (max-width: 768px) {
    .file .fileicon,
    .folder .fileicon {
        width: 10%;
    }
    .file .filename, .file .filename a,
    .folder .filename, .folder .filename a {
        width: 88%;
    }
    .file .size, .file .modified,
    .folder .size, .folder .modified {
        width: 100%;
        padding-left: 10%;
    }
}
.select-wrapper {
    user-select: none;
}
.file.selected,
.folder.selected {
  background-color: #E4E4E4;
}

#upload_file_modal {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 24%;
    margin: 16px;
    padding: 16px;
    overflow-y: auto;
    background-color: #fafafa;
    border-radius: 2px;
    box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);
}

#upload_file_modal .status {
    float: right;
}

#upload_file_modal .progress {
    margin-top: 8px;
    margin-bottom: 0px;
}

#upload_file_modal .progress .determinate {
    background-color: #ad1457;
}

.box {
	font-size: 1.25rem;
	background-color: #c8dadf;
	position: relative;
	padding: 100px 20px;
}
.box.has-advanced-upload {
	outline: 2px dashed #92b0b3;
	outline-offset: -10px;
    -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear;
	transition: outline-offset .15s ease-in-out, background-color .15s linear;
}
.box.is-dragover {
	outline-offset: -20px;
	outline-color: #c8dadf;
	background-color: #fff;
}
.box__dragndrop,
.box__icon {
	display: none;
}
.box.has-advanced-upload .box__dragndrop {
	display: inline;
}
.box.has-advanced-upload .box__icon {
	width: 100%;
	height: 80px;
	fill: #92b0b3;
	display: block;
	margin-bottom: 40px;
}
.box.is-uploading .box__input,
.box.is-success .box__input,
.box.is-error .box__input {
	visibility: hidden;
}
.box__uploading,
.box__success,
.box__error {
	display: none;
}
.box.is-uploading .box__uploading,
.box.is-success .box__success,
.box.is-error .box__error {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
    -webkit-transform: translateY( -50% );
	transform: translateY( -50% );
}
.box__uploading {
	font-style: italic;
}
.box__success {
	-webkit-animation: appear-from-inside .25s ease-in-out;
	animation: appear-from-inside .25s ease-in-out;
}
@-webkit-keyframes appear-from-inside {
	from	{ -webkit-transform: translateY( -50% ) scale( 0 ); }
	75%		{ -webkit-transform: translateY( -50% ) scale( 1.1 ); }
	to		{ -webkit-transform: translateY( -50% ) scale( 1 ); }
}
@keyframes appear-from-inside {
	from	{ transform: translateY( -50% ) scale( 0 ); }
	75%		{ transform: translateY( -50% ) scale( 1.1 ); }
	to		{ transform: translateY( -50% ) scale( 1 ); }
}
.box__restart {
	font-weight: 700;
}
.box__restart:focus,
.box__restart:hover {
    color: #39bfd3;
}
.js .box__file {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}
.js .box__file + label {
	max-width: 80%;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
	display: inline-block;
	overflow: hidden;
}
.js .box__file + label:hover strong,
.box__file:focus + label strong,
.box__file.has-focus + label strong {
	color: #39bfd3;
}
.js .box__file:focus + label,
.js .box__file.has-focus + label {
	outline: 1px dotted #000;
	outline: -webkit-focus-ring-color auto 5px;
}
.no-js .box__file + label {
	display: none;
}
.no-js .box__button {
	display: block;
}
.box__button {
	font-weight: 700;
	color: #e5edf1;
	background-color: #39bfd3;
	display: none;
	padding: 8px 16px;
	margin: 40px auto 0;
}
.box__button:hover,
.box__button:focus {
	background-color: #0f3c4b;
}