Răsfoiți Sursa

Update styles

Daniel Supernault 3 ani în urmă
părinte
comite
15d65531a6

+ 2 - 1
resources/assets/sass/_variables.scss

@@ -20,7 +20,8 @@ $custom-control-description-disabled-color: #868e96;
 $white: white;
 $theme-colors: (
 	'primary': #2c78bf,
-	'muted'  : #697179
+	'muted'  : #697179,
+	'dark'	 : #212529
 );
 
 $card-cap-bg: $white;

+ 4 - 1
resources/assets/sass/app.scss

@@ -23,4 +23,7 @@
 
 @import "moment";
 
-@import '~animate.css/animate.min.css';
+@import 'animate.css';
+
+@import "lib/placeholder-loading";
+

+ 335 - 328
resources/assets/sass/custom.scss

@@ -1,647 +1,654 @@
 html, body {
-  min-height:100vh;
+	min-height:100vh;
 }
 
 body {
-  display: flex;
-  flex-flow: column;
+	display: flex;
+	flex-flow: column;
 }
 
 #content {
-  margin-bottom: auto !important;
+	margin-bottom: auto !important;
 }
 
 body, button, input, textarea {
-    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",
-                 Roboto,Helvetica,Arial,sans-serif;
+		font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 }
 
 .navbar-laravel {
-  background-color: #fff;
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
+	background-color: #fff;
+	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
 }
 
 .bg-pixelfed {
-  background:#10c5f8;
-  background:-webkit-gradient(linear,left top,right bottom,from(#6736dd),to(#10c5f8));
-  background:linear-gradient(to bottom right,#6736dd,#10c5f8);
+	background:#10c5f8;
+	background:-webkit-gradient(linear,left top,right bottom,from(#6736dd),to(#10c5f8));
+	background:linear-gradient(to bottom right,#6736dd,#10c5f8);
 }
 
 @media (min-width: 1200px) {
-  .container {
-      max-width: 935px;
-  }
+	.container {
+			max-width: 935px;
+	}
 }
 
 .text-dark {
-  color: #212529 !important;
+	color: #212529 !important;
 }
 
 .settings-nav .active .nav-link{
-  font-weight: bold;
+	font-weight: bold;
 }
 
 .card-disabled {
-  background-color: rgba(245, 245, 245, 1);
-  opacity: .4;
+	background-color: rgba(245, 245, 245, 1);
+	opacity: .4;
 }
 
 .card-img-top {
-  height: auto;
+	height: auto;
 }
 
 .card.status-container .status-photo {
-  margin: auto !important;
+	margin: auto !important;
 }
 
 @media (min-width: map-get($grid-breakpoints, "md")) {
-  .card.status-container .status-comments {
-    overflow-y:scroll;
-    border-bottom:1px solid rgba(0,0,0,.1);
-    height: 200px;
-  }
+	.card.status-container .status-comments {
+		overflow-y:scroll;
+		border-bottom:1px solid rgba(0,0,0,.1);
+		height: 200px;
+	}
 }
 
 .no-caret.dropdown-toggle {
-  text-decoration: none !important;
+	text-decoration: none !important;
 }
 
 .no-caret.dropdown-toggle::after {
-  display:none;
+	display:none;
 }
 
 .notification-page .profile-link {
-  color: #212529;
-  font-weight: bold;
+	color: #212529;
+	font-weight: bold;
 }
 
 .notification-page .list-group-item:first-child {
-  border-top: none;
+	border-top: none;
 }
 
 .nav-topbar {
-  border-top: 1px solid $gray-300;
+	border-top: 1px solid $gray-300;
 }
 .nav-topbar .nav-item {
-  margin: -1px 1.5rem 0;
+	margin: -1px 1.5rem 0;
 }
 .nav-topbar .nav-link {
-  border: 1px solid transparent;
-  color: $gray-300;
-  padding: 0.75rem 0;
+	border: 1px solid transparent;
+	color: $gray-300;
+	padding: 0.75rem 0;
 }
 .nav-topbar .nav-link:focus, .nav-topbar .nav-link:hover {
-  border-top-color: $gray-300;
+	border-top-color: $gray-300;
 }
 .nav-topbar .nav-link.disabled {
-  color: $gray-300;
-  background-color: transparent;
-  border-color: transparent;
+	color: $gray-300;
+	background-color: transparent;
+	border-color: transparent;
 }
 .nav-topbar .nav-item.show .nav-link, .nav-topbar .nav-link.active {
-  color: $gray-600;
-  border-top-color: $gray-600;
+	color: $gray-600;
+	border-top-color: $gray-600;
 }
 .nav-topbar .dropdown-menu {
-  margin-top:-1px;
+	margin-top:-1px;
 }
 
 .info-overlay {
-    position: relative;
+		position: relative;
 }
 
 .info-overlay .info-overlay-text {
-    display: none;
-    position: absolute;
+		display: none;
+		position: absolute;
 }
 
 .info-overlay:hover .info-overlay-text {
-    display: flex;
+		display: flex;
 }
 
 @media (max-width: map-get($grid-breakpoints, "sm")) {
-  .info-overlay:hover .info-overlay-text h5 {
-      font-size: 12px;
-  }
+	.info-overlay:hover .info-overlay-text h5 {
+			font-size: 12px;
+	}
 }
 
 .info-overlay-text {
-    width: 100%;
-    height: 100%;
-    background-color: rgba(0,0,0,0.5);
+		width: 100%;
+		height: 100%;
+		background-color: rgba(0,0,0,0.5);
 }
 
 .info-overlay-text-label {
-    display: flex;
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    background-color: rgba(0,0,0,0.5);
+		display: flex;
+		position: absolute;
+		width: 100%;
+		height: 100%;
+		background-color: rgba(0,0,0,0.5);
 
-    h5 {
-      z-index: 2;
-    }
+		h5 {
+			z-index: 2;
+		}
 }
 
 .info-overlay:hover .info-overlay-text-label {
-    display: none;
+		display: none;
 }
 
 .font-weight-lighter {
-    font-weight: 300 !important
+		font-weight: 300 !important
 }
 
 .font-weight-ultralight {
-    font-weight: 200 !important;
+		font-weight: 200 !important;
 }
 
 .square {
-    position: relative;
-    width: 100%;
+		position: relative;
+		width: 100%;
 }
 
 .square::after {
-    content: "";
-    display: block;
-    padding-bottom: 100%;
+		content: "";
+		display: block;
+		padding-bottom: 100%;
 }
 
 .square-content {
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    background-repeat: no-repeat;
-    background-size: cover;
-    background-position: 50%;
+		position: absolute;
+		width: 100%;
+		height: 100%;
+		background-repeat: no-repeat;
+		background-size: cover;
+		background-position: 50%;
 }
 
 @media (max-width: map-get($grid-breakpoints, "md")) {
  .border-md-left-0 {
-  border-left:0!important
+	border-left:0!important
  }
 }
 
 @media (max-width: map-get($grid-breakpoints, "md")) {
-  .border-md-left-0 {
-    border-left:0!important
-  }
-  .card.status-container .status-comments {
-    border-top:1px solid rgba(0,0,0,.1);
-  }
-  .sticky-md-bottom {
-    position:-webkit-sticky;
-    position:sticky;
-    bottom:0;
-    z-index:1020
-  }
+	.border-md-left-0 {
+		border-left:0!important
+	}
+	.card.status-container .status-comments {
+		border-top:1px solid rgba(0,0,0,.1);
+	}
+	.sticky-md-bottom {
+		position:-webkit-sticky;
+		position:sticky;
+		bottom:0;
+		z-index:1020
+	}
 }
 
 @media (max-width: map-get($grid-breakpoints, "sm")) {
-  .card-md-border-0 {
-    border-width: 0!important;
-    border-radius: 0!important;
-  }
-  .card-md-rounded-0 {
-    border-width: 1px 0;
-    border-radius:0 !important;
-  }
+	.card-md-border-0 {
+		border-width: 0!important;
+		border-radius: 0!important;
+	}
+	.card-md-rounded-0 {
+		border-width: 1px 0;
+		border-radius:0 !important;
+	}
 }
 
 @keyframes loading-bar {
-  from { background-position: 0 0; }
-  to { background-position: 100vw 0; }
+	from { background-position: 0 0; }
+	to { background-position: 100vw 0; }
 }
 
 .loading-page {
-  background-image: linear-gradient(to right, #6736dd, #10c5f8, #10c5f8, #6736dd);
-  width: 100vw;
-  height: .25rem;
-  animation: loading-bar 3s linear infinite;
+	background-image: linear-gradient(to right, #6736dd, #10c5f8, #10c5f8, #6736dd);
+	width: 100vw;
+	height: .25rem;
+	animation: loading-bar 3s linear infinite;
 }
 
 .liked {
-    position: relative;
-    z-index: 1;
+		position: relative;
+		z-index: 1;
 }
 
 .liked::after {
-    content: "\F0a3";
-    color: transparent;
-    animation: liking 1.5s;
-    position: absolute;
-    z-index: -1;
-    left: 50%;
-    top: 0;
+		content: "\F0a3";
+		color: transparent;
+		animation: liking 1.5s;
+		position: absolute;
+		z-index: -1;
+		left: 50%;
+		top: 0;
 }
 
 @keyframes liking {
  0% {
-  -webkit-transform:rotate(0deg);
-  transform:rotate(0deg);
-  font-size:0;
-  top: .25rem;
-  color: #ebf70e;
+	-webkit-transform:rotate(0deg);
+	transform:rotate(0deg);
+	font-size:0;
+	top: .25rem;
+	color: #ebf70e;
  }
  75% {
-  -webkit-transform:rotate(1turn);
-  transform:rotate(1turn);
-  top: -0.55rem;
-  font-size: 2.8rem;
-  opacity:1;
-  left: -0.55rem;
+	-webkit-transform:rotate(1turn);
+	transform:rotate(1turn);
+	top: -0.55rem;
+	font-size: 2.8rem;
+	opacity:1;
+	left: -0.55rem;
  }
  100% {
-  transform:rotate(1turn);
-  top: 2.5rem;
-  font-size:0;
-  left: 0.9rem
+	transform:rotate(1turn);
+	top: 2.5rem;
+	font-size:0;
+	left: 0.9rem
  }
 }
 
 .max-hide-overflow {
-  max-height: 500px;
-  overflow-y: hidden;
+	max-height: 500px;
+	overflow-y: hidden;
 }
 
 @media (min-width: map-get($grid-breakpoints, "xs")) {
-  .max-hide-overflow {
-    max-height: 600px!important;
-  }
+	.max-hide-overflow {
+		max-height: 600px!important;
+	}
 }
 
 @media (min-width: map-get($grid-breakpoints, "md")) {
-  .max-hide-overflow {
-    max-height: 800px!important;
-  }
+	.max-hide-overflow {
+		max-height: 800px!important;
+	}
 }
 
 @media (min-width: map-get($grid-breakpoints, "xl")) {
-  .max-hide-overflow {
-    max-height: 1000px!important;
-  }
+	.max-hide-overflow {
+		max-height: 1000px!important;
+	}
 }
 
 .notification-image {
-  background-size: cover;
-  width: 32px;
-  height: 32px;
-  background-position: 50%;
+	background-size: cover;
+	width: 32px;
+	height: 32px;
+	background-position: 50%;
 }
 
 .status-photo img {
-    object-fit: contain;
-    width: 100%;
-    max-height: calc(100vh - (6rem));
+		object-fit: contain;
+		width: 100%;
+		max-height: calc(100vh - (6rem));
+}
+
+.fade-enter-active, .fade-leave-active {
+	transition: opacity .5s;
+}
+
+.fade-enter, .fade-leave-to {
+	opacity: 0;
 }
 
 @keyframes fadeInDown {
-  0% {
-    opacity: 0;
-    transform: translateY(-1.25em);
-  }
-  100% {
-    opacity: 1;
-    transform: translateY(0);
-  }
+	0% {
+		opacity: 0;
+		transform: translateY(-1.25em);
+	}
+	100% {
+		opacity: 1;
+		transform: translateY(0);
+	}
 }
 
 .details-animated[open] {
-  animation-name: fadeInDown;
-  animation-duration: 0.5s;
+	animation-name: fadeInDown;
+	animation-duration: 0.5s;
 }
 
 .card {
-  box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
-  border: none;
+	box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
+	border: none;
 
-  .comment-submit {
-      display: none;
-      position: absolute;
-      bottom: 12px;
-      right: 20px;
-      width: 60px;
-      text-align: center;
-      border-radius: 0 3px 3px 0;
-  }
+	.comment-submit {
+			display: none;
+			position: absolute;
+			bottom: 12px;
+			right: 20px;
+			width: 60px;
+			text-align: center;
+			border-radius: 0 3px 3px 0;
+	}
 }
 
 .touch .card {
-    input[name="comment"] {
-        padding-right: 70px;
-    }
+		input[name="comment"] {
+				padding-right: 70px;
+		}
 
-    .comment-submit {
-        display: block;
-    }
+		.comment-submit {
+				display: block;
+		}
 }
 
 .box-shadow {
-  box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
+	box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
 }
 
 .border-left-primary {
-  border-left: 3px solid $primary;
+	border-left: 3px solid $primary;
 }
 
 .settings-nav .nav-item.active .nav-link {
-  font-weight: bold !important;
+	font-weight: bold !important;
 }
 
 details summary::-webkit-details-marker {
-  display: none!important;
+	display: none!important;
 }
 
 .details-animated > summary {
-  display: flex;
-  flex-flow: column;
-  justify-content: center;
-  background-color: #ECF0F1;
-  padding-top: 50px;
-  padding-bottom: 50px;
-  text-align: center;
+	display: flex;
+	flex-flow: column;
+	justify-content: center;
+	background-color: #ECF0F1;
+	padding-top: 50px;
+	padding-bottom: 50px;
+	text-align: center;
 }
 
 @media (min-width: 720px) {
-  .details-animated > summary {
-    min-height: 600px;
-  }
+	.details-animated > summary {
+		min-height: 600px;
+	}
 }
 
 .details-animated[open] > summary {
-  display: none!important;
+	display: none!important;
 }
 
 .profile-avatar img {
-  object-fit: cover;
+	object-fit: cover;
 }
 
 .tt-menu {
-  padding: 0 !important;
-  border-radius: 0 0 0.25rem 0.25rem !important;
+	padding: 0 !important;
+	border-radius: 0 0 0.25rem 0.25rem !important;
 }
 
 .tt-dataset .alert {
-  border: 0 !important;
-  border-radius: 0 !important;
+	border: 0 !important;
+	border-radius: 0 !important;
 }
 
 .input-elevated {
-  font-size: 16px;
-  line-height: 1.5;
-  border: none;
-  background: #FFFFFF;
-  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.08);
-  border-radius: 5px;
-  padding: .5em 1em .5em .5em;
+	font-size: 16px;
+	line-height: 1.5;
+	border: none;
+	background: #FFFFFF;
+	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.08);
+	border-radius: 5px;
+	padding: .5em 1em .5em .5em;
 }
 
 .input-elevated::placeholder {
-  color: #838D99;
+	color: #838D99;
 }
 
 .input-elevated:focus {
-  outline: none;
-  box-shadow: 0 4px 10px 0 rgba(0,0,0,0.16);
+	outline: none;
+	box-shadow: 0 4px 10px 0 rgba(0,0,0,0.16);
 }
 
 .icon-wrapper {
-  display: inline-flex;
-  padding: 14px;
-  border-radius: 50%;
-  background: #10c5f8;
-  background: -webkit-gradient(linear,left top,right bottom,from(#6736dd),to(#10c5f8));
-  background: linear-gradient(to bottom right,#6736dd,#10c5f8);
+	display: inline-flex;
+	padding: 14px;
+	border-radius: 50%;
+	background: #10c5f8;
+	background: -webkit-gradient(linear,left top,right bottom,from(#6736dd),to(#10c5f8));
+	background: linear-gradient(to bottom right,#6736dd,#10c5f8);
 }
 
 .border-left-blue {
-  border-left: 3px solid #10c5f8;
+	border-left: 3px solid #10c5f8;
 }
 
 .b-dropdown {
-  padding:0 !important;
+	padding:0 !important;
 }
 
 .b-dropdown > button {
-  padding:0 !important;
+	padding:0 !important;
 }
 
 .lds-ring {
-  display: inline-block;
-  position: relative;
-  width: 64px;
-  height: 64px;
+	display: inline-block;
+	position: relative;
+	width: 64px;
+	height: 64px;
 }
 
 .lds-ring div {
-  box-sizing: border-box;
-  display: block;
-  position: absolute;
-  width: 51px;
-  height: 51px;
-  margin: 6px;
-  border: 6px solid #6c757d;
-  border-radius: 50%;
-  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
-  border-color: #6c757d transparent transparent transparent;
+	box-sizing: border-box;
+	display: block;
+	position: absolute;
+	width: 51px;
+	height: 51px;
+	margin: 6px;
+	border: 6px solid #6c757d;
+	border-radius: 50%;
+	animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
+	border-color: #6c757d transparent transparent transparent;
 }
 
 .lds-ring div:nth-child(1) {
-  animation-delay: -0.45s;
+	animation-delay: -0.45s;
 }
 
 .lds-ring div:nth-child(2) {
-  animation-delay: -0.3s;
+	animation-delay: -0.3s;
 }
 
 .lds-ring div:nth-child(3) {
-  animation-delay: -0.15s;
+	animation-delay: -0.15s;
 }
 
 @keyframes lds-ring {
-  0% {
-    transform: rotate(0deg);
-  }
-  100% {
-    transform: rotate(360deg);
-  }
+	0% {
+		transform: rotate(0deg);
+	}
+	100% {
+		transform: rotate(360deg);
+	}
 }
 
 .navbar .nav-notification.dropdown-toggle::after {
-  display: none;
+	display: none;
 }
 
 .navbar .dropdown .nav-notification-dropdown {
-  width:500px;
-  max-height: 300px;
-  overflow-y: scroll;
-  padding-top: 0;
-  padding-bottom: 0;
+	width:500px;
+	max-height: 300px;
+	overflow-y: scroll;
+	padding-top: 0;
+	padding-bottom: 0;
 }
 
 .nav-notification-dropdown .loader {
-  padding-top: 5rem;
-  padding-bottom: 5rem;
+	padding-top: 5rem;
+	padding-bottom: 5rem;
 }
 
 .timeline-sidenav.nav-pills .nav-link {
-  color: #6c757d;
+	color: #6c757d;
 }
 
 .timeline-sidenav.nav-pills .nav-link:hover {
-    background: rgba(0,0,0,0.04);
+		background: rgba(0,0,0,0.04);
 }
 
 .timeline-sidenav.nav-pills .nav-link.active,
 .timeline-sidenav.nav-pills .show > .nav-link {
-    color: #08d;
-    background: transparent;
-    border: 1px solid #08d;
+		color: #08d;
+		background: transparent;
+		border: 1px solid #08d;
 }
 
 .messages-page .bg-primary.text-white a {
-  color: #fff;
+	color: #fff;
 }
 
 .notification-tooltip .tooltip-inner {
-  font-weight: bold;
+	font-weight: bold;
 }
 
 #previewAvatar {
-    img {
-        max-width: 100%;
-        height: auto;
-    }
+		img {
+				max-width: 100%;
+				height: auto;
+		}
 }
 
 .img-thumbnail {
-    box-sizing: content-box;
+		box-sizing: content-box;
 }
 
 .media-drawer-filters img {
-    object-fit: contain;
+		object-fit: contain;
 }
 
 .reply-container {
-    .post-thumbnail {
-        object-fit: cover;
-    }
+		.post-thumbnail {
+				object-fit: cover;
+		}
 }
 
 #l-modal .modal-body,
 #s-modal .modal-body {
-  height: 60vh;
-  overflow-y: scroll;
+	height: 60vh;
+	overflow-y: scroll;
 }
 
 #l-modal .modal-content,
 #s-modal .modal-content {
-  border-radius: 0;
+	border-radius: 0;
 }
 
 .text-lighter {
-  color:#B8C2CC !important;
+	color:#B8C2CC !important;
 }
 
 .btn-outline-lighter {
-    color: #B8C2CC !important;
-    border-color: #B8C2CC !important;
+		color: #B8C2CC !important;
+		border-color: #B8C2CC !important;
 }
 
 .cursor-pointer {
-  cursor: pointer;
+	cursor: pointer;
 }
 
 .tooltip-notification .tooltip-inner {
-    max-width: 200px;
-    padding: 3px 8px;
-    color: #fff;
-    text-align: center;
-    /*background-color: #dc3545;*/
-    border-radius: .25rem;
+		max-width: 200px;
+		padding: 3px 8px;
+		color: #fff;
+		text-align: center;
+		/*background-color: #dc3545;*/
+		border-radius: .25rem;
 }
 
 .tooltip-notification .tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.bs-tooltip-top .arrow::before {
-    /*border-top-color: #dc3545; */
+		/*border-top-color: #dc3545; */
 }
 
 .carousel-control-prev-icon, .carousel-control-next-icon {
-    filter: drop-shadow(0px 0px 1px black);
+		filter: drop-shadow(0px 0px 1px black);
 }
 
 .VueCarousel:focus,
 .VueCarousel-navigation-button:focus,
 .VueCarousel-dot:focus,
 .VueCarousel-dot--active:focus {
-  outline: 0px !important;
+	outline: 0px !important;
 }
 
 .status-content > p:first-child {
-    display: inline;
+		display: inline;
 }
 
 .follow-modal {
-  max-width: 400px !important;
+	max-width: 400px !important;
 }
 
 .square-content {
-  img {
-    object-fit: cover !important;
-  }
+	img {
+		object-fit: cover !important;
+	}
 }
 
 .square .square-content {
-  canvas {
-    width: 100%;
-    height: 100%;
-  }
+	canvas {
+		width: 100%;
+		height: 100%;
+	}
 }
 
 .tribute-container {
-    position: absolute;
-    top: 0;
-    left: 0;
-    height: auto;
-    max-height: 300px;
-    min-width: 120px;
-    max-width: 500px;
-    overflow: auto;
-    display: block;
-    z-index: 999999;
-    border: 1px solid #ccc;
-    border-radius: 4px;
-    box-shadow: 0 1px 4px rgba(#000, 0.13);
-    
-    ul {
-        margin: 0;
-        margin-top: 2px;
-        padding: 0;
-        list-style: none;
-        background: #fff;
-        border-radius: 4px;
-        border: 1px solid rgba(#000, 0.13);
-        background-clip: padding-box;
-        overflow: hidden;
-    }
-
-    li {
-        color: #000;
-        padding: 5px 15px;
-        cursor: pointer;
-        font-size: 14px;
-        overflow-x: hidden !important;
-        
-        &.highlight,
-        &:hover {
-            background: #2c78bf;
-            color: #fff;
-        }
-        
-        &.no-match {
-            cursor: default;
-        }
-    }
-
-    .menu-highlighted {
-        font-weight: bold;
-    }
+		position: absolute;
+		top: 0;
+		left: 0;
+		height: auto;
+		max-height: 300px;
+		min-width: 120px;
+		max-width: 500px;
+		overflow: auto;
+		display: block;
+		z-index: 999999;
+		border: 1px solid #ccc;
+		border-radius: 4px;
+		box-shadow: 0 1px 4px rgba(#000, 0.13);
+		
+		ul {
+				margin: 0;
+				margin-top: 2px;
+				padding: 0;
+				list-style: none;
+				background: #fff;
+				border-radius: 4px;
+				border: 1px solid rgba(#000, 0.13);
+				background-clip: padding-box;
+				overflow: hidden;
+		}
+
+		li {
+				color: #000;
+				padding: 5px 15px;
+				cursor: pointer;
+				font-size: 14px;
+				overflow-x: hidden !important;
+				
+				&.highlight,
+				&:hover {
+						background: #2c78bf;
+						color: #fff;
+				}
+				
+				&.no-match {
+						cursor: default;
+				}
+		}
+
+		.menu-highlighted {
+				font-weight: bold;
+		}
 }

+ 108 - 0
resources/assets/sass/lib/ibmplexsans.scss

@@ -0,0 +1,108 @@
+/* cyrillic-ext */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 400;
+	font-display: swap;
+	src: url(/fonts/zYXgKVElMYYaJe8bpLHnCwDKhdzeFaxOedfTDw.woff2) format('woff2');
+	unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 400;
+	font-display: swap;
+	src: url(/fonts/zYXgKVElMYYaJe8bpLHnCwDKhdXeFaxOedfTDw.woff2) format('woff2');
+	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 400;
+	font-display: swap;
+	src: url(/fonts/zYXgKVElMYYaJe8bpLHnCwDKhdLeFaxOedfTDw.woff2) format('woff2');
+	unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 400;
+	font-display: swap;
+	src: url(/fonts/zYXgKVElMYYaJe8bpLHnCwDKhd7eFaxOedfTDw.woff2) format('woff2');
+	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 400;
+	font-display: swap;
+	src: url(/fonts/zYXgKVElMYYaJe8bpLHnCwDKhd_eFaxOedfTDw.woff2) format('woff2');
+	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 400;
+	font-display: swap;
+	src: url(/fonts/zYXgKVElMYYaJe8bpLHnCwDKhdHeFaxOedc.woff2) format('woff2');
+	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 600;
+	font-display: swap;
+	src: url(/fonts/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIxsdP3pBmtF8A.woff2) format('woff2');
+	unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 600;
+	font-display: swap;
+	src: url(/fonts/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIVsdP3pBmtF8A.woff2) format('woff2');
+	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 600;
+	font-display: swap;
+	src: url(/fonts/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIJsdP3pBmtF8A.woff2) format('woff2');
+	unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 600;
+	font-display: swap;
+	src: url(/fonts/zYX9KVElMYYaJe8bpLHnCwDKjQ76AI5sdP3pBmtF8A.woff2) format('woff2');
+	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 600;
+	font-display: swap;
+	src: url(/fonts/zYX9KVElMYYaJe8bpLHnCwDKjQ76AI9sdP3pBmtF8A.woff2) format('woff2');
+	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+	font-family: 'IBM Plex Sans';
+	font-style: normal;
+	font-weight: 600;
+	font-display: swap;
+	src: url(/fonts/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIFsdP3pBms.woff2) format('woff2');
+	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}

+ 136 - 0
resources/assets/sass/lib/placeholder-loading.scss

@@ -0,0 +1,136 @@
+/**
+ * placeholder-loading v0.5.0
+ * Author: Zalog (https://www.zalog.ro/)
+ * License: MIT
+ **/
+
+.ph-item {
+	position: relative;
+	display: flex;
+	flex-wrap: wrap;
+	margin-bottom: 30px;
+	padding: 30px 15px 15px 15px;
+	overflow: hidden;
+	direction: ltr;
+	background-color: #fff;
+	border: 1px solid #e6e6e6;
+	border-radius: 2px;
+}
+.ph-item,
+.ph-item *,
+.ph-item ::after,
+.ph-item ::before {
+	box-sizing: border-box;
+}
+.ph-item::before {
+	position: absolute;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	left: 50%;
+	z-index: 1;
+	width: 500%;
+	margin-left: -250%;
+	background: linear-gradient(to right, rgba(255, 255, 255, 0) 46%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 54%) 50% 50%;
+	-webkit-animation: phAnimation 0.8s linear infinite;
+					animation: phAnimation 0.8s linear infinite;
+	content: " ";
+	pointer-events: none;
+}
+.ph-item > * {
+	display: flex;
+	flex: 1 1 auto;
+	flex-flow: column;
+	margin-bottom: 15px;
+	padding-right: 15px;
+	padding-left: 15px;
+}
+
+.ph-row {
+	display: flex;
+	flex-wrap: wrap;
+	margin-top: -7.5px;
+}
+.ph-row div {
+	height: 10px;
+	margin-top: 7.5px;
+	background-color: #ced4da;
+}
+.ph-row .big, .ph-row.big div {
+	height: 20px;
+}
+.ph-row .empty {
+	background-color: rgba(255, 255, 255, 0);
+}
+
+.ph-col-2 {
+	flex: 0 0 16.6666666667%;
+}
+
+.ph-col-4 {
+	flex: 0 0 33.3333333333%;
+}
+
+.ph-col-6 {
+	flex: 0 0 50%;
+}
+
+.ph-col-8 {
+	flex: 0 0 66.6666666667%;
+}
+
+.ph-col-10 {
+	flex: 0 0 83.3333333333%;
+}
+
+.ph-col-12 {
+	flex: 0 0 100%;
+}
+
+[class*=ph-col] {
+	direction: ltr;
+}
+[class*=ph-col] > * + .ph-row {
+	margin-top: 0;
+}
+[class*=ph-col] > * + * {
+	margin-top: 7.5px;
+}
+
+.ph-avatar {
+	position: relative;
+	width: 100%;
+	min-width: 60px;
+	overflow: hidden;
+	background-color: #ced4da;
+	border-radius: 50%;
+}
+.ph-avatar::before {
+	display: block;
+	padding-top: 100%;
+	content: " ";
+}
+
+.ph-picture {
+	width: 100%;
+	height: 120px;
+	background-color: #ced4da;
+}
+
+@-webkit-keyframes phAnimation {
+	0% {
+		transform: translate3d(-30%, 0, 0);
+	}
+	100% {
+		transform: translate3d(30%, 0, 0);
+	}
+}
+
+@keyframes phAnimation {
+	0% {
+		transform: translate3d(-30%, 0, 0);
+	}
+	100% {
+		transform: translate3d(30%, 0, 0);
+	}
+}

+ 49 - 0
resources/assets/sass/spa.scss

@@ -0,0 +1,49 @@
+@import "lib/ibmplexsans";
+
+body {
+	background: rgba(243,244,246,1);
+	font-family: 'IBM Plex Sans', sans-serif;
+}
+
+.primary {
+	color: #3B82F6;
+}
+
+.web-wrapper {
+	margin-bottom: 10rem;
+}
+
+.jumbotron {
+	border-radius: 18px;
+}
+
+.rounded-px {
+	border-radius: 18px;
+}
+
+.doc-body {
+	p:last-child {
+		margin-bottom: 0;
+	}
+}
+
+.sticky-top {
+	z-index: 2;
+}
+
+.container-fluid {
+	max-width: 1440px !important;
+}
+
+.text-lighter {
+	color: #94a3b8 !important;
+}
+
+.badge-primary {
+	background-color: #3B82F6;
+}
+
+.btn-primary.primary {
+	background-color: #3B82F6;
+	color: #fff !important;
+}