ALPHA 3.0.4
32
public/assets/css/calendar.css
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.calendar-head{
|
||||
display: flex;
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
}
|
||||
.calendar-container{
|
||||
display: table-cell;;
|
||||
width: 14%;
|
||||
height: 12rem;
|
||||
box-shadow:
|
||||
2px 0 0 0 #e6e6e6,
|
||||
0 2px 0 0 #e6e6e6,
|
||||
2px 2px 0 0 #e6e6e6, /* Just to fix the corner */
|
||||
2px 0 0 0 #e6e6e6 inset,
|
||||
0 2px 0 0 #e6e6e6 inset;
|
||||
}
|
||||
.calendar-row{
|
||||
display: flex;
|
||||
}
|
||||
.calendar-body{
|
||||
margin:auto;
|
||||
}
|
||||
.calendar-date{
|
||||
margin-left: 2rem;
|
||||
margin-top: 0.8rem;
|
||||
}
|
||||
.calendar-text{
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.calendar_event_name{
|
||||
display: flex;
|
||||
}
|
||||
BIN
public/assets/ecc/.DS_Store
vendored
Normal file
BIN
public/assets/ecc/assets/.DS_Store
vendored
Normal file
BIN
public/assets/ecc/assets/css/.DS_Store
vendored
Normal file
6
public/assets/ecc/assets/css/animate.min.css
vendored
Normal file
5
public/assets/ecc/assets/css/bootstrap.min.css
vendored
Normal file
70
public/assets/ecc/assets/css/demo.css
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
@media (min-width: 992px){
|
||||
.typo-line{
|
||||
padding-left: 140px;
|
||||
margin-bottom: 40px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.typo-line .category{
|
||||
transform: translateY(-50%);
|
||||
top: 50%;
|
||||
left: 0px;
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
.icon-section {
|
||||
margin: 0 0 3em;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
}
|
||||
.icon-container {
|
||||
width: 240px;
|
||||
padding: .7em 0;
|
||||
float: left;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
}
|
||||
.icon-container [class^="ti-"],
|
||||
.icon-container [class*=" ti-"] {
|
||||
color: #000;
|
||||
position: absolute;
|
||||
margin-top: 3px;
|
||||
transition: .3s;
|
||||
}
|
||||
.icon-container:hover [class^="ti-"],
|
||||
.icon-container:hover [class*=" ti-"] {
|
||||
font-size: 2.2em;
|
||||
margin-top: -5px;
|
||||
}
|
||||
.icon-container:hover .icon-name {
|
||||
color: #000;
|
||||
}
|
||||
.icon-name {
|
||||
color: #aaa;
|
||||
margin-left: 35px;
|
||||
font-size: .8em;
|
||||
transition: .3s;
|
||||
}
|
||||
.icon-container:hover .icon-name {
|
||||
margin-left: 45px;
|
||||
}
|
||||
|
||||
.places-buttons .btn{
|
||||
margin-bottom: 30px
|
||||
}
|
||||
.sidebar .nav > li.active-pro{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
bottom: 10px;
|
||||
}
|
||||
.sidebar .nav > li.active-pro a{
|
||||
background: rgba(255, 255, 255, 0.14);
|
||||
opacity: 1;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.table-upgrade td:nth-child(2),
|
||||
.table-upgrade td:nth-child(3){
|
||||
text-align: center;
|
||||
}
|
||||
4653
public/assets/ecc/assets/css/main.css
vendored
36
public/assets/ecc/assets/css/noscript.css
vendored
@@ -1,36 +0,0 @@
|
||||
@import url(font-awesome.min.css);
|
||||
|
||||
/*
|
||||
Massively by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
/* Wrapper */
|
||||
|
||||
#wrapper {
|
||||
background-color: #212931;
|
||||
background-image: url("../../images/overlay.png"), linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("../../images/bg.jpg");
|
||||
background-size: auto, auto, 100% auto;
|
||||
background-position: center, center, top center;
|
||||
background-repeat: repeat, no-repeat, no-repeat;
|
||||
background-attachment: fixed, fixed, fixed;
|
||||
}
|
||||
|
||||
#wrapper.fade-in:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Intro */
|
||||
|
||||
body.is-preload #intro {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
body.is-preload #intro:not(.hidden) + #header + #nav {
|
||||
-moz-transform: none;
|
||||
-webkit-transform: none;
|
||||
-ms-transform: none;
|
||||
transform: none;
|
||||
opacity: 1;
|
||||
}
|
||||
2764
public/assets/ecc/assets/css/paper-dashboard.css
vendored
Normal file
1081
public/assets/ecc/assets/css/themify-icons.css
vendored
Normal file
BIN
public/assets/ecc/assets/fonts/.DS_Store
vendored
Normal file
|
Before Width: | Height: | Size: 434 KiB |
BIN
public/assets/ecc/assets/fonts/themify.eot
Normal file
362
public/assets/ecc/assets/fonts/themify.svg
Normal file
|
After Width: | Height: | Size: 229 KiB |
BIN
public/assets/ecc/assets/fonts/themify.ttf
Normal file
BIN
public/assets/ecc/assets/fonts/themify.woff
Normal file
BIN
public/assets/ecc/assets/img/.DS_Store
vendored
Normal file
BIN
public/assets/ecc/assets/img/ECCLOGO.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/assets/ecc/assets/img/apple-icon.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/assets/ecc/assets/img/background.jpg
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
public/assets/ecc/assets/img/background/.DS_Store
vendored
Normal file
BIN
public/assets/ecc/assets/img/faces/.DS_Store
vendored
Normal file
BIN
public/assets/ecc/assets/img/faces/face-0.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/assets/ecc/assets/img/faces/face-1.jpg
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
public/assets/ecc/assets/img/faces/face-2.jpg
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
public/assets/ecc/assets/img/faces/face-3.jpg
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/assets/ecc/assets/img/favicon.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/assets/ecc/assets/img/new_logo.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
public/assets/ecc/assets/img/tables/.DS_Store
vendored
Normal file
BIN
public/assets/ecc/assets/img/tim_80x80.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
public/assets/ecc/assets/js/.DS_Store
vendored
Normal file
248
public/assets/ecc/assets/js/bootstrap-checkbox-radio.js
vendored
Normal file
@@ -0,0 +1,248 @@
|
||||
!function ($) {
|
||||
|
||||
/* CHECKBOX PUBLIC CLASS DEFINITION
|
||||
* ============================== */
|
||||
|
||||
var Checkbox = function (element, options) {
|
||||
this.init(element, options);
|
||||
}
|
||||
|
||||
Checkbox.prototype = {
|
||||
|
||||
constructor: Checkbox
|
||||
|
||||
, init: function (element, options) {
|
||||
var $el = this.$element = $(element)
|
||||
|
||||
this.options = $.extend({}, $.fn.checkbox.defaults, options);
|
||||
$el.before(this.options.template);
|
||||
this.setState();
|
||||
}
|
||||
|
||||
, setState: function () {
|
||||
var $el = this.$element
|
||||
, $parent = $el.closest('.checkbox');
|
||||
|
||||
$el.prop('disabled') && $parent.addClass('disabled');
|
||||
$el.prop('checked') && $parent.addClass('checked');
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
var ch = 'checked'
|
||||
, $el = this.$element
|
||||
, $parent = $el.closest('.checkbox')
|
||||
, checked = $el.prop(ch)
|
||||
, e = $.Event('toggle')
|
||||
|
||||
if ($el.prop('disabled') == false) {
|
||||
$parent.toggleClass(ch) && checked ? $el.removeAttr(ch) : $el.prop(ch, ch);
|
||||
$el.trigger(e).trigger('change');
|
||||
}
|
||||
}
|
||||
|
||||
, setCheck: function (option) {
|
||||
var d = 'disabled'
|
||||
, ch = 'checked'
|
||||
, $el = this.$element
|
||||
, $parent = $el.closest('.checkbox')
|
||||
, checkAction = option == 'check' ? true : false
|
||||
, e = $.Event(option)
|
||||
|
||||
$parent[checkAction ? 'addClass' : 'removeClass' ](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
|
||||
$el.trigger(e).trigger('change');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* CHECKBOX PLUGIN DEFINITION
|
||||
* ======================== */
|
||||
|
||||
var old = $.fn.checkbox
|
||||
|
||||
$.fn.checkbox = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('checkbox')
|
||||
, options = $.extend({}, $.fn.checkbox.defaults, $this.data(), typeof option == 'object' && option);
|
||||
if (!data) $this.data('checkbox', (data = new Checkbox(this, options)));
|
||||
if (option == 'toggle') data.toggle()
|
||||
if (option == 'check' || option == 'uncheck') data.setCheck(option)
|
||||
else if (option) data.setState();
|
||||
});
|
||||
}
|
||||
|
||||
$.fn.checkbox.defaults = {
|
||||
template: '<span class="icons"><span class="first-icon fa fa-square fa-base"></span><span class="second-icon fa fa-check-square fa-base"></span></span>'
|
||||
}
|
||||
|
||||
|
||||
/* CHECKBOX NO CONFLICT
|
||||
* ================== */
|
||||
|
||||
$.fn.checkbox.noConflict = function () {
|
||||
$.fn.checkbox = old;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/* CHECKBOX DATA-API
|
||||
* =============== */
|
||||
|
||||
$(document).on('click.checkbox.data-api', '[data-toggle^=checkbox], .checkbox', function (e) {
|
||||
var $checkbox = $(e.target);
|
||||
if (e.target.tagName != "A") {
|
||||
e && e.preventDefault() && e.stopPropagation();
|
||||
if (!$checkbox.hasClass('checkbox')) $checkbox = $checkbox.closest('.checkbox');
|
||||
$checkbox.find(':checkbox').checkbox('toggle');
|
||||
}
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$('input[type="checkbox"]').each(function () {
|
||||
var $checkbox = $(this);
|
||||
$checkbox.checkbox();
|
||||
});
|
||||
});
|
||||
|
||||
}(window.jQuery);
|
||||
|
||||
/* =============================================================
|
||||
* flatui-radio v0.0.3
|
||||
* ============================================================ */
|
||||
|
||||
!function ($) {
|
||||
|
||||
/* RADIO PUBLIC CLASS DEFINITION
|
||||
* ============================== */
|
||||
|
||||
var Radio = function (element, options) {
|
||||
this.init(element, options);
|
||||
}
|
||||
|
||||
Radio.prototype = {
|
||||
|
||||
constructor: Radio
|
||||
|
||||
, init: function (element, options) {
|
||||
var $el = this.$element = $(element)
|
||||
|
||||
this.options = $.extend({}, $.fn.radio.defaults, options);
|
||||
$el.before(this.options.template);
|
||||
this.setState();
|
||||
}
|
||||
|
||||
, setState: function () {
|
||||
var $el = this.$element
|
||||
, $parent = $el.closest('.radio');
|
||||
|
||||
$el.prop('disabled') && $parent.addClass('disabled');
|
||||
$el.prop('checked') && $parent.addClass('checked');
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
var d = 'disabled'
|
||||
, ch = 'checked'
|
||||
, $el = this.$element
|
||||
, checked = $el.prop(ch)
|
||||
, $parent = $el.closest('.radio')
|
||||
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
|
||||
, $elemGroup = $parentWrap.find(':radio[name="' + $el.attr('name') + '"]')
|
||||
, e = $.Event('toggle')
|
||||
|
||||
if ($el.prop(d) == false) {
|
||||
$elemGroup.not($el).each(function () {
|
||||
var $el = $(this)
|
||||
, $parent = $(this).closest('.radio');
|
||||
|
||||
if ($el.prop(d) == false) {
|
||||
$parent.removeClass(ch) && $el.removeAttr(ch).trigger('change');
|
||||
}
|
||||
});
|
||||
|
||||
if (checked == false) $parent.addClass(ch) && $el.prop(ch, true);
|
||||
$el.trigger(e);
|
||||
|
||||
if (checked !== $el.prop(ch)) {
|
||||
$el.trigger('change');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
, setCheck: function (option) {
|
||||
var ch = 'checked'
|
||||
, $el = this.$element
|
||||
, $parent = $el.closest('.radio')
|
||||
, checkAction = option == 'check' ? true : false
|
||||
, checked = $el.prop(ch)
|
||||
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
|
||||
, $elemGroup = $parentWrap.find(':radio[name="' + $el['attr']('name') + '"]')
|
||||
, e = $.Event(option)
|
||||
|
||||
$elemGroup.not($el).each(function () {
|
||||
var $el = $(this)
|
||||
, $parent = $(this).closest('.radio');
|
||||
|
||||
$parent.removeClass(ch) && $el.removeAttr(ch);
|
||||
});
|
||||
|
||||
$parent[checkAction ? 'addClass' : 'removeClass'](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
|
||||
$el.trigger(e);
|
||||
|
||||
if (checked !== $el.prop(ch)) {
|
||||
$el.trigger('change');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* RADIO PLUGIN DEFINITION
|
||||
* ======================== */
|
||||
|
||||
var old = $.fn.radio
|
||||
|
||||
$.fn.radio = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('radio')
|
||||
, options = $.extend({}, $.fn.radio.defaults, $this.data(), typeof option == 'object' && option);
|
||||
if (!data) $this.data('radio', (data = new Radio(this, options)));
|
||||
if (option == 'toggle') data.toggle()
|
||||
if (option == 'check' || option == 'uncheck') data.setCheck(option)
|
||||
else if (option) data.setState();
|
||||
});
|
||||
}
|
||||
|
||||
$.fn.radio.defaults = {
|
||||
template: '<span class="icons"><span class="first-icon fa fa-circle-o fa-base"></span><span class="second-icon fa fa-dot-circle-o fa-base"></span></span>'
|
||||
}
|
||||
|
||||
|
||||
/* RADIO NO CONFLICT
|
||||
* ================== */
|
||||
|
||||
$.fn.radio.noConflict = function () {
|
||||
$.fn.radio = old;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/* RADIO DATA-API
|
||||
* =============== */
|
||||
|
||||
$(document).on('click.radio.data-api', '[data-toggle^=radio], .radio', function (e) {
|
||||
var $radio = $(e.target);
|
||||
e && e.preventDefault() && e.stopPropagation();
|
||||
if (!$radio.hasClass('radio')) $radio = $radio.closest('.radio');
|
||||
$radio.find(':radio').radio('toggle');
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$('input[type="radio"]').each(function () {
|
||||
var $radio = $(this);
|
||||
$radio.radio();
|
||||
});
|
||||
});
|
||||
|
||||
}(window.jQuery);
|
||||
404
public/assets/ecc/assets/js/bootstrap-notify.js
vendored
Normal file
@@ -0,0 +1,404 @@
|
||||
/*
|
||||
|
||||
|
||||
|
||||
Creative Tim Modifications
|
||||
|
||||
Lines: 239, 240 was changed from top: 5px to top: 50% and we added margin-top: -13px. In this way the close button will be aligned vertically
|
||||
Line:242 - modified when the icon is set, we add the class "alert-with-icon", so there will be enough space for the icon.
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Project: Bootstrap Notify = v3.1.5
|
||||
* Description: Turns standard Bootstrap alerts into "Growl-like" notifications.
|
||||
* Author: Mouse0270 aka Robert McIntosh
|
||||
* License: MIT License
|
||||
* Website: https://github.com/mouse0270/bootstrap-growl
|
||||
*/
|
||||
|
||||
/* global define:false, require: false, jQuery:false */
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(['jquery'], factory);
|
||||
} else if (typeof exports === 'object') {
|
||||
// Node/CommonJS
|
||||
factory(require('jquery'));
|
||||
} else {
|
||||
// Browser globals
|
||||
factory(jQuery);
|
||||
}
|
||||
}(function ($) {
|
||||
// Create the defaults once
|
||||
var defaults = {
|
||||
element: 'body',
|
||||
position: null,
|
||||
type: "info",
|
||||
allow_dismiss: true,
|
||||
allow_duplicates: true,
|
||||
newest_on_top: false,
|
||||
showProgressbar: false,
|
||||
placement: {
|
||||
from: "top",
|
||||
align: "right"
|
||||
},
|
||||
offset: 20,
|
||||
spacing: 10,
|
||||
z_index: 1031,
|
||||
delay: 5000,
|
||||
timer: 1000,
|
||||
url_target: '_blank',
|
||||
mouse_over: null,
|
||||
animate: {
|
||||
enter: 'animated fadeInDown',
|
||||
exit: 'animated fadeOutUp'
|
||||
},
|
||||
onShow: null,
|
||||
onShown: null,
|
||||
onClose: null,
|
||||
onClosed: null,
|
||||
icon_type: 'class',
|
||||
template: '<div data-notify="container" class="col-xs-11 col-sm-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>'
|
||||
};
|
||||
|
||||
String.format = function () {
|
||||
var str = arguments[0];
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
str = str.replace(RegExp("\\{" + (i - 1) + "\\}", "gm"), arguments[i]);
|
||||
}
|
||||
return str;
|
||||
};
|
||||
|
||||
function isDuplicateNotification(notification) {
|
||||
var isDupe = false;
|
||||
|
||||
$('[data-notify="container"]').each(function (i, el) {
|
||||
var $el = $(el);
|
||||
var title = $el.find('[data-notify="title"]').text().trim();
|
||||
var message = $el.find('[data-notify="message"]').html().trim();
|
||||
|
||||
// The input string might be different than the actual parsed HTML string!
|
||||
// (<br> vs <br /> for example)
|
||||
// So we have to force-parse this as HTML here!
|
||||
var isSameTitle = title === $("<div>" + notification.settings.content.title + "</div>").html().trim();
|
||||
var isSameMsg = message === $("<div>" + notification.settings.content.message + "</div>").html().trim();
|
||||
var isSameType = $el.hasClass('alert-' + notification.settings.type);
|
||||
|
||||
if (isSameTitle && isSameMsg && isSameType) {
|
||||
//we found the dupe. Set the var and stop checking.
|
||||
isDupe = true;
|
||||
}
|
||||
return !isDupe;
|
||||
});
|
||||
|
||||
return isDupe;
|
||||
}
|
||||
|
||||
function Notify(element, content, options) {
|
||||
// Setup Content of Notify
|
||||
var contentObj = {
|
||||
content: {
|
||||
message: typeof content === 'object' ? content.message : content,
|
||||
title: content.title ? content.title : '',
|
||||
icon: content.icon ? content.icon : '',
|
||||
url: content.url ? content.url : '#',
|
||||
target: content.target ? content.target : '-'
|
||||
}
|
||||
};
|
||||
|
||||
options = $.extend(true, {}, contentObj, options);
|
||||
this.settings = $.extend(true, {}, defaults, options);
|
||||
this._defaults = defaults;
|
||||
if (this.settings.content.target === "-") {
|
||||
this.settings.content.target = this.settings.url_target;
|
||||
}
|
||||
this.animations = {
|
||||
start: 'webkitAnimationStart oanimationstart MSAnimationStart animationstart',
|
||||
end: 'webkitAnimationEnd oanimationend MSAnimationEnd animationend'
|
||||
};
|
||||
|
||||
if (typeof this.settings.offset === 'number') {
|
||||
this.settings.offset = {
|
||||
x: this.settings.offset,
|
||||
y: this.settings.offset
|
||||
};
|
||||
}
|
||||
|
||||
//if duplicate messages are not allowed, then only continue if this new message is not a duplicate of one that it already showing
|
||||
if (this.settings.allow_duplicates || (!this.settings.allow_duplicates && !isDuplicateNotification(this))) {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
|
||||
$.extend(Notify.prototype, {
|
||||
init: function () {
|
||||
var self = this;
|
||||
|
||||
this.buildNotify();
|
||||
if (this.settings.content.icon) {
|
||||
this.setIcon();
|
||||
}
|
||||
if (this.settings.content.url != "#") {
|
||||
this.styleURL();
|
||||
}
|
||||
this.styleDismiss();
|
||||
this.placement();
|
||||
this.bind();
|
||||
|
||||
this.notify = {
|
||||
$ele: this.$ele,
|
||||
update: function (command, update) {
|
||||
var commands = {};
|
||||
if (typeof command === "string") {
|
||||
commands[command] = update;
|
||||
} else {
|
||||
commands = command;
|
||||
}
|
||||
for (var cmd in commands) {
|
||||
switch (cmd) {
|
||||
case "type":
|
||||
this.$ele.removeClass('alert-' + self.settings.type);
|
||||
this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass('progress-bar-' + self.settings.type);
|
||||
self.settings.type = commands[cmd];
|
||||
this.$ele.addClass('alert-' + commands[cmd]).find('[data-notify="progressbar"] > .progress-bar').addClass('progress-bar-' + commands[cmd]);
|
||||
break;
|
||||
case "icon":
|
||||
var $icon = this.$ele.find('[data-notify="icon"]');
|
||||
if (self.settings.icon_type.toLowerCase() === 'class') {
|
||||
$icon.removeClass(self.settings.content.icon).addClass(commands[cmd]);
|
||||
} else {
|
||||
if (!$icon.is('img')) {
|
||||
$icon.find('img');
|
||||
}
|
||||
$icon.attr('src', commands[cmd]);
|
||||
}
|
||||
break;
|
||||
case "progress":
|
||||
var newDelay = self.settings.delay - (self.settings.delay * (commands[cmd] / 100));
|
||||
this.$ele.data('notify-delay', newDelay);
|
||||
this.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', commands[cmd]).css('width', commands[cmd] + '%');
|
||||
break;
|
||||
case "url":
|
||||
this.$ele.find('[data-notify="url"]').attr('href', commands[cmd]);
|
||||
break;
|
||||
case "target":
|
||||
this.$ele.find('[data-notify="url"]').attr('target', commands[cmd]);
|
||||
break;
|
||||
default:
|
||||
this.$ele.find('[data-notify="' + cmd + '"]').html(commands[cmd]);
|
||||
}
|
||||
}
|
||||
var posX = this.$ele.outerHeight() + parseInt(self.settings.spacing) + parseInt(self.settings.offset.y);
|
||||
self.reposition(posX);
|
||||
},
|
||||
close: function () {
|
||||
self.close();
|
||||
}
|
||||
};
|
||||
|
||||
},
|
||||
buildNotify: function () {
|
||||
var content = this.settings.content;
|
||||
this.$ele = $(String.format(this.settings.template, this.settings.type, content.title, content.message, content.url, content.target));
|
||||
this.$ele.attr('data-notify-position', this.settings.placement.from + '-' + this.settings.placement.align);
|
||||
if (!this.settings.allow_dismiss) {
|
||||
this.$ele.find('[data-notify="dismiss"]').css('display', 'none');
|
||||
}
|
||||
if ((this.settings.delay <= 0 && !this.settings.showProgressbar) || !this.settings.showProgressbar) {
|
||||
this.$ele.find('[data-notify="progressbar"]').remove();
|
||||
}
|
||||
},
|
||||
setIcon: function () {
|
||||
|
||||
this.$ele.addClass('alert-with-icon');
|
||||
|
||||
if (this.settings.icon_type.toLowerCase() === 'class') {
|
||||
this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon);
|
||||
} else {
|
||||
if (this.$ele.find('[data-notify="icon"]').is('img')) {
|
||||
this.$ele.find('[data-notify="icon"]').attr('src', this.settings.content.icon);
|
||||
} else {
|
||||
this.$ele.find('[data-notify="icon"]').append('<img src="' + this.settings.content.icon + '" alt="Notify Icon" />');
|
||||
}
|
||||
}
|
||||
},
|
||||
styleDismiss: function () {
|
||||
this.$ele.find('[data-notify="dismiss"]').css({
|
||||
position: 'absolute',
|
||||
right: '10px',
|
||||
top: '50%',
|
||||
marginTop: '-13px',
|
||||
zIndex: this.settings.z_index + 2
|
||||
});
|
||||
},
|
||||
styleURL: function () {
|
||||
this.$ele.find('[data-notify="url"]').css({
|
||||
backgroundImage: 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)',
|
||||
height: '100%',
|
||||
left: 0,
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
width: '100%',
|
||||
zIndex: this.settings.z_index + 1
|
||||
});
|
||||
},
|
||||
placement: function () {
|
||||
var self = this,
|
||||
offsetAmt = this.settings.offset.y,
|
||||
css = {
|
||||
display: 'inline-block',
|
||||
margin: '0px auto',
|
||||
position: this.settings.position ? this.settings.position : (this.settings.element === 'body' ? 'fixed' : 'absolute'),
|
||||
transition: 'all .5s ease-in-out',
|
||||
zIndex: this.settings.z_index
|
||||
},
|
||||
hasAnimation = false,
|
||||
settings = this.settings;
|
||||
|
||||
$('[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])').each(function () {
|
||||
offsetAmt = Math.max(offsetAmt, parseInt($(this).css(settings.placement.from)) + parseInt($(this).outerHeight()) + parseInt(settings.spacing));
|
||||
});
|
||||
if (this.settings.newest_on_top === true) {
|
||||
offsetAmt = this.settings.offset.y;
|
||||
}
|
||||
css[this.settings.placement.from] = offsetAmt + 'px';
|
||||
|
||||
switch (this.settings.placement.align) {
|
||||
case "left":
|
||||
case "right":
|
||||
css[this.settings.placement.align] = this.settings.offset.x + 'px';
|
||||
break;
|
||||
case "center":
|
||||
css.left = 0;
|
||||
css.right = 0;
|
||||
break;
|
||||
}
|
||||
this.$ele.css(css).addClass(this.settings.animate.enter);
|
||||
$.each(Array('webkit-', 'moz-', 'o-', 'ms-', ''), function (index, prefix) {
|
||||
self.$ele[0].style[prefix + 'AnimationIterationCount'] = 1;
|
||||
});
|
||||
|
||||
$(this.settings.element).append(this.$ele);
|
||||
|
||||
if (this.settings.newest_on_top === true) {
|
||||
offsetAmt = (parseInt(offsetAmt) + parseInt(this.settings.spacing)) + this.$ele.outerHeight();
|
||||
this.reposition(offsetAmt);
|
||||
}
|
||||
|
||||
if ($.isFunction(self.settings.onShow)) {
|
||||
self.settings.onShow.call(this.$ele);
|
||||
}
|
||||
|
||||
this.$ele.one(this.animations.start, function () {
|
||||
hasAnimation = true;
|
||||
}).one(this.animations.end, function () {
|
||||
if ($.isFunction(self.settings.onShown)) {
|
||||
self.settings.onShown.call(this);
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(function () {
|
||||
if (!hasAnimation) {
|
||||
if ($.isFunction(self.settings.onShown)) {
|
||||
self.settings.onShown.call(this);
|
||||
}
|
||||
}
|
||||
}, 600);
|
||||
},
|
||||
bind: function () {
|
||||
var self = this;
|
||||
|
||||
this.$ele.find('[data-notify="dismiss"]').on('click', function () {
|
||||
self.close();
|
||||
});
|
||||
|
||||
this.$ele.mouseover(function () {
|
||||
$(this).data('data-hover', "true");
|
||||
}).mouseout(function () {
|
||||
$(this).data('data-hover', "false");
|
||||
});
|
||||
this.$ele.data('data-hover', "false");
|
||||
|
||||
if (this.settings.delay > 0) {
|
||||
self.$ele.data('notify-delay', self.settings.delay);
|
||||
var timer = setInterval(function () {
|
||||
var delay = parseInt(self.$ele.data('notify-delay')) - self.settings.timer;
|
||||
if ((self.$ele.data('data-hover') === 'false' && self.settings.mouse_over === "pause") || self.settings.mouse_over != "pause") {
|
||||
var percent = ((self.settings.delay - delay) / self.settings.delay) * 100;
|
||||
self.$ele.data('notify-delay', delay);
|
||||
self.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', percent).css('width', percent + '%');
|
||||
}
|
||||
if (delay <= -(self.settings.timer)) {
|
||||
clearInterval(timer);
|
||||
self.close();
|
||||
}
|
||||
}, self.settings.timer);
|
||||
}
|
||||
},
|
||||
close: function () {
|
||||
var self = this,
|
||||
posX = parseInt(this.$ele.css(this.settings.placement.from)),
|
||||
hasAnimation = false;
|
||||
|
||||
this.$ele.data('closing', 'true').addClass(this.settings.animate.exit);
|
||||
self.reposition(posX);
|
||||
|
||||
if ($.isFunction(self.settings.onClose)) {
|
||||
self.settings.onClose.call(this.$ele);
|
||||
}
|
||||
|
||||
this.$ele.one(this.animations.start, function () {
|
||||
hasAnimation = true;
|
||||
}).one(this.animations.end, function () {
|
||||
$(this).remove();
|
||||
if ($.isFunction(self.settings.onClosed)) {
|
||||
self.settings.onClosed.call(this);
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(function () {
|
||||
if (!hasAnimation) {
|
||||
self.$ele.remove();
|
||||
if (self.settings.onClosed) {
|
||||
self.settings.onClosed(self.$ele);
|
||||
}
|
||||
}
|
||||
}, 600);
|
||||
},
|
||||
reposition: function (posX) {
|
||||
var self = this,
|
||||
notifies = '[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])',
|
||||
$elements = this.$ele.nextAll(notifies);
|
||||
if (this.settings.newest_on_top === true) {
|
||||
$elements = this.$ele.prevAll(notifies);
|
||||
}
|
||||
$elements.each(function () {
|
||||
$(this).css(self.settings.placement.from, posX);
|
||||
posX = (parseInt(posX) + parseInt(self.settings.spacing)) + $(this).outerHeight();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$.notify = function (content, options) {
|
||||
var plugin = new Notify(this, content, options);
|
||||
return plugin.notify;
|
||||
};
|
||||
$.notifyDefaults = function (options) {
|
||||
defaults = $.extend(true, {}, defaults, options);
|
||||
return defaults;
|
||||
};
|
||||
$.notifyClose = function (command) {
|
||||
if (typeof command === "undefined" || command === "all") {
|
||||
$('[data-notify]').find('[data-notify="dismiss"]').trigger('click');
|
||||
} else {
|
||||
$('[data-notify-position="' + command + '"]').find('[data-notify="dismiss"]').trigger('click');
|
||||
}
|
||||
};
|
||||
|
||||
}));
|
||||
7
public/assets/ecc/assets/js/bootstrap.min.js
vendored
Normal file
@@ -1,2 +0,0 @@
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
|
||||
2
public/assets/ecc/assets/js/browser.min.js
vendored
@@ -1,2 +0,0 @@
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
|
||||
9
public/assets/ecc/assets/js/chartist.min.js
vendored
Normal file
315
public/assets/ecc/assets/js/demo.js
vendored
Normal file
@@ -0,0 +1,315 @@
|
||||
type = ['','info','success','warning','danger'];
|
||||
|
||||
|
||||
demo = {
|
||||
initPickColor: function(){
|
||||
$('.pick-class-label').click(function(){
|
||||
var new_class = $(this).attr('new-class');
|
||||
var old_class = $('#display-buttons').attr('data-class');
|
||||
var display_div = $('#display-buttons');
|
||||
if(display_div.length) {
|
||||
var display_buttons = display_div.find('.btn');
|
||||
display_buttons.removeClass(old_class);
|
||||
display_buttons.addClass(new_class);
|
||||
display_div.attr('data-class', new_class);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
initChartist: function(){
|
||||
|
||||
var dataSales = {
|
||||
labels: ['9:00AM', '12:00AM', '3:00PM', '6:00PM', '9:00PM', '12:00PM', '3:00AM', '6:00AM'],
|
||||
series: [
|
||||
[287, 385, 490, 562, 594, 626, 698, 895, 952],
|
||||
[67, 152, 193, 240, 387, 435, 535, 642, 744],
|
||||
[23, 113, 67, 108, 190, 239, 307, 410, 410]
|
||||
]
|
||||
};
|
||||
|
||||
var optionsSales = {
|
||||
lineSmooth: false,
|
||||
low: 0,
|
||||
high: 1000,
|
||||
showArea: true,
|
||||
height: "245px",
|
||||
axisX: {
|
||||
showGrid: false,
|
||||
},
|
||||
lineSmooth: Chartist.Interpolation.simple({
|
||||
divisor: 3
|
||||
}),
|
||||
showLine: true,
|
||||
showPoint: false,
|
||||
};
|
||||
|
||||
var responsiveSales = [
|
||||
['screen and (max-width: 640px)', {
|
||||
axisX: {
|
||||
labelInterpolationFnc: function (value) {
|
||||
return value[0];
|
||||
}
|
||||
}
|
||||
}]
|
||||
];
|
||||
|
||||
Chartist.Line('#chartHours', dataSales, optionsSales, responsiveSales);
|
||||
|
||||
|
||||
var data = {
|
||||
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
series: [
|
||||
[542, 543, 520, 680, 653, 753, 326, 434, 568, 610, 756, 895],
|
||||
[230, 293, 380, 480, 503, 553, 600, 664, 698, 710, 736, 795]
|
||||
]
|
||||
};
|
||||
|
||||
var options = {
|
||||
seriesBarDistance: 10,
|
||||
axisX: {
|
||||
showGrid: false
|
||||
},
|
||||
height: "245px"
|
||||
};
|
||||
|
||||
var responsiveOptions = [
|
||||
['screen and (max-width: 640px)', {
|
||||
seriesBarDistance: 5,
|
||||
axisX: {
|
||||
labelInterpolationFnc: function (value) {
|
||||
return value[0];
|
||||
}
|
||||
}
|
||||
}]
|
||||
];
|
||||
|
||||
Chartist.Line('#chartActivity', data, options, responsiveOptions);
|
||||
|
||||
var dataPreferences = {
|
||||
series: [
|
||||
[25, 30, 20, 25]
|
||||
]
|
||||
};
|
||||
|
||||
var optionsPreferences = {
|
||||
donut: true,
|
||||
donutWidth: 40,
|
||||
startAngle: 0,
|
||||
total: 100,
|
||||
showLabel: false,
|
||||
axisX: {
|
||||
showGrid: false
|
||||
}
|
||||
};
|
||||
|
||||
Chartist.Pie('#chartPreferences', dataPreferences, optionsPreferences);
|
||||
|
||||
Chartist.Pie('#chartPreferences', {
|
||||
labels: ['62%','32%','6%'],
|
||||
series: [62, 32, 6]
|
||||
});
|
||||
},
|
||||
|
||||
initGoogleMaps: function(){
|
||||
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
|
||||
var mapOptions = {
|
||||
zoom: 13,
|
||||
center: myLatlng,
|
||||
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
|
||||
styles: [{"featureType":"water","stylers":[{"saturation":43},{"lightness":-11},{"hue":"#0088ff"}]},{"featureType":"road","elementType":"geometry.fill","stylers":[{"hue":"#ff0000"},{"saturation":-100},{"lightness":99}]},{"featureType":"road","elementType":"geometry.stroke","stylers":[{"color":"#808080"},{"lightness":54}]},{"featureType":"landscape.man_made","elementType":"geometry.fill","stylers":[{"color":"#ece2d9"}]},{"featureType":"poi.park","elementType":"geometry.fill","stylers":[{"color":"#ccdca1"}]},{"featureType":"road","elementType":"labels.text.fill","stylers":[{"color":"#767676"}]},{"featureType":"road","elementType":"labels.text.stroke","stylers":[{"color":"#ffffff"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]},{"featureType":"landscape.natural","elementType":"geometry.fill","stylers":[{"visibility":"on"},{"color":"#b8cb93"}]},{"featureType":"poi.park","stylers":[{"visibility":"on"}]},{"featureType":"poi.sports_complex","stylers":[{"visibility":"on"}]},{"featureType":"poi.medical","stylers":[{"visibility":"on"}]},{"featureType":"poi.business","stylers":[{"visibility":"simplified"}]}]
|
||||
|
||||
}
|
||||
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
|
||||
|
||||
var marker = new google.maps.Marker({
|
||||
position: myLatlng,
|
||||
title:"Hello World!"
|
||||
});
|
||||
|
||||
// To add the marker to the map, call setMap();
|
||||
marker.setMap(map);
|
||||
},
|
||||
|
||||
showNotification: function(from, align){
|
||||
color = Math.floor((Math.random() * 4) + 1);
|
||||
|
||||
$.notify({
|
||||
icon: "ti-gift",
|
||||
message: "Welcome to <b>Paper Dashboard</b> - a beautiful freebie for every web developer."
|
||||
|
||||
},{
|
||||
type: type[color],
|
||||
timer: 4000,
|
||||
placement: {
|
||||
from: from,
|
||||
align: align
|
||||
}
|
||||
});
|
||||
},
|
||||
initDocumentationCharts: function(){
|
||||
// init single simple line chart
|
||||
var dataPerformance = {
|
||||
labels: ['6pm','9pm','11pm', '2am', '4am', '8am', '2pm', '5pm', '8pm', '11pm', '4am'],
|
||||
series: [
|
||||
[1, 6, 8, 7, 4, 7, 8, 12, 16, 17, 14, 13]
|
||||
]
|
||||
};
|
||||
|
||||
var optionsPerformance = {
|
||||
showPoint: false,
|
||||
lineSmooth: true,
|
||||
height: "200px",
|
||||
axisX: {
|
||||
showGrid: false,
|
||||
showLabel: true
|
||||
},
|
||||
axisY: {
|
||||
offset: 40,
|
||||
},
|
||||
low: 0,
|
||||
high: 16,
|
||||
height: "250px"
|
||||
};
|
||||
|
||||
Chartist.Line('#chartPerformance', dataPerformance, optionsPerformance);
|
||||
|
||||
// init single line with points chart
|
||||
var dataStock = {
|
||||
labels: ['\'07','\'08','\'09', '\'10', '\'11', '\'12', '\'13', '\'14', '\'15'],
|
||||
series: [
|
||||
[22.20, 34.90, 42.28, 51.93, 62.21, 80.23, 62.21, 82.12, 102.50, 107.23]
|
||||
]
|
||||
};
|
||||
|
||||
var optionsStock = {
|
||||
lineSmooth: false,
|
||||
height: "200px",
|
||||
axisY: {
|
||||
offset: 40,
|
||||
labelInterpolationFnc: function(value) {
|
||||
return '$' + value;
|
||||
}
|
||||
|
||||
},
|
||||
low: 10,
|
||||
height: "250px",
|
||||
high: 110,
|
||||
classNames: {
|
||||
point: 'ct-point ct-green',
|
||||
line: 'ct-line ct-green'
|
||||
}
|
||||
};
|
||||
|
||||
Chartist.Line('#chartStock', dataStock, optionsStock);
|
||||
|
||||
// init multiple lines chart
|
||||
var dataSales = {
|
||||
labels: ['9:00AM', '12:00AM', '3:00PM', '6:00PM', '9:00PM', '12:00PM', '3:00AM', '6:00AM'],
|
||||
series: [
|
||||
[287, 385, 490, 562, 594, 626, 698, 895, 952],
|
||||
[67, 152, 193, 240, 387, 435, 535, 642, 744],
|
||||
[23, 113, 67, 108, 190, 239, 307, 410, 410]
|
||||
]
|
||||
};
|
||||
|
||||
var optionsSales = {
|
||||
lineSmooth: false,
|
||||
low: 0,
|
||||
high: 1000,
|
||||
showArea: true,
|
||||
height: "245px",
|
||||
axisX: {
|
||||
showGrid: false,
|
||||
},
|
||||
lineSmooth: Chartist.Interpolation.simple({
|
||||
divisor: 3
|
||||
}),
|
||||
showLine: true,
|
||||
showPoint: false,
|
||||
};
|
||||
|
||||
var responsiveSales = [
|
||||
['screen and (max-width: 640px)', {
|
||||
axisX: {
|
||||
labelInterpolationFnc: function (value) {
|
||||
return value[0];
|
||||
}
|
||||
}
|
||||
}]
|
||||
];
|
||||
|
||||
Chartist.Line('#chartHours', dataSales, optionsSales, responsiveSales);
|
||||
|
||||
// pie chart
|
||||
Chartist.Pie('#chartPreferences', {
|
||||
labels: ['62%','32%','6%'],
|
||||
series: [62, 32, 6]
|
||||
});
|
||||
|
||||
// bar chart
|
||||
var dataViews = {
|
||||
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
series: [
|
||||
[542, 443, 320, 780, 553, 453, 326, 434, 568, 610, 756, 895]
|
||||
]
|
||||
};
|
||||
|
||||
var optionsViews = {
|
||||
seriesBarDistance: 10,
|
||||
classNames: {
|
||||
bar: 'ct-bar'
|
||||
},
|
||||
axisX: {
|
||||
showGrid: false,
|
||||
|
||||
},
|
||||
height: "250px"
|
||||
|
||||
};
|
||||
|
||||
var responsiveOptionsViews = [
|
||||
['screen and (max-width: 640px)', {
|
||||
seriesBarDistance: 5,
|
||||
axisX: {
|
||||
labelInterpolationFnc: function (value) {
|
||||
return value[0];
|
||||
}
|
||||
}
|
||||
}]
|
||||
];
|
||||
|
||||
Chartist.Bar('#chartViews', dataViews, optionsViews, responsiveOptionsViews);
|
||||
|
||||
// multiple bars chart
|
||||
var data = {
|
||||
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
series: [
|
||||
[542, 543, 520, 680, 653, 753, 326, 434, 568, 610, 756, 895],
|
||||
[230, 293, 380, 480, 503, 553, 600, 664, 698, 710, 736, 795]
|
||||
]
|
||||
};
|
||||
|
||||
var options = {
|
||||
seriesBarDistance: 10,
|
||||
axisX: {
|
||||
showGrid: false
|
||||
},
|
||||
height: "245px"
|
||||
};
|
||||
|
||||
var responsiveOptions = [
|
||||
['screen and (max-width: 640px)', {
|
||||
seriesBarDistance: 5,
|
||||
axisX: {
|
||||
labelInterpolationFnc: function (value) {
|
||||
return value[0];
|
||||
}
|
||||
}
|
||||
}]
|
||||
];
|
||||
|
||||
Chartist.Line('#chartActivity', data, options, responsiveOptions);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
9789
public/assets/ecc/assets/js/jquery-1.10.2.js
vendored
Normal file
2
public/assets/ecc/assets/js/jquery.min.js
vendored
@@ -1,2 +0,0 @@
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
|
||||
@@ -1,2 +0,0 @@
|
||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
|
||||
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
|
||||
258
public/assets/ecc/assets/js/main.js
vendored
@@ -1,258 +0,0 @@
|
||||
/*
|
||||
Massively by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$wrapper = $('#wrapper'),
|
||||
$header = $('#header'),
|
||||
$nav = $('#nav'),
|
||||
$main = $('#main'),
|
||||
$navPanelToggle, $navPanel, $navPanelInner;
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
default: ['1681px', null ],
|
||||
xlarge: ['1281px', '1680px' ],
|
||||
large: ['981px', '1280px' ],
|
||||
medium: ['737px', '980px' ],
|
||||
small: ['481px', '736px' ],
|
||||
xsmall: ['361px', '480px' ],
|
||||
xxsmall: [null, '360px' ]
|
||||
});
|
||||
|
||||
/**
|
||||
* Applies parallax scrolling to an element's background image.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn._parallax = function(intensity) {
|
||||
|
||||
var $window = $(window),
|
||||
$this = $(this);
|
||||
|
||||
if (this.length == 0 || intensity === 0)
|
||||
return $this;
|
||||
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i])._parallax(intensity);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
if (!intensity)
|
||||
intensity = 0.25;
|
||||
|
||||
$this.each(function() {
|
||||
|
||||
var $t = $(this),
|
||||
$bg = $('<div class="bg"></div>').appendTo($t),
|
||||
on, off;
|
||||
|
||||
on = function() {
|
||||
|
||||
$bg
|
||||
.removeClass('fixed')
|
||||
.css('transform', 'matrix(1,0,0,1,0,0)');
|
||||
|
||||
$window
|
||||
.on('scroll._parallax', function() {
|
||||
|
||||
var pos = parseInt($window.scrollTop()) - parseInt($t.position().top);
|
||||
|
||||
$bg.css('transform', 'matrix(1,0,0,1,0,' + (pos * intensity) + ')');
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
off = function() {
|
||||
|
||||
$bg
|
||||
.addClass('fixed')
|
||||
.css('transform', 'none');
|
||||
|
||||
$window
|
||||
.off('scroll._parallax');
|
||||
|
||||
};
|
||||
|
||||
// Disable parallax on ..
|
||||
if (browser.name == 'ie' // IE
|
||||
|| browser.name == 'edge' // Edge
|
||||
|| window.devicePixelRatio > 1 // Retina/HiDPI (= poor performance)
|
||||
|| browser.mobile) // Mobile devices
|
||||
off();
|
||||
|
||||
// Enable everywhere else.
|
||||
else {
|
||||
|
||||
breakpoints.on('>large', on);
|
||||
breakpoints.on('<=large', off);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$window
|
||||
.off('load._parallax resize._parallax')
|
||||
.on('load._parallax resize._parallax', function() {
|
||||
$window.trigger('scroll');
|
||||
});
|
||||
|
||||
return $(this);
|
||||
|
||||
};
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Scrolly.
|
||||
$('.scrolly').scrolly();
|
||||
|
||||
// Background.
|
||||
$wrapper._parallax(0.925);
|
||||
|
||||
// Nav Panel.
|
||||
|
||||
// Toggle.
|
||||
$navPanelToggle = $(
|
||||
'<a href="#navPanel" id="navPanelToggle">Menu</a>'
|
||||
)
|
||||
.appendTo($wrapper);
|
||||
|
||||
// Change toggle styling once we've scrolled past the header.
|
||||
$header.scrollex({
|
||||
bottom: '5vh',
|
||||
enter: function() {
|
||||
$navPanelToggle.removeClass('alt');
|
||||
},
|
||||
leave: function() {
|
||||
$navPanelToggle.addClass('alt');
|
||||
}
|
||||
});
|
||||
|
||||
// Panel.
|
||||
$navPanel = $(
|
||||
'<div id="navPanel">' +
|
||||
'<nav>' +
|
||||
'</nav>' +
|
||||
'<a href="#navPanel" class="close"></a>' +
|
||||
'</div>'
|
||||
)
|
||||
.appendTo($body)
|
||||
.panel({
|
||||
delay: 500,
|
||||
hideOnClick: true,
|
||||
hideOnSwipe: true,
|
||||
resetScroll: true,
|
||||
resetForms: true,
|
||||
side: 'right',
|
||||
target: $body,
|
||||
visibleClass: 'is-navPanel-visible'
|
||||
});
|
||||
|
||||
// Get inner.
|
||||
$navPanelInner = $navPanel.children('nav');
|
||||
|
||||
// Move nav content on breakpoint change.
|
||||
var $navContent = $nav.children();
|
||||
|
||||
breakpoints.on('>medium', function() {
|
||||
|
||||
// NavPanel -> Nav.
|
||||
$navContent.appendTo($nav);
|
||||
|
||||
// Flip icon classes.
|
||||
$nav.find('.icons, .icon')
|
||||
.removeClass('alt');
|
||||
|
||||
});
|
||||
|
||||
breakpoints.on('<=medium', function() {
|
||||
|
||||
// Nav -> NavPanel.
|
||||
$navContent.appendTo($navPanelInner);
|
||||
|
||||
// Flip icon classes.
|
||||
$navPanelInner.find('.icons, .icon')
|
||||
.addClass('alt');
|
||||
|
||||
});
|
||||
|
||||
// Hack: Disable transitions on WP.
|
||||
if (browser.os == 'wp'
|
||||
&& browser.osVersion < 10)
|
||||
$navPanel
|
||||
.css('transition', 'none');
|
||||
|
||||
// Intro.
|
||||
var $intro = $('#intro');
|
||||
|
||||
if ($intro.length > 0) {
|
||||
|
||||
// Hack: Fix flex min-height on IE.
|
||||
if (browser.name == 'ie') {
|
||||
$window.on('resize.ie-intro-fix', function() {
|
||||
|
||||
var h = $intro.height();
|
||||
|
||||
if (h > $window.height())
|
||||
$intro.css('height', 'auto');
|
||||
else
|
||||
$intro.css('height', h);
|
||||
|
||||
}).trigger('resize.ie-intro-fix');
|
||||
}
|
||||
|
||||
// Hide intro on scroll (> small).
|
||||
breakpoints.on('>small', function() {
|
||||
|
||||
$main.unscrollex();
|
||||
|
||||
$main.scrollex({
|
||||
mode: 'bottom',
|
||||
top: '25vh',
|
||||
bottom: '-50vh',
|
||||
enter: function() {
|
||||
$intro.addClass('hidden');
|
||||
},
|
||||
leave: function() {
|
||||
$intro.removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Hide intro on scroll (<= small).
|
||||
breakpoints.on('<=small', function() {
|
||||
|
||||
$main.unscrollex();
|
||||
|
||||
$main.scrollex({
|
||||
mode: 'middle',
|
||||
top: '15vh',
|
||||
bottom: '-15vh',
|
||||
enter: function() {
|
||||
$intro.addClass('hidden');
|
||||
},
|
||||
leave: function() {
|
||||
$intro.removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
157
public/assets/ecc/assets/js/paper-dashboard.js
vendored
Normal file
@@ -0,0 +1,157 @@
|
||||
/*!
|
||||
|
||||
=========================================================
|
||||
* Paper Dashboard - v1.1.2
|
||||
=========================================================
|
||||
|
||||
* Product Page: http://www.creative-tim.com/product/paper-dashboard
|
||||
* Copyright 2017 Creative Tim (http://www.creative-tim.com)
|
||||
* Licensed under MIT (https://github.com/creativetimofficial/paper-dashboard/blob/master/LICENSE.md)
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
var fixedTop = false;
|
||||
var transparent = true;
|
||||
var navbar_initialized = false;
|
||||
|
||||
$(document).ready(function(){
|
||||
window_width = $(window).width();
|
||||
|
||||
// Init navigation toggle for small screens
|
||||
if(window_width <= 991){
|
||||
pd.initRightMenu();
|
||||
}
|
||||
|
||||
// Activate the tooltips
|
||||
$('[rel="tooltip"]').tooltip();
|
||||
|
||||
});
|
||||
|
||||
// activate collapse right menu when the windows is resized
|
||||
$(window).resize(function(){
|
||||
if($(window).width() <= 991){
|
||||
pd.initRightMenu();
|
||||
}
|
||||
});
|
||||
|
||||
pd = {
|
||||
misc:{
|
||||
navbar_menu_visible: 0
|
||||
},
|
||||
checkScrollForTransparentNavbar: debounce(function() {
|
||||
if($(document).scrollTop() > 381 ) {
|
||||
if(transparent) {
|
||||
transparent = false;
|
||||
$('.navbar-color-on-scroll').removeClass('navbar-transparent');
|
||||
$('.navbar-title').removeClass('hidden');
|
||||
}
|
||||
} else {
|
||||
if( !transparent ) {
|
||||
transparent = true;
|
||||
$('.navbar-color-on-scroll').addClass('navbar-transparent');
|
||||
$('.navbar-title').addClass('hidden');
|
||||
}
|
||||
}
|
||||
}),
|
||||
initRightMenu: function(){
|
||||
if(!navbar_initialized){
|
||||
$off_canvas_sidebar = $('nav').find('.navbar-collapse').first().clone(true);
|
||||
|
||||
$sidebar = $('.sidebar');
|
||||
sidebar_bg_color = $sidebar.data('background-color');
|
||||
sidebar_active_color = $sidebar.data('active-color');
|
||||
|
||||
$logo = $sidebar.find('.logo').first();
|
||||
logo_content = $logo[0].outerHTML;
|
||||
|
||||
ul_content = '';
|
||||
|
||||
// set the bg color and active color from the default sidebar to the off canvas sidebar;
|
||||
$off_canvas_sidebar.attr('data-background-color',sidebar_bg_color);
|
||||
$off_canvas_sidebar.attr('data-active-color',sidebar_active_color);
|
||||
|
||||
$off_canvas_sidebar.addClass('off-canvas-sidebar');
|
||||
|
||||
//add the content from the regular header to the right menu
|
||||
$off_canvas_sidebar.children('ul').each(function(){
|
||||
content_buff = $(this).html();
|
||||
ul_content = ul_content + content_buff;
|
||||
});
|
||||
|
||||
// add the content from the sidebar to the right menu
|
||||
content_buff = $sidebar.find('.nav').html();
|
||||
ul_content = ul_content + '<li class="divider"></li>'+ content_buff;
|
||||
|
||||
ul_content = '<ul class="nav navbar-nav">' + ul_content + '</ul>';
|
||||
|
||||
navbar_content = logo_content + ul_content;
|
||||
navbar_content = '<div class="sidebar-wrapper">' + navbar_content + '</div>';
|
||||
|
||||
$off_canvas_sidebar.html(navbar_content);
|
||||
|
||||
$('body').append($off_canvas_sidebar);
|
||||
|
||||
$toggle = $('.navbar-toggle');
|
||||
|
||||
$off_canvas_sidebar.find('a').removeClass('btn btn-round btn-default');
|
||||
$off_canvas_sidebar.find('button').removeClass('btn-round btn-fill btn-info btn-primary btn-success btn-danger btn-warning btn-neutral');
|
||||
$off_canvas_sidebar.find('button').addClass('btn-simple btn-block');
|
||||
|
||||
$toggle.click(function (){
|
||||
if(pd.misc.navbar_menu_visible == 1) {
|
||||
$('html').removeClass('nav-open');
|
||||
pd.misc.navbar_menu_visible = 0;
|
||||
$('#bodyClick').remove();
|
||||
setTimeout(function(){
|
||||
$toggle.removeClass('toggled');
|
||||
}, 400);
|
||||
|
||||
} else {
|
||||
setTimeout(function(){
|
||||
$toggle.addClass('toggled');
|
||||
}, 430);
|
||||
|
||||
div = '<div id="bodyClick"></div>';
|
||||
$(div).appendTo("body").click(function() {
|
||||
$('html').removeClass('nav-open');
|
||||
pd.misc.navbar_menu_visible = 0;
|
||||
$('#bodyClick').remove();
|
||||
setTimeout(function(){
|
||||
$toggle.removeClass('toggled');
|
||||
}, 400);
|
||||
});
|
||||
|
||||
$('html').addClass('nav-open');
|
||||
pd.misc.navbar_menu_visible = 1;
|
||||
|
||||
}
|
||||
});
|
||||
navbar_initialized = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Returns a function, that, as long as it continues to be invoked, will not
|
||||
// be triggered. The function will be called after it stops being called for
|
||||
// N milliseconds. If `immediate` is passed, trigger the function on the
|
||||
// leading edge, instead of the trailing.
|
||||
|
||||
function debounce(func, wait, immediate) {
|
||||
var timeout;
|
||||
return function() {
|
||||
var context = this, args = arguments;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(function() {
|
||||
timeout = null;
|
||||
if (!immediate) func.apply(context, args);
|
||||
}, wait);
|
||||
if (immediate && !timeout) func.apply(context, args);
|
||||
};
|
||||
};
|
||||
587
public/assets/ecc/assets/js/util.js
vendored
@@ -1,587 +0,0 @@
|
||||
(function($) {
|
||||
|
||||
/**
|
||||
* Generate an indented list of links from a nav. Meant for use with panel().
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.navList = function() {
|
||||
|
||||
var $this = $(this);
|
||||
$a = $this.find('a'),
|
||||
b = [];
|
||||
|
||||
$a.each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
indent = Math.max(0, $this.parents('li').length - 1),
|
||||
href = $this.attr('href'),
|
||||
target = $this.attr('target');
|
||||
|
||||
b.push(
|
||||
'<a ' +
|
||||
'class="link depth-' + indent + '"' +
|
||||
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
|
||||
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
|
||||
'>' +
|
||||
'<span class="indent-' + indent + '"></span>' +
|
||||
$this.text() +
|
||||
'</a>'
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
return b.join('');
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Panel-ify an element.
|
||||
* @param {object} userConfig User config.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.panel = function(userConfig) {
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).panel(userConfig);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this),
|
||||
$body = $('body'),
|
||||
$window = $(window),
|
||||
id = $this.attr('id'),
|
||||
config;
|
||||
|
||||
// Config.
|
||||
config = $.extend({
|
||||
|
||||
// Delay.
|
||||
delay: 0,
|
||||
|
||||
// Hide panel on link click.
|
||||
hideOnClick: false,
|
||||
|
||||
// Hide panel on escape keypress.
|
||||
hideOnEscape: false,
|
||||
|
||||
// Hide panel on swipe.
|
||||
hideOnSwipe: false,
|
||||
|
||||
// Reset scroll position on hide.
|
||||
resetScroll: false,
|
||||
|
||||
// Reset forms on hide.
|
||||
resetForms: false,
|
||||
|
||||
// Side of viewport the panel will appear.
|
||||
side: null,
|
||||
|
||||
// Target element for "class".
|
||||
target: $this,
|
||||
|
||||
// Class to toggle.
|
||||
visibleClass: 'visible'
|
||||
|
||||
}, userConfig);
|
||||
|
||||
// Expand "target" if it's not a jQuery object already.
|
||||
if (typeof config.target != 'jQuery')
|
||||
config.target = $(config.target);
|
||||
|
||||
// Panel.
|
||||
|
||||
// Methods.
|
||||
$this._hide = function(event) {
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!config.target.hasClass(config.visibleClass))
|
||||
return;
|
||||
|
||||
// If an event was provided, cancel it.
|
||||
if (event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
// Hide.
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
// Post-hide stuff.
|
||||
window.setTimeout(function() {
|
||||
|
||||
// Reset scroll position.
|
||||
if (config.resetScroll)
|
||||
$this.scrollTop(0);
|
||||
|
||||
// Reset forms.
|
||||
if (config.resetForms)
|
||||
$this.find('form').each(function() {
|
||||
this.reset();
|
||||
});
|
||||
|
||||
}, config.delay);
|
||||
|
||||
};
|
||||
|
||||
// Vendor fixes.
|
||||
$this
|
||||
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
|
||||
.css('-webkit-overflow-scrolling', 'touch');
|
||||
|
||||
// Hide on click.
|
||||
if (config.hideOnClick) {
|
||||
|
||||
$this.find('a')
|
||||
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
|
||||
|
||||
$this
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
href = $a.attr('href'),
|
||||
target = $a.attr('target');
|
||||
|
||||
if (!href || href == '#' || href == '' || href == '#' + id)
|
||||
return;
|
||||
|
||||
// Cancel original event.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Hide panel.
|
||||
$this._hide();
|
||||
|
||||
// Redirect to href.
|
||||
window.setTimeout(function() {
|
||||
|
||||
if (target == '_blank')
|
||||
window.open(href);
|
||||
else
|
||||
window.location.href = href;
|
||||
|
||||
}, config.delay + 10);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Event: Touch stuff.
|
||||
$this.on('touchstart', function(event) {
|
||||
|
||||
$this.touchPosX = event.originalEvent.touches[0].pageX;
|
||||
$this.touchPosY = event.originalEvent.touches[0].pageY;
|
||||
|
||||
})
|
||||
|
||||
$this.on('touchmove', function(event) {
|
||||
|
||||
if ($this.touchPosX === null
|
||||
|| $this.touchPosY === null)
|
||||
return;
|
||||
|
||||
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
|
||||
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
|
||||
th = $this.outerHeight(),
|
||||
ts = ($this.get(0).scrollHeight - $this.scrollTop());
|
||||
|
||||
// Hide on swipe?
|
||||
if (config.hideOnSwipe) {
|
||||
|
||||
var result = false,
|
||||
boundary = 20,
|
||||
delta = 50;
|
||||
|
||||
switch (config.side) {
|
||||
|
||||
case 'left':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
|
||||
break;
|
||||
|
||||
case 'top':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
|
||||
break;
|
||||
|
||||
case 'bottom':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (result) {
|
||||
|
||||
$this.touchPosX = null;
|
||||
$this.touchPosY = null;
|
||||
$this._hide();
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Prevent vertical scrolling past the top or bottom.
|
||||
if (($this.scrollTop() < 0 && diffY < 0)
|
||||
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Event: Prevent certain events inside the panel from bubbling.
|
||||
$this.on('click touchend touchstart touchmove', function(event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
|
||||
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
|
||||
$this.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Body.
|
||||
|
||||
// Event: Hide panel on body click/tap.
|
||||
$body.on('click touchend', function(event) {
|
||||
$this._hide(event);
|
||||
});
|
||||
|
||||
// Event: Toggle.
|
||||
$body.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.toggleClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Window.
|
||||
|
||||
// Event: Hide on ESC.
|
||||
if (config.hideOnEscape)
|
||||
$window.on('keydown', function(event) {
|
||||
|
||||
if (event.keyCode == 27)
|
||||
$this._hide(event);
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Apply "placeholder" attribute polyfill to one or more forms.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.placeholder = function() {
|
||||
|
||||
// Browser natively supports placeholders? Bail.
|
||||
if (typeof (document.createElement('input')).placeholder != 'undefined')
|
||||
return $(this);
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).placeholder();
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this);
|
||||
|
||||
// Text, TextArea.
|
||||
$this.find('input[type=text],textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.val() == ''
|
||||
|| i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('blur', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == '')
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('focus', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.removeClass('polyfill-placeholder')
|
||||
.val('');
|
||||
|
||||
});
|
||||
|
||||
// Password.
|
||||
$this.find('input[type=password]')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
var x = $(
|
||||
$('<div>')
|
||||
.append(i.clone())
|
||||
.remove()
|
||||
.html()
|
||||
.replace(/type="password"/i, 'type="text"')
|
||||
.replace(/type=password/i, 'type=text')
|
||||
);
|
||||
|
||||
if (i.attr('id') != '')
|
||||
x.attr('id', i.attr('id') + '-polyfill-field');
|
||||
|
||||
if (i.attr('name') != '')
|
||||
x.attr('name', i.attr('name') + '-polyfill-field');
|
||||
|
||||
x.addClass('polyfill-placeholder')
|
||||
.val(x.attr('placeholder')).insertAfter(i);
|
||||
|
||||
if (i.val() == '')
|
||||
i.hide();
|
||||
else
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.on('blur', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
|
||||
i.hide();
|
||||
x.show();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
x
|
||||
.on('focus', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
|
||||
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.show()
|
||||
.focus();
|
||||
|
||||
})
|
||||
.on('keypress', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
x.val('');
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Events.
|
||||
$this
|
||||
.on('submit', function() {
|
||||
|
||||
$this.find('input[type=text],input[type=password],textarea')
|
||||
.each(function(event) {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
i.attr('name', '');
|
||||
|
||||
if (i.val() == i.attr('placeholder')) {
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
i.val('');
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})
|
||||
.on('reset', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
$this.find('select')
|
||||
.val($('option:first').val());
|
||||
|
||||
$this.find('input,textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this),
|
||||
x;
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
|
||||
switch (this.type) {
|
||||
|
||||
case 'submit':
|
||||
case 'reset':
|
||||
break;
|
||||
|
||||
case 'password':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
i.hide();
|
||||
x.show();
|
||||
}
|
||||
else {
|
||||
i.show();
|
||||
x.hide();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'checkbox':
|
||||
case 'radio':
|
||||
i.attr('checked', i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
case 'text':
|
||||
case 'textarea':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
if (i.val() == '') {
|
||||
i.addClass('polyfill-placeholder');
|
||||
i.val(i.attr('placeholder'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
i.val(i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Moves elements to/from the first positions of their respective parents.
|
||||
* @param {jQuery} $elements Elements (or selector) to move.
|
||||
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
|
||||
*/
|
||||
$.prioritize = function($elements, condition) {
|
||||
|
||||
var key = '__prioritize';
|
||||
|
||||
// Expand $elements if it's not already a jQuery object.
|
||||
if (typeof $elements != 'jQuery')
|
||||
$elements = $($elements);
|
||||
|
||||
// Step through elements.
|
||||
$elements.each(function() {
|
||||
|
||||
var $e = $(this), $p,
|
||||
$parent = $e.parent();
|
||||
|
||||
// No parent? Bail.
|
||||
if ($parent.length == 0)
|
||||
return;
|
||||
|
||||
// Not moved? Move it.
|
||||
if (!$e.data(key)) {
|
||||
|
||||
// Condition is false? Bail.
|
||||
if (!condition)
|
||||
return;
|
||||
|
||||
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
|
||||
$p = $e.prev();
|
||||
|
||||
// Couldn't find anything? Means this element's already at the top, so bail.
|
||||
if ($p.length == 0)
|
||||
return;
|
||||
|
||||
// Move element to top of parent.
|
||||
$e.prependTo($parent);
|
||||
|
||||
// Mark element as moved.
|
||||
$e.data(key, $p);
|
||||
|
||||
}
|
||||
|
||||
// Moved already?
|
||||
else {
|
||||
|
||||
// Condition is true? Bail.
|
||||
if (condition)
|
||||
return;
|
||||
|
||||
$p = $e.data(key);
|
||||
|
||||
// Move element back to its original location (using our placeholder).
|
||||
$e.insertAfter($p);
|
||||
|
||||
// Unmark element as moved.
|
||||
$e.removeData(key);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
BIN
public/assets/ecc/assets/sass/.DS_Store
vendored
Normal file
48
public/assets/ecc/assets/sass/base/_page.scss
vendored
@@ -1,48 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Basic */
|
||||
|
||||
// MSIE: Required for IEMobile.
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
// MSIE: Prevents scrollbar from overlapping content.
|
||||
body {
|
||||
-ms-overflow-style: scrollbar;
|
||||
}
|
||||
|
||||
// Ensures page width is always >=320px.
|
||||
@include breakpoint('<=xsmall') {
|
||||
html, body {
|
||||
min-width: 320px;
|
||||
}
|
||||
}
|
||||
|
||||
// Set box model to border-box.
|
||||
// Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*, *:before, *:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
|
||||
background-color: _palette(invert, bg);
|
||||
|
||||
// Stops initial animations until page loads.
|
||||
&.is-preload {
|
||||
*, *:before, *:after {
|
||||
@include vendor('animation', 'none !important');
|
||||
@include vendor('transition', 'none !important');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
76
public/assets/ecc/assets/sass/base/_reset.scss
vendored
@@ -1,76 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
// Reset.
|
||||
// Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain)
|
||||
|
||||
html, body, div, span, applet, object,
|
||||
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
|
||||
pre, a, abbr, acronym, address, big, cite,
|
||||
code, del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var, b,
|
||||
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
|
||||
form, label, legend, table, caption, tbody,
|
||||
tfoot, thead, tr, th, td, article, aside,
|
||||
canvas, details, embed, figure, figcaption,
|
||||
footer, header, hgroup, menu, nav, output, ruby,
|
||||
section, summary, time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-text-size-adjust: none;
|
||||
}
|
||||
|
||||
mark {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input, select, textarea {
|
||||
-moz-appearance: none;
|
||||
-webkit-appearance: none;
|
||||
-ms-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
213
public/assets/ecc/assets/sass/base/_typography.scss
vendored
@@ -1,213 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Type */
|
||||
|
||||
html {
|
||||
font-size: 16pt;
|
||||
|
||||
@include breakpoint('<=xlarge') {
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
@include breakpoint('<=large') {
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
@include breakpoint('<=xxsmall') {
|
||||
font-size: 10pt;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
color: _palette(fg);
|
||||
}
|
||||
|
||||
body, input, select, textarea {
|
||||
font-family: _font(family);
|
||||
font-weight: _font(weight);
|
||||
font-size: 1rem;
|
||||
line-height: 2.375;
|
||||
}
|
||||
|
||||
a {
|
||||
@include vendor('transition', (
|
||||
'color #{_duration(transition)} ease-in-out',
|
||||
'background-color #{_duration(transition)} ease-in-out',
|
||||
'border-color #{_duration(transition)} ease-in-out',
|
||||
'box-shadow #{_duration(transition)} ease-in-out'
|
||||
));
|
||||
border-bottom: dotted 1px;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
strong, b {
|
||||
font-weight: _font(weight-bold);
|
||||
}
|
||||
|
||||
em, i {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: justify;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: _font(family-heading);
|
||||
font-weight: _font(weight-heading);
|
||||
line-height: 1.5;
|
||||
letter-spacing: 0.075em;
|
||||
text-transform: uppercase;
|
||||
margin: 0 0 (_size(element-margin) * 0.5) 0;
|
||||
|
||||
a {
|
||||
border-bottom: 0;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 4rem;
|
||||
line-height: 1.1;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.75rem;
|
||||
line-height: 1.3;
|
||||
margin: 0 0 (_size(element-margin) * 0.75) 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.25rem;
|
||||
margin: 0 0 (_size(element-margin) * 0.75) 0;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
sub {
|
||||
font-size: 0.8rem;
|
||||
position: relative;
|
||||
top: 0.5rem;
|
||||
}
|
||||
|
||||
sup {
|
||||
font-size: 0.8rem;
|
||||
position: relative;
|
||||
top: -0.5rem;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: solid 4px;
|
||||
font-style: italic;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
padding: (_size(element-margin) / 4) 0 (_size(element-margin) / 4) _size(element-margin);
|
||||
}
|
||||
|
||||
code {
|
||||
border-radius: _size(border-radius);
|
||||
border: solid 2px;
|
||||
font-family: _font(family-fixed);
|
||||
font-size: 0.9rem;
|
||||
margin: 0 0.25rem;
|
||||
padding: 0.25rem 0.65rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
font-family: _font(family-fixed);
|
||||
font-size: 0.9rem;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
|
||||
code {
|
||||
display: block;
|
||||
line-height: 1.75;
|
||||
padding: 1rem 1.5rem;
|
||||
overflow-x: auto;
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
border-bottom: solid 2px;
|
||||
margin: (_size(element-margin) * 1.5) 0;
|
||||
|
||||
&.major {
|
||||
margin: (_size(element-margin) * 2.5) 0;
|
||||
}
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.align-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
@mixin color-typography($p: null) {
|
||||
@if $p != null {
|
||||
color: _palette($p, fg);
|
||||
}
|
||||
|
||||
input, select, textarea {
|
||||
color: _palette($p, fg-bold);
|
||||
}
|
||||
|
||||
a {
|
||||
color: _palette($p, fg-bold);
|
||||
border-bottom-color: transparentize(_palette($p, fg), 0.5);
|
||||
|
||||
&:hover {
|
||||
border-bottom-color: transparent;
|
||||
color: _palette($p, accent) !important;
|
||||
}
|
||||
}
|
||||
|
||||
strong, b {
|
||||
color: _palette($p, fg-bold);
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: _palette($p, fg-bold);
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left-color: _palette($p, border);
|
||||
}
|
||||
|
||||
code {
|
||||
background: _palette($p, border-bg);
|
||||
border-color: _palette($p, border);
|
||||
}
|
||||
|
||||
hr {
|
||||
border-bottom-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
@include color-typography;
|
||||
@@ -1,101 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Actions */
|
||||
|
||||
ul.actions {
|
||||
@include vendor('display', 'flex');
|
||||
cursor: default;
|
||||
list-style: none;
|
||||
margin-left: (_size(element-margin) * -0.5);
|
||||
padding-left: 0;
|
||||
|
||||
li {
|
||||
padding: 0 0 0 (_size(element-margin) * 0.5);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
&.special {
|
||||
@include vendor('justify-content', 'center');
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
|
||||
li {
|
||||
&:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.stacked {
|
||||
@include vendor('flex-direction', 'column');
|
||||
margin-left: 0;
|
||||
|
||||
li {
|
||||
padding: (_size(element-margin) * 0.65) 0 0 0;
|
||||
|
||||
&:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.fit {
|
||||
width: calc(100% + #{_size(element-margin) * 0.5});
|
||||
|
||||
li {
|
||||
@include vendor('flex-grow', '1');
|
||||
@include vendor('flex-shrink', '1');
|
||||
width: 100%;
|
||||
|
||||
> * {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&.stacked {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
&:not(.fixed) {
|
||||
@include vendor('flex-direction', 'column');
|
||||
margin-left: 0;
|
||||
width: 100% !important;
|
||||
|
||||
li {
|
||||
@include vendor('flex-grow', '1');
|
||||
@include vendor('flex-shrink', '1');
|
||||
padding: (_size(element-margin) * 0.5) 0 0 0;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
|
||||
> * {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"],
|
||||
button,
|
||||
.button {
|
||||
width: 100%;
|
||||
|
||||
&.icon {
|
||||
&:before {
|
||||
margin-left: -0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Box */
|
||||
|
||||
.box {
|
||||
border-radius: _size(border-radius);
|
||||
border: solid 2px;
|
||||
margin-bottom: _size(element-margin);
|
||||
padding: 1.5rem;
|
||||
|
||||
> :last-child,
|
||||
> :last-child > :last-child,
|
||||
> :last-child > :last-child > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&.alt {
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin color-box($p: null) {
|
||||
.box {
|
||||
border-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
@include color-box;
|
||||
@@ -1,134 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Button */
|
||||
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"],
|
||||
button,
|
||||
.button {
|
||||
@include vendor('appearance', 'none');
|
||||
@include vendor('transition', (
|
||||
'background-color #{_duration(transition)} ease-in-out',
|
||||
'box-shadow #{_duration(transition)} ease-in-out',
|
||||
'color #{_duration(transition)} ease-in-out'
|
||||
));
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-family: _font(family-heading);
|
||||
font-size: 0.8rem;
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
height: 3rem;
|
||||
line-height: 3rem;
|
||||
padding: 0 2rem;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
white-space: nowrap;
|
||||
|
||||
&.icon {
|
||||
&:before {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
&.solo {
|
||||
position: relative;
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
line-height: 4rem;
|
||||
border-radius: 4rem;
|
||||
text-indent: 4rem;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: inherit;
|
||||
height: inherit;
|
||||
line-height: inherit;
|
||||
font-size: 1.25rem;
|
||||
margin-right: 0;
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.fit {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&.small {
|
||||
font-size: 0.7rem;
|
||||
height: 2.5rem;
|
||||
line-height: 2.5rem;
|
||||
padding: 0 1.5rem;
|
||||
}
|
||||
|
||||
&.large {
|
||||
font-size: 0.9rem;
|
||||
height: 3.5rem;
|
||||
line-height: 3.5rem;
|
||||
padding: 0 2.75rem;
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
font-size: 0.9rem;
|
||||
height: 3.25rem;
|
||||
line-height: 3.25rem;
|
||||
|
||||
&.large {
|
||||
font-size: 1rem;
|
||||
height: 3.75rem;
|
||||
line-height: 3.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&:disabled {
|
||||
@include vendor('pointer-events', 'none');
|
||||
opacity: 0.25;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin color-button($p: null) {
|
||||
$highlight: _palette($p, highlight);
|
||||
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"],
|
||||
button,
|
||||
.button {
|
||||
background-color: transparent;
|
||||
box-shadow: inset 0 0 0 2px _palette($p, fg-bold);
|
||||
color: _palette($p, fg-bold) !important;
|
||||
|
||||
&:hover {
|
||||
box-shadow: inset 0 0 0 2px _palette($p, accent);
|
||||
color: _palette($p, accent) !important;
|
||||
}
|
||||
|
||||
&.primary {
|
||||
background-color: _palette($p, fg-bold);
|
||||
box-shadow: none;
|
||||
color: _palette($p, bg) !important;
|
||||
|
||||
&:hover {
|
||||
background-color: _palette($p, accent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include color-button;
|
||||
292
public/assets/ecc/assets/sass/components/_form.scss
vendored
@@ -1,292 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Form */
|
||||
|
||||
form {
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> .fields {
|
||||
$gutter: (_size(element-margin) * 0.75);
|
||||
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('flex-wrap', 'wrap');
|
||||
width: calc(100% + #{$gutter * 2});
|
||||
margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);
|
||||
|
||||
> .field {
|
||||
@include vendor('flex-grow', '0');
|
||||
@include vendor('flex-shrink', '0');
|
||||
padding: $gutter 0 0 $gutter;
|
||||
width: calc(100% - #{$gutter * 1});
|
||||
|
||||
&.half {
|
||||
width: calc(50% - #{$gutter * 0.5});
|
||||
}
|
||||
|
||||
&.third {
|
||||
width: calc(#{100% / 3} - #{$gutter * (1 / 3)});
|
||||
}
|
||||
|
||||
&.quarter {
|
||||
width: calc(25% - #{$gutter * 0.25});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
> .fields {
|
||||
$gutter: (_size(element-margin) * 0.75);
|
||||
|
||||
width: calc(100% + #{$gutter * 2});
|
||||
margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);
|
||||
|
||||
> .field {
|
||||
padding: $gutter 0 0 $gutter;
|
||||
width: calc(100% - #{$gutter * 1});
|
||||
|
||||
&.half {
|
||||
width: calc(100% - #{$gutter * 1});
|
||||
}
|
||||
|
||||
&.third {
|
||||
width: calc(100% - #{$gutter * 1});
|
||||
}
|
||||
|
||||
&.quarter {
|
||||
width: calc(100% - #{$gutter * 1});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
font-family: _font(family-heading);
|
||||
font-weight: _font(weight-heading);
|
||||
line-height: 1.5;
|
||||
letter-spacing: 0.075em;
|
||||
font-size: 0.8rem;
|
||||
text-transform: uppercase;
|
||||
margin: 0 0 (_size(element-margin) * 0.375) 0;
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="email"],
|
||||
select,
|
||||
textarea {
|
||||
@include vendor('appearance', 'none');
|
||||
background: transparent;
|
||||
border-radius: 0;
|
||||
border: solid 2px;
|
||||
color: inherit;
|
||||
display: block;
|
||||
outline: 0;
|
||||
padding: 0 1rem;
|
||||
text-decoration: none;
|
||||
width: 100%;
|
||||
|
||||
&:invalid {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
background-size: 1.25rem;
|
||||
background-repeat: no-repeat;
|
||||
background-position: calc(100% - 1rem) center;
|
||||
height: _size(element-height);
|
||||
padding-right: _size(element-height);
|
||||
text-overflow: ellipsis;
|
||||
|
||||
&:focus {
|
||||
&::-ms-value {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
&::-ms-expand {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="email"],
|
||||
select {
|
||||
height: _size(element-height);
|
||||
}
|
||||
|
||||
textarea {
|
||||
padding: 0.75rem 1rem;
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"], {
|
||||
@include vendor('appearance', 'none');
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: -2rem;
|
||||
opacity: 0;
|
||||
width: 1rem;
|
||||
z-index: -1;
|
||||
|
||||
& + label {
|
||||
@include icon;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-size: 1rem;
|
||||
letter-spacing: 0;
|
||||
font-family: _font(family);
|
||||
text-transform: none;
|
||||
font-weight: _font(weight);
|
||||
padding-left: (_size(element-height) * 0.6) + 1rem;
|
||||
padding-right: 1rem;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
border-radius: 0;
|
||||
border: solid 2px;
|
||||
content: '';
|
||||
display: inline-block;
|
||||
height: (_size(element-height) * 0.6);
|
||||
left: 0;
|
||||
line-height: (_size(element-height) * 0.575);
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
top: -0.125rem;
|
||||
width: (_size(element-height) * 0.6);
|
||||
}
|
||||
}
|
||||
|
||||
&:checked + label {
|
||||
&:before {
|
||||
content: '\f00c';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
& + label {
|
||||
&:before {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input[type="radio"] {
|
||||
& + label {
|
||||
&:before {
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
:-moz-placeholder {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
::-moz-placeholder {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
@mixin color-form($p: null) {
|
||||
label {
|
||||
color: _palette($p, fg-bold);
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="email"],
|
||||
select,
|
||||
textarea {
|
||||
border-color: _palette($p, border);
|
||||
|
||||
&:focus {
|
||||
border-color: _palette($p, accent);
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
background-image: svg-url("<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'><path d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='#{_palette($p, border)}' /></svg>");
|
||||
|
||||
option {
|
||||
background-color: _palette($p, bg);
|
||||
color: _palette($p, fg);
|
||||
}
|
||||
}
|
||||
|
||||
.select-wrapper {
|
||||
&:before {
|
||||
color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"], {
|
||||
& + label {
|
||||
color: _palette($p, fg);
|
||||
|
||||
&:before {
|
||||
border-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
&:checked + label {
|
||||
&:before {
|
||||
background-color: _palette($p, fg-bold);
|
||||
border-color: _palette($p, fg-bold);
|
||||
color: _palette($p, bg);
|
||||
}
|
||||
}
|
||||
|
||||
&:focus + label {
|
||||
&:before {
|
||||
border-color: _palette($p, accent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
color: _palette($p, fg-light) !important;
|
||||
}
|
||||
|
||||
:-moz-placeholder {
|
||||
color: _palette($p, fg-light) !important;
|
||||
}
|
||||
|
||||
::-moz-placeholder {
|
||||
color: _palette($p, fg-light) !important;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
color: _palette($p, fg-light) !important;
|
||||
}
|
||||
|
||||
.formerize-placeholder {
|
||||
color: _palette($p, fg-light) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@include color-form;
|
||||
@@ -1,17 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Icon */
|
||||
|
||||
.icon {
|
||||
@include icon;
|
||||
border-bottom: none;
|
||||
position: relative;
|
||||
|
||||
> .label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Icons */
|
||||
|
||||
ul.icons {
|
||||
cursor: default;
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
padding: 0 0.5rem 0 0;
|
||||
vertical-align: middle;
|
||||
|
||||
&:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.icon {
|
||||
&:before {
|
||||
width: 2.25rem;
|
||||
height: 2.25rem;
|
||||
line-height: 2.25rem;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
border-radius: 100%;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.alt {
|
||||
li {
|
||||
.icon {
|
||||
&:before {
|
||||
@include vendor('transition', (
|
||||
'color #{_duration(transition)} ease-in-out',
|
||||
'background-color #{_duration(transition)} ease-in-out',
|
||||
'border-color #{_duration(transition)} ease-in-out',
|
||||
'box-shadow #{_duration(transition)} ease-in-out'
|
||||
));
|
||||
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Image */
|
||||
|
||||
.image {
|
||||
border: 0;
|
||||
border-radius: _size(border-radius);
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
border-radius: _size(border-radius);
|
||||
display: block;
|
||||
}
|
||||
|
||||
&.left,
|
||||
&.right {
|
||||
max-width: 40%;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&.left {
|
||||
float: left;
|
||||
margin: 0 2rem 2rem 0;
|
||||
top: 0.75rem;
|
||||
}
|
||||
|
||||
&.right {
|
||||
float: right;
|
||||
margin: 0 0 2rem 2rem;
|
||||
top: 0.75rem;
|
||||
}
|
||||
|
||||
&.fit {
|
||||
display: block;
|
||||
margin: (_size(element-margin) * 1.25) 0;
|
||||
width: 100%;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&.main {
|
||||
display: block;
|
||||
margin: (_size(element-margin) * 2) 0;
|
||||
width: 100%;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
&.fit {
|
||||
margin: _size(element-margin) 0;
|
||||
}
|
||||
|
||||
&.main {
|
||||
margin: _size(element-margin) 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a.image {
|
||||
overflow: hidden;
|
||||
|
||||
img {
|
||||
@include vendor('transition', 'transform #{_duration(transition)} ease-out');
|
||||
}
|
||||
|
||||
&:hover {
|
||||
img {
|
||||
@include vendor('transform', 'scale(1.05)');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* List */
|
||||
|
||||
ol {
|
||||
list-style: decimal;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
padding-left: 1.25rem;
|
||||
|
||||
li {
|
||||
padding-left: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: disc;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
padding-left: 1rem;
|
||||
|
||||
li {
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
&.divided {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
|
||||
li {
|
||||
border-top: solid 1px;
|
||||
padding: 0.5rem 0;
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
|
||||
dt {
|
||||
display: block;
|
||||
font-weight: _font(weight-bold);
|
||||
margin: 0 0 (_size(element-margin) * 0.5) 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: _size(element-margin);
|
||||
}
|
||||
}
|
||||
|
||||
@mixin color-list($p: null) {
|
||||
ul {
|
||||
&.divided {
|
||||
li {
|
||||
border-top-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
&.icons {
|
||||
li {
|
||||
a.icon {
|
||||
&:hover {
|
||||
&:before {
|
||||
color: _palette($p, accent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.alt {
|
||||
li {
|
||||
.icon {
|
||||
&:before {
|
||||
box-shadow: inset 0 0 0 2px _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
a.icon {
|
||||
&:hover {
|
||||
&:before {
|
||||
box-shadow: inset 0 0 0 2px _palette($p, accent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include color-list;
|
||||
@@ -1,110 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Pagination */
|
||||
|
||||
.pagination {
|
||||
@include vendor('display', 'inline-flex');
|
||||
@include vendor('user-select', 'none');
|
||||
cursor: default;
|
||||
list-style: none;
|
||||
margin: 0 0 _size(element-margin) 2px;
|
||||
padding: 0;
|
||||
|
||||
a, span {
|
||||
@include vendor('transition', (
|
||||
'background-color #{_duration(transition)} ease-in-out',
|
||||
'border-color #{_duration(transition)} ease-in-out',
|
||||
'box-shadow #{_duration(transition)} ease-in-out',
|
||||
'color #{_duration(transition)} ease-in-out'
|
||||
));
|
||||
border: solid 2px;
|
||||
display: inline-block;
|
||||
font-family: _font(family-heading);
|
||||
font-size: 0.8rem;
|
||||
font-weight: _font(weight-heading);
|
||||
height: _size(element-height);
|
||||
letter-spacing: 0.075em;
|
||||
letter-spacing: _font(letter-spacing-heading);
|
||||
line-height: calc(#{_size(element-height)} - 4px);
|
||||
margin-left: -2px;
|
||||
min-width: _size(element-height);
|
||||
position: relative;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.next, .previous {
|
||||
@include icon;
|
||||
padding: 0 1.75rem;
|
||||
|
||||
&:before {
|
||||
display: inline-block;
|
||||
color: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
.previous {
|
||||
&:before {
|
||||
content: '\f104';
|
||||
margin-right: (0.75em / 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
.next {
|
||||
&:before {
|
||||
content: '\f105';
|
||||
float: right;
|
||||
margin-left: (0.75em / 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
a, span {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
.page, .extra {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin color-pagination($p: null) {
|
||||
.pagination {
|
||||
a, span {
|
||||
border-color: _palette($p, border);
|
||||
}
|
||||
|
||||
a {
|
||||
color: _palette($p, fg-bold) !important;
|
||||
|
||||
&:hover {
|
||||
color: _palette($p, accent) !important;
|
||||
border-color: _palette($p, accent);
|
||||
z-index: 1;
|
||||
|
||||
& + a,
|
||||
& + span {
|
||||
border-left-color: _palette($p, accent);
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include color-pagination;
|
||||
@@ -1,35 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Row */
|
||||
|
||||
.row {
|
||||
@include html-grid(1.5rem);
|
||||
|
||||
@include breakpoint('<=xlarge') {
|
||||
@include html-grid(1.5rem, 'xlarge');
|
||||
}
|
||||
|
||||
@include breakpoint('<=large') {
|
||||
@include html-grid(1.5rem, 'large');
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
@include html-grid(1.5rem, 'medium');
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
@include html-grid(1.5rem, 'small');
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
@include html-grid(1.5rem, 'xsmall');
|
||||
}
|
||||
|
||||
@include breakpoint('<=xxsmall') {
|
||||
@include html-grid(1.5rem, 'xxsmall');
|
||||
}
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Section/Article */
|
||||
|
||||
section, article {
|
||||
&.special {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
cursor: default;
|
||||
|
||||
> .date {
|
||||
display: block;
|
||||
font-size: 0.8rem;
|
||||
height: 1;
|
||||
margin: 0 0 (_size(element-margin) * 0.5) 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
> p {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
> h1 + p {
|
||||
font-size: 1.1rem;
|
||||
margin-top: -0.5rem;
|
||||
line-height: 2;
|
||||
}
|
||||
|
||||
> h2 + p {
|
||||
font-size: 1rem;
|
||||
margin-top: -0.75rem;
|
||||
}
|
||||
|
||||
> h3 + p {
|
||||
font-size: 0.9rem;
|
||||
margin-top: -0.75rem;
|
||||
}
|
||||
|
||||
> h4 + p {
|
||||
font-size: 0.8rem;
|
||||
margin-top: -0.75rem;
|
||||
}
|
||||
|
||||
&.major {
|
||||
margin: 0 0 (_size(element-margin) * 2) 0;
|
||||
text-align: center;
|
||||
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> p {
|
||||
margin-top: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
> .date {
|
||||
font-size: 1rem;
|
||||
margin: 0 0 (_size(element-margin) * 2) 0;
|
||||
|
||||
&:before, &:after {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: calc(50% - 6rem);
|
||||
border-top: solid 2px;
|
||||
}
|
||||
|
||||
&:before {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
&:after {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
br {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
&.major {
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin color-section($p: null) {
|
||||
header {
|
||||
&.major {
|
||||
.date {
|
||||
&:before, &:after {
|
||||
border-top-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include color-section;
|
||||
122
public/assets/ecc/assets/sass/components/_table.scss
vendored
@@ -1,122 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Table */
|
||||
|
||||
.table-wrapper {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
width: 100%;
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
border: solid 1px;
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 0.75rem 0.75rem;
|
||||
}
|
||||
|
||||
th {
|
||||
font-family: _font(family-heading);
|
||||
font-size: 0.8rem;
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
line-height: 1.5;
|
||||
padding: 0 0.75rem 0.75rem 0.75rem;
|
||||
text-align: left;
|
||||
text-transform: uppercase;
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
thead {
|
||||
border-bottom: solid 2px;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
border-top: solid 2px;
|
||||
}
|
||||
|
||||
&.alt {
|
||||
border-collapse: separate;
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
td {
|
||||
border: solid 1px;
|
||||
border-left-width: 0;
|
||||
border-top-width: 0;
|
||||
|
||||
&:first-child {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
td {
|
||||
border-top-width: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
thead {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin color-table($p: null) {
|
||||
table {
|
||||
tbody {
|
||||
tr {
|
||||
border-color: _palette($p, border);
|
||||
|
||||
&:nth-child(2n + 1) {
|
||||
background-color: _palette($p, border-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
color: _palette($p, fg-bold);
|
||||
}
|
||||
|
||||
thead {
|
||||
border-bottom-color: _palette($p, border);
|
||||
}
|
||||
|
||||
tfoot {
|
||||
border-top-color: _palette($p, border);
|
||||
}
|
||||
|
||||
&.alt {
|
||||
tbody {
|
||||
tr {
|
||||
td {
|
||||
border-color: _palette($p, border);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include color-table;
|
||||
243
public/assets/ecc/assets/sass/layout/_footer.scss
vendored
@@ -1,243 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Footer */
|
||||
|
||||
#footer {
|
||||
@include color(alt);
|
||||
@include vendor('display', 'flex');
|
||||
background-color: _palette(alt, bg);
|
||||
color: _palette(fg-light);
|
||||
cursor: default;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: calc(100% - #{_size(padding) * 2});
|
||||
max-width: _size(wrapper);
|
||||
z-index: 2;
|
||||
|
||||
> section {
|
||||
@include vendor('flex-basis', '50%');
|
||||
@include vendor('flex-grow', '1');
|
||||
@include vendor('flex-shrink', '1');
|
||||
@include padding((_size(padding) * 2), (_size(padding) * 2));
|
||||
border-left: solid 2px _palette(alt, border);
|
||||
|
||||
&:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
&.split {
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('flex-direction', 'column');
|
||||
padding: 0;
|
||||
|
||||
> section {
|
||||
@include padding((_size(padding) * 2) - 1, (_size(padding) * 2));
|
||||
border-top: solid 2px _palette(alt, border);
|
||||
|
||||
&:first-child {
|
||||
@include padding((_size(padding) * 2) - 1, (_size(padding) * 2), (_size(padding), 0, 0, 0));
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
@include padding((_size(padding) * 2) - 1, (_size(padding) * 2), (0, 0, _size(padding), 0));
|
||||
}
|
||||
}
|
||||
|
||||
&.contact {
|
||||
> section {
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('align-items', 'center');
|
||||
padding: (_size(padding) * 1.575) (_size(padding) * 2);
|
||||
|
||||
> * {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> :first-child {
|
||||
@include vendor('flex-shrink', '0');
|
||||
@include vendor('flex-grow', '0');
|
||||
width: 6rem;
|
||||
}
|
||||
|
||||
> :last-child {
|
||||
@include vendor('flex-shrink', '1');
|
||||
@include vendor('flex-grow', '1');
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
padding: (_size(padding) * 2) (_size(padding) * 2) ((_size(padding) * 2) - 1) (_size(padding) * 2);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding: ((_size(padding) * 2) - 1) (_size(padding) * 2) (_size(padding) * 2) (_size(padding) * 2);
|
||||
}
|
||||
|
||||
&.alt {
|
||||
@include vendor('align-items', 'flex-start');
|
||||
|
||||
> :last-child {
|
||||
margin-top: -0.325rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
form label,
|
||||
h3,
|
||||
p {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
display: block;
|
||||
|
||||
> section {
|
||||
border-top: solid 2px _palette(alt, border);
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
&.split {
|
||||
> section {
|
||||
@include padding((_size(padding) * 2), (_size(padding) * 2));
|
||||
|
||||
&:first-child {
|
||||
@include padding((_size(padding) * 2), (_size(padding) * 2));
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
@include padding((_size(padding) * 2), (_size(padding) * 2));
|
||||
}
|
||||
}
|
||||
|
||||
&.contact {
|
||||
> section {
|
||||
padding: (_size(padding) * 2);
|
||||
|
||||
&:first-child {
|
||||
padding: (_size(padding) * 2);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding: (_size(padding) * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
form label,
|
||||
h3,
|
||||
p {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
> section {
|
||||
@include padding((_size(padding) * 1), (_size(padding) * 1));
|
||||
|
||||
&.split {
|
||||
> section {
|
||||
@include padding((_size(padding) * 1), (_size(padding) * 1));
|
||||
|
||||
&:first-child {
|
||||
@include padding((_size(padding) * 1), (_size(padding) * 1));
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
@include padding((_size(padding) * 1), (_size(padding) * 1));
|
||||
}
|
||||
}
|
||||
|
||||
&.contact {
|
||||
> section {
|
||||
padding: (_size(padding) * 1);
|
||||
|
||||
&:first-child {
|
||||
padding: (_size(padding) * 1);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding: (_size(padding) * 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#copyright {
|
||||
@include color-typography(invert);
|
||||
position: relative;
|
||||
color: transparentize(_palette(invert, fg), 0.75);
|
||||
cursor: default;
|
||||
font-family: _font(family-heading);
|
||||
font-size: 0.8rem;
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
line-height: 1.5;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
margin: (_size(padding) * 2) auto (_size(padding) * 4) auto;
|
||||
width: calc(100% - #{_size(padding) * 2});
|
||||
max-width: _size(wrapper);
|
||||
z-index: 2;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
border-bottom-color: inherit;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding-left: 0;
|
||||
|
||||
li {
|
||||
border-left: solid 2px;
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
margin-left: 1rem;
|
||||
padding-left: 1rem;
|
||||
|
||||
&:first-child {
|
||||
border-left: 0;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=large') {
|
||||
margin: (_size(padding) * 2) auto;
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
ul {
|
||||
li {
|
||||
border-left: 0;
|
||||
margin: 1rem 0 0 0;
|
||||
padding-left: 0;
|
||||
display: block;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Header */
|
||||
|
||||
#header {
|
||||
@include color-typography(invert);
|
||||
@include vendor('align-items', 'center');
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('flex-direction', 'column');
|
||||
@include vendor('justify-content', 'flex-end');
|
||||
@include vendor('pointer-events', 'none');
|
||||
@include vendor('user-select', 'none');
|
||||
height: 20rem;
|
||||
padding-bottom: (_size(padding) * 4);
|
||||
position: relative;
|
||||
text-align: center;
|
||||
z-index: 2;
|
||||
|
||||
.logo {
|
||||
@include vendor('transition', (
|
||||
'border-color #{_duration(transition)} ease-in-out',
|
||||
'color #{_duration(transition)} ease-in-out',
|
||||
'opacity 0.5s ease',
|
||||
'transform 0.5s ease',
|
||||
'visibility 0.5s'
|
||||
));
|
||||
@include vendor('pointer-events', 'auto');
|
||||
border-style: solid;
|
||||
border-color: _palette(invert, border);
|
||||
border-width: 5px !important;
|
||||
font-family: _font(family-heading);
|
||||
font-size: 2.25rem;
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
line-height: 1;
|
||||
padding: 1rem 1.75rem;
|
||||
text-transform: uppercase;
|
||||
visibility: visible;
|
||||
|
||||
&:hover {
|
||||
border-color: _palette(invert, accent) !important;
|
||||
color: _palette(invert, accent) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
height: 14rem;
|
||||
padding-bottom: (_size(padding) * 2);
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
padding-bottom: (_size(padding) * 1.5);
|
||||
|
||||
.logo {
|
||||
font-size: 1.75rem;
|
||||
border-width: 3px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
115
public/assets/ecc/assets/sass/layout/_intro.scss
vendored
@@ -1,115 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Intro */
|
||||
|
||||
#intro {
|
||||
@include color-typography(invert);
|
||||
@include color-button(invert);
|
||||
@include padding(_size(padding) * 4, _size(padding) * 2);
|
||||
@include vendor('align-items', 'center');
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('flex-direction', 'column');
|
||||
@include vendor('justify-content', 'flex-end');
|
||||
@include vendor('transition', (
|
||||
'opacity 1s ease',
|
||||
'transform 1s ease'
|
||||
));
|
||||
position: relative;
|
||||
cursor: default;
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
min-height: 100vh;
|
||||
|
||||
h1 {
|
||||
font-size: 5rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.25rem;
|
||||
font-style: italic;
|
||||
margin-top: -0.25rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
& + #header {
|
||||
margin-top: -20rem;
|
||||
|
||||
.logo {
|
||||
@include vendor('transform', 'translateY(2rem)');
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
&.hidden {
|
||||
@include vendor('pointer-events', 'none');
|
||||
@include vendor('transform', 'translateY(2rem)');
|
||||
@include vendor('transition', (
|
||||
'opacity 0.5s ease',
|
||||
'transform 0.5s ease',
|
||||
'visibility 0.5s'
|
||||
));
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
|
||||
& + #header {
|
||||
.logo {
|
||||
@include vendor('transform', 'translateY(0)');
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body.is-preload & {
|
||||
@include vendor('transform', 'translateY(2rem)');
|
||||
opacity: 0;
|
||||
|
||||
&:not(.hidden) {
|
||||
& + #header + #nav {
|
||||
@include vendor('transform', 'translateY(4rem)');
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
@include padding(_size(padding) * 2, _size(padding) * 2);
|
||||
min-height: 90vh;
|
||||
|
||||
p {
|
||||
br {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
& + #header {
|
||||
margin-top: -14rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
@include padding(_size(padding) * 1.5, _size(padding) * 1);
|
||||
min-height: 80vh;
|
||||
|
||||
h1 {
|
||||
font-size: 3.25rem;
|
||||
line-height: 1.1;
|
||||
margin-bottom: _size(element-margin) * 0.5;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1rem;
|
||||
margin-top: 0rem;
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
158
public/assets/ecc/assets/sass/layout/_main.scss
vendored
@@ -1,158 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Main */
|
||||
|
||||
#main {
|
||||
background-color: _palette(bg);
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: calc(100% - #{_size(padding) * 2});
|
||||
max-width: _size(wrapper);
|
||||
z-index: 2;
|
||||
|
||||
> * {
|
||||
@include padding((_size(padding) * 2), (_size(padding) * 2));
|
||||
border-top: solid 2px _palette(border);
|
||||
margin: 0;
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
> footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
> .post {
|
||||
@include padding((_size(padding) * 4), (_size(padding) * 4));
|
||||
|
||||
header {
|
||||
&.major {
|
||||
> .date {
|
||||
margin-top: -2rem;
|
||||
}
|
||||
|
||||
> h1, h2 {
|
||||
font-size: 4rem;
|
||||
line-height: 1.1;
|
||||
margin: 0 0 _size(element-margin) 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.featured {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@include breakpoint('<=large') {
|
||||
@include padding((_size(padding) * 3), (_size(padding) * 2));
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
@include padding((_size(padding) * 2), (_size(padding) * 1));
|
||||
|
||||
header {
|
||||
&.major {
|
||||
> .date {
|
||||
margin-top: -1rem;
|
||||
margin-bottom: _size(element-margin);
|
||||
}
|
||||
|
||||
> h1, h2 {
|
||||
font-size: 2.5rem;
|
||||
line-height: 1.2;
|
||||
margin: 0 0 (_size(element-margin) * 0.75) 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .posts {
|
||||
@include fixed-grid((
|
||||
columns: 2,
|
||||
gutters: (_size(padding) * 4),
|
||||
horizontal-align: center,
|
||||
vertical-align: flex-start,
|
||||
flush: false
|
||||
));
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
|
||||
> article {
|
||||
border-color: _palette(border);
|
||||
border-left-width: 2px;
|
||||
border-style: solid;
|
||||
border-top-width: 2px;
|
||||
text-align: center;
|
||||
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&:nth-child(2n - 1) {
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
&:nth-child(-n + 2) {
|
||||
border-top-width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
@include fixed-grid-resize((
|
||||
columns: 2,
|
||||
gutters: (_size(padding) * 2.5),
|
||||
flush: false
|
||||
));
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
@include fixed-grid-resize((
|
||||
columns: 1,
|
||||
gutters: (_size(padding) * 2),
|
||||
prev-columns: 2,
|
||||
flush: false
|
||||
));
|
||||
|
||||
> article {
|
||||
&:nth-child(2n - 1) {
|
||||
border-left-width: 2px;
|
||||
}
|
||||
|
||||
&:nth-child(-n + 2) {
|
||||
border-top-width: 2px;
|
||||
}
|
||||
|
||||
&:nth-child(n) {
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
&:nth-child(-n + 1) {
|
||||
border-top-width: 0;
|
||||
}
|
||||
|
||||
.image {
|
||||
max-width: 25rem;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
> * {
|
||||
@include padding((_size(padding) * 1), (_size(padding) * 1));
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=xsmall') {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
85
public/assets/ecc/assets/sass/layout/_nav.scss
vendored
@@ -1,85 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Nav */
|
||||
|
||||
#nav {
|
||||
@include color-list(invert);
|
||||
@include color-typography(invert);
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('transition', (
|
||||
'transform 1s ease',
|
||||
'opacity 1s ease'
|
||||
));
|
||||
background: rgba(255,255,255,0.175);
|
||||
height: 4rem;
|
||||
line-height: 4rem;
|
||||
margin: -4rem auto 0 auto;
|
||||
overflow: hidden;
|
||||
padding: 0 2rem 0 0;
|
||||
position: relative;
|
||||
width: calc(100% - #{_size(padding) * 2});
|
||||
max-width: _size(wrapper);
|
||||
z-index: 2;
|
||||
|
||||
ul {
|
||||
&.links {
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('flex-grow', '1');
|
||||
@include vendor('flex-shrink', '1');
|
||||
font-family: _font(family-heading);
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
list-style: none;
|
||||
margin-bottom: 0;
|
||||
padding-left: 0;
|
||||
text-transform: uppercase;
|
||||
|
||||
li {
|
||||
display: block;
|
||||
padding-left: 0;
|
||||
|
||||
a {
|
||||
@include vendor('transition', (
|
||||
'background-color #{_duration(transition)} ease-in-out',
|
||||
'color #{_duration(transition)} ease-in-out'
|
||||
));
|
||||
display: block;
|
||||
font-size: 0.8rem;
|
||||
outline: none;
|
||||
padding: 0 2rem;
|
||||
|
||||
&:hover {
|
||||
color: inherit !important;
|
||||
background-color: transparentize(_palette(invert, fg), 0.9);
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: _palette(invert, fg);
|
||||
|
||||
a {
|
||||
color: _palette(invert, bg);
|
||||
|
||||
&:hover {
|
||||
color: _palette(invert, accent) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.icons {
|
||||
@include vendor('flex-grow', '0');
|
||||
@include vendor('flex-shrink', '0');
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
153
public/assets/ecc/assets/sass/layout/_navPanel.scss
vendored
@@ -1,153 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Nav Panel */
|
||||
|
||||
#navPanelToggle {
|
||||
@include icon;
|
||||
@include vendor('transition', (
|
||||
'color #{_duration(transition)} ease-in-out',
|
||||
'background-color #{_duration(transition)} ease-in-out',
|
||||
'box-shadow #{_duration(transition)} ease-in-out'
|
||||
));
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 0.75rem;
|
||||
right: 0.75rem;
|
||||
border: 0;
|
||||
color: _palette(invert, fg-bold);
|
||||
font-family: _font(family-heading);
|
||||
font-size: 0.9rem;
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
padding: 0.375rem 1.25rem;
|
||||
text-transform: uppercase;
|
||||
z-index: _misc(z-index-base) + 1;
|
||||
|
||||
&:before {
|
||||
content: '\f0c9';
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
&.alt {
|
||||
background-color: transparentize(_palette(bg), 0.125);
|
||||
box-shadow: 0 0.125rem 0.75rem 0 transparentize(_palette(invert, bg), 0.75);
|
||||
color: _palette(fg-bold);
|
||||
|
||||
&:hover {
|
||||
background-color: _palette(bg);
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
font-size: 0.8rem;
|
||||
padding: 0.25rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
#navPanel {
|
||||
@include vendor('transform', 'translateX(20rem)');
|
||||
@include vendor('transition', ('transform #{_duration(menu)} ease', 'box-shadow #{_duration(menu)} ease', 'visibility #{_duration(menu)}'));
|
||||
display: none;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
background: _palette(bg);
|
||||
box-shadow: none;
|
||||
color: _palette(fg-bold);
|
||||
height: 100%;
|
||||
max-width: 80%;
|
||||
overflow-y: auto;
|
||||
padding: 3rem 2rem;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
visibility: hidden;
|
||||
width: 20rem;
|
||||
z-index: _misc(z-index-base) + 2;
|
||||
|
||||
.links {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
|
||||
li {
|
||||
border-top: solid 2px _palette(border);
|
||||
|
||||
a {
|
||||
border-bottom: 0;
|
||||
display: block;
|
||||
font-family: _font(family-heading);
|
||||
font-size: 0.9rem;
|
||||
font-size: 0.9rem;
|
||||
font-weight: _font(weight-heading);
|
||||
letter-spacing: 0.075em;
|
||||
padding: 0.75rem 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.close {
|
||||
@include icon;
|
||||
@include vendor('transition', 'color #{_duration(transition)} ease-in-out');
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
border: 0;
|
||||
color: _palette(fg-light);
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 3.25rem;
|
||||
line-height: 3.25rem;
|
||||
padding-right: 1.25rem;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
text-align: right;
|
||||
top: 0;
|
||||
vertical-align: middle;
|
||||
width: 7rem;
|
||||
|
||||
&:before {
|
||||
content: '\f00d';
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: _palette(fg-bold);
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
height: 4rem;
|
||||
line-height: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@include breakpoint('<=small') {
|
||||
padding: 2.5rem 1.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint('<=medium') {
|
||||
body.is-navPanel-visible {
|
||||
#wrapper {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#navPanel {
|
||||
@include vendor('transform', 'translateX(0)');
|
||||
box-shadow: 0 0 1.5rem 0 rgba(0,0,0,0.2);
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
///
|
||||
/// Massively by HTML5 UP
|
||||
/// html5up.net | @ajlkn
|
||||
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
///
|
||||
|
||||
/* Wrapper */
|
||||
|
||||
#wrapper {
|
||||
@include vendor('transition', 'opacity #{_duration(menu)} ease');
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
overflow: hidden;
|
||||
|
||||
> .bg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: _palette(wrapper-bg);
|
||||
background-image: url('../../images/overlay.png'), linear-gradient(0deg, rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url('../../images/bg.jpg');
|
||||
background-size: auto, auto, 100% auto;
|
||||
background-position: center, center, top center;
|
||||
background-repeat: repeat, no-repeat, no-repeat;
|
||||
background-attachment: scroll, scroll, scroll;
|
||||
z-index: -1;
|
||||
|
||||
&.fixed {
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
&.fade-in {
|
||||
&:before {
|
||||
@include vendor('pointer-events', 'none');
|
||||
@include vendor('transition', 'opacity 1s ease-in-out');
|
||||
@include vendor('transition-delay', '0.75s');
|
||||
background: _palette(invert, bg);
|
||||
content: '';
|
||||
display: block;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
body.is-preload & {
|
||||
&:before {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include orientation(portrait) {
|
||||
> .bg {
|
||||
background-size: auto, auto, auto 175%;
|
||||
}
|
||||
}
|
||||
}
|
||||
223
public/assets/ecc/assets/sass/libs/_breakpoints.scss
vendored
@@ -1,223 +0,0 @@
|
||||
// breakpoints.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Vars.
|
||||
|
||||
/// Breakpoints.
|
||||
/// @var {list}
|
||||
$breakpoints: () !global;
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Sets breakpoints.
|
||||
/// @param {map} $x Breakpoints.
|
||||
@mixin breakpoints($x: ()) {
|
||||
$breakpoints: $x !global;
|
||||
}
|
||||
|
||||
/// Wraps @content in a @media block targeting a specific orientation.
|
||||
/// @param {string} $orientation Orientation.
|
||||
@mixin orientation($orientation) {
|
||||
@media screen and (orientation: #{$orientation}) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
/// Wraps @content in a @media block using a given query.
|
||||
/// @param {string} $query Query.
|
||||
@mixin breakpoint($query: null) {
|
||||
|
||||
$breakpoint: null;
|
||||
$op: null;
|
||||
$media: null;
|
||||
|
||||
// Determine operator, breakpoint.
|
||||
|
||||
// Greater than or equal.
|
||||
@if (str-slice($query, 0, 2) == '>=') {
|
||||
|
||||
$op: 'gte';
|
||||
$breakpoint: str-slice($query, 3);
|
||||
|
||||
}
|
||||
|
||||
// Less than or equal.
|
||||
@elseif (str-slice($query, 0, 2) == '<=') {
|
||||
|
||||
$op: 'lte';
|
||||
$breakpoint: str-slice($query, 3);
|
||||
|
||||
}
|
||||
|
||||
// Greater than.
|
||||
@elseif (str-slice($query, 0, 1) == '>') {
|
||||
|
||||
$op: 'gt';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
|
||||
}
|
||||
|
||||
// Less than.
|
||||
@elseif (str-slice($query, 0, 1) == '<') {
|
||||
|
||||
$op: 'lt';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
|
||||
}
|
||||
|
||||
// Not.
|
||||
@elseif (str-slice($query, 0, 1) == '!') {
|
||||
|
||||
$op: 'not';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
|
||||
}
|
||||
|
||||
// Equal.
|
||||
@else {
|
||||
|
||||
$op: 'eq';
|
||||
$breakpoint: $query;
|
||||
|
||||
}
|
||||
|
||||
// Build media.
|
||||
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
|
||||
|
||||
$a: map-get($breakpoints, $breakpoint);
|
||||
|
||||
// Range.
|
||||
@if (type-of($a) == 'list') {
|
||||
|
||||
$x: nth($a, 1);
|
||||
$y: nth($a, 2);
|
||||
|
||||
// Max only.
|
||||
@if ($x == null) {
|
||||
|
||||
// Greater than or equal (>= 0 / anything)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen';
|
||||
}
|
||||
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Less than (< 0 / invalid)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: -1px)';
|
||||
}
|
||||
|
||||
// Not (> y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (<= y)
|
||||
@else {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Min only.
|
||||
@else if ($y == null) {
|
||||
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
// Less than or equal (<= inf / anything)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen';
|
||||
}
|
||||
|
||||
// Greater than (> inf / invalid)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (max-width: -1px)';
|
||||
}
|
||||
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Not (< x)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (>= x)
|
||||
@else {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Min and max.
|
||||
@else {
|
||||
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Not (< x and > y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (>= x and <= y)
|
||||
@else {
|
||||
$media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// String.
|
||||
@else {
|
||||
|
||||
// Missing a media type? Prefix with "screen".
|
||||
@if (str-slice($a, 0, 1) == '(') {
|
||||
$media: 'screen and ' + $a;
|
||||
}
|
||||
|
||||
// Otherwise, use as-is.
|
||||
@else {
|
||||
$media: $a;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Output.
|
||||
@media #{$media} {
|
||||
@content;
|
||||
}
|
||||
|
||||
}
|
||||
338
public/assets/ecc/assets/sass/libs/_fixed-grid.scss
vendored
@@ -1,338 +0,0 @@
|
||||
// fixed-grid.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Initializes base fixed-grid classes.
|
||||
/// @param {string} $vertical-align Vertical alignment of cells.
|
||||
/// @param {string} $horizontal-align Horizontal alignment of cells.
|
||||
@mixin fixed-grid-base($vertical-align: null, $horizontal-align: null) {
|
||||
|
||||
// Grid.
|
||||
@include vendor('display', 'flex');
|
||||
@include vendor('flex-wrap', 'wrap');
|
||||
|
||||
// Vertical alignment.
|
||||
@if ($vertical-align == top) {
|
||||
@include vendor('align-items', 'flex-start');
|
||||
}
|
||||
@else if ($vertical-align == bottom) {
|
||||
@include vendor('align-items', 'flex-end');
|
||||
}
|
||||
@else if ($vertical-align == center) {
|
||||
@include vendor('align-items', 'center');
|
||||
}
|
||||
@else {
|
||||
@include vendor('align-items', 'stretch');
|
||||
}
|
||||
|
||||
// Horizontal alignment.
|
||||
@if ($horizontal-align != null) {
|
||||
text-align: $horizontal-align;
|
||||
}
|
||||
|
||||
// Cells.
|
||||
> * {
|
||||
@include vendor('flex-shrink', '1');
|
||||
@include vendor('flex-grow', '0');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Sets up fixed-grid columns.
|
||||
/// @param {integer} $columns Columns.
|
||||
@mixin fixed-grid-columns($columns) {
|
||||
|
||||
> * {
|
||||
$cell-width: 100% / $columns;
|
||||
width: #{$cell-width};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Sets up fixed-grid gutters.
|
||||
/// @param {integer} $columns Columns.
|
||||
/// @param {number} $gutters Gutters.
|
||||
@mixin fixed-grid-gutters($columns, $gutters) {
|
||||
|
||||
// Apply padding.
|
||||
> * {
|
||||
$cell-width: 100% / $columns;
|
||||
|
||||
padding: ($gutters * 0.5);
|
||||
width: $cell-width;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Sets up fixed-grid gutters (flush).
|
||||
/// @param {integer} $columns Columns.
|
||||
/// @param {number} $gutters Gutters.
|
||||
@mixin fixed-grid-gutters-flush($columns, $gutters) {
|
||||
|
||||
// Apply padding.
|
||||
> * {
|
||||
$cell-width: 100% / $columns;
|
||||
$cell-width-pad: $gutters / $columns;
|
||||
|
||||
padding: ($gutters * 0.5);
|
||||
width: calc(#{$cell-width} + #{$cell-width-pad});
|
||||
}
|
||||
|
||||
// Clear top/bottom gutters.
|
||||
> :nth-child(-n + #{$columns}) {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
> :nth-last-child(-n + #{$columns}) {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
// Clear left/right gutters.
|
||||
> :nth-child(#{$columns}n + 1) {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
> :nth-child(#{$columns}n) {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
// Adjust widths of leftmost and rightmost cells.
|
||||
> :nth-child(#{$columns}n + 1),
|
||||
> :nth-child(#{$columns}n) {
|
||||
$cell-width: 100% / $columns;
|
||||
$cell-width-pad: ($gutters / $columns) - ($gutters / 2);
|
||||
|
||||
width: calc(#{$cell-width} + #{$cell-width-pad});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Reset fixed-grid gutters (flush only).
|
||||
/// Used to override a previous set of fixed-grid gutter classes.
|
||||
/// @param {integer} $columns Columns.
|
||||
/// @param {number} $gutters Gutters.
|
||||
/// @param {integer} $prev-columns Previous columns.
|
||||
@mixin fixed-grid-gutters-flush-reset($columns, $gutters, $prev-columns) {
|
||||
|
||||
// Apply padding.
|
||||
> * {
|
||||
$cell-width: 100% / $prev-columns;
|
||||
$cell-width-pad: $gutters / $prev-columns;
|
||||
|
||||
padding: ($gutters * 0.5);
|
||||
width: calc(#{$cell-width} + #{$cell-width-pad});
|
||||
}
|
||||
|
||||
// Clear top/bottom gutters.
|
||||
> :nth-child(-n + #{$prev-columns}) {
|
||||
padding-top: ($gutters * 0.5);
|
||||
}
|
||||
|
||||
> :nth-last-child(-n + #{$prev-columns}) {
|
||||
padding-bottom: ($gutters * 0.5);
|
||||
}
|
||||
|
||||
// Clear left/right gutters.
|
||||
> :nth-child(#{$prev-columns}n + 1) {
|
||||
padding-left: ($gutters * 0.5);
|
||||
}
|
||||
|
||||
> :nth-child(#{$prev-columns}n) {
|
||||
padding-right: ($gutters * 0.5);
|
||||
}
|
||||
|
||||
// Adjust widths of leftmost and rightmost cells.
|
||||
> :nth-child(#{$prev-columns}n + 1),
|
||||
> :nth-child(#{$prev-columns}n) {
|
||||
$cell-width: 100% / $columns;
|
||||
$cell-width-pad: $gutters / $columns;
|
||||
|
||||
padding: ($gutters * 0.5);
|
||||
width: calc(#{$cell-width} + #{$cell-width-pad});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Adds debug styles to current fixed-grid element.
|
||||
@mixin fixed-grid-debug() {
|
||||
|
||||
box-shadow: 0 0 0 1px red;
|
||||
|
||||
> * {
|
||||
box-shadow: inset 0 0 0 1px blue;
|
||||
position: relative;
|
||||
|
||||
> * {
|
||||
position: relative;
|
||||
box-shadow: inset 0 0 0 1px green;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Initializes the current element as a fixed grid.
|
||||
/// @param {integer} $columns Columns (optional).
|
||||
/// @param {number} $gutters Gutters (optional).
|
||||
/// @param {bool} $flush If true, clears padding around the very edge of the grid.
|
||||
@mixin fixed-grid($settings: ()) {
|
||||
|
||||
// Settings.
|
||||
|
||||
// Debug.
|
||||
$debug: false;
|
||||
|
||||
@if (map-has-key($settings, 'debug')) {
|
||||
$debug: map-get($settings, 'debug');
|
||||
}
|
||||
|
||||
// Vertical align.
|
||||
$vertical-align: null;
|
||||
|
||||
@if (map-has-key($settings, 'vertical-align')) {
|
||||
$vertical-align: map-get($settings, 'vertical-align');
|
||||
}
|
||||
|
||||
// Horizontal align.
|
||||
$horizontal-align: null;
|
||||
|
||||
@if (map-has-key($settings, 'horizontal-align')) {
|
||||
$horizontal-align: map-get($settings, 'horizontal-align');
|
||||
}
|
||||
|
||||
// Columns.
|
||||
$columns: null;
|
||||
|
||||
@if (map-has-key($settings, 'columns')) {
|
||||
$columns: map-get($settings, 'columns');
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
$gutters: 0;
|
||||
|
||||
@if (map-has-key($settings, 'gutters')) {
|
||||
$gutters: map-get($settings, 'gutters');
|
||||
}
|
||||
|
||||
// Flush.
|
||||
$flush: true;
|
||||
|
||||
@if (map-has-key($settings, 'flush')) {
|
||||
$flush: map-get($settings, 'flush');
|
||||
}
|
||||
|
||||
// Initialize base grid.
|
||||
@include fixed-grid-base($vertical-align, $horizontal-align);
|
||||
|
||||
// Debug?
|
||||
@if ($debug) {
|
||||
@include fixed-grid-debug;
|
||||
}
|
||||
|
||||
// Columns specified?
|
||||
@if ($columns != null) {
|
||||
|
||||
// Initialize columns.
|
||||
@include fixed-grid-columns($columns);
|
||||
|
||||
// Gutters specified?
|
||||
@if ($gutters > 0) {
|
||||
|
||||
// Flush gutters?
|
||||
@if ($flush) {
|
||||
|
||||
// Initialize gutters (flush).
|
||||
@include fixed-grid-gutters-flush($columns, $gutters);
|
||||
|
||||
}
|
||||
|
||||
// Otherwise ...
|
||||
@else {
|
||||
|
||||
// Initialize gutters.
|
||||
@include fixed-grid-gutters($columns, $gutters);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Resizes a previously-initialized grid.
|
||||
/// @param {integer} $columns Columns.
|
||||
/// @param {number} $gutters Gutters (optional).
|
||||
/// @param {list} $reset A list of previously-initialized grid columns (only if $flush is true).
|
||||
/// @param {bool} $flush If true, clears padding around the very edge of the grid.
|
||||
@mixin fixed-grid-resize($settings: ()) {
|
||||
|
||||
// Settings.
|
||||
|
||||
// Columns.
|
||||
$columns: 1;
|
||||
|
||||
@if (map-has-key($settings, 'columns')) {
|
||||
$columns: map-get($settings, 'columns');
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
$gutters: 0;
|
||||
|
||||
@if (map-has-key($settings, 'gutters')) {
|
||||
$gutters: map-get($settings, 'gutters');
|
||||
}
|
||||
|
||||
// Previous columns.
|
||||
$prev-columns: false;
|
||||
|
||||
@if (map-has-key($settings, 'prev-columns')) {
|
||||
$prev-columns: map-get($settings, 'prev-columns');
|
||||
}
|
||||
|
||||
// Flush.
|
||||
$flush: true;
|
||||
|
||||
@if (map-has-key($settings, 'flush')) {
|
||||
$flush: map-get($settings, 'flush');
|
||||
}
|
||||
|
||||
// Resize columns.
|
||||
@include fixed-grid-columns($columns);
|
||||
|
||||
// Gutters specified?
|
||||
@if ($gutters > 0) {
|
||||
|
||||
// Flush gutters?
|
||||
@if ($flush) {
|
||||
|
||||
// Previous columns specified?
|
||||
@if ($prev-columns) {
|
||||
|
||||
// Convert to list if it isn't one already.
|
||||
@if (type-of($prev-columns) != list) {
|
||||
$prev-columns: ($prev-columns);
|
||||
}
|
||||
|
||||
// Step through list of previous columns and reset them.
|
||||
@each $x in $prev-columns {
|
||||
@include fixed-grid-gutters-flush-reset($columns, $gutters, $x);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Resize gutters (flush).
|
||||
@include fixed-grid-gutters-flush($columns, $gutters);
|
||||
|
||||
}
|
||||
|
||||
// Otherwise ...
|
||||
@else {
|
||||
|
||||
// Resize gutters.
|
||||
@include fixed-grid-gutters($columns, $gutters);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
|
||||
$result: null;
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a value from a map.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {map} $map Map.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function val($map, $keys...) {
|
||||
|
||||
@if nth($keys, 1) == null {
|
||||
$keys: remove-nth($keys, 1);
|
||||
}
|
||||
|
||||
@each $key in $keys {
|
||||
$map: map-get($map, $key);
|
||||
}
|
||||
|
||||
@return $map;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a duration value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _duration($keys...) {
|
||||
@return val($duration, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a font value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _font($keys...) {
|
||||
@return val($font, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a misc value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _misc($keys...) {
|
||||
@return val($misc, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a palette value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _palette($keys...) {
|
||||
@return val($palette, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a size value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _size($keys...) {
|
||||
@return val($size, $keys...);
|
||||
}
|
||||
149
public/assets/ecc/assets/sass/libs/_html-grid.scss
vendored
@@ -1,149 +0,0 @@
|
||||
// html-grid.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Initializes the current element as an HTML grid.
|
||||
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
||||
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
||||
@mixin html-grid($gutters: 1.5em, $suffix: '') {
|
||||
|
||||
// Initialize.
|
||||
$cols: 12;
|
||||
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
|
||||
$unit: 100% / $cols;
|
||||
|
||||
// Suffixes.
|
||||
$suffixes: null;
|
||||
|
||||
@if (type-of($suffix) == 'list') {
|
||||
$suffixes: $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffixes: ($suffix);
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
$guttersCols: null;
|
||||
$guttersRows: null;
|
||||
|
||||
@if (type-of($gutters) == 'list') {
|
||||
|
||||
$guttersCols: nth($gutters, 1);
|
||||
$guttersRows: nth($gutters, 2);
|
||||
|
||||
}
|
||||
@else {
|
||||
|
||||
$guttersCols: $gutters;
|
||||
$guttersRows: 0;
|
||||
|
||||
}
|
||||
|
||||
// Row.
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
box-sizing: border-box;
|
||||
align-items: stretch;
|
||||
|
||||
// Columns.
|
||||
> * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
&.gtr-uniform {
|
||||
> * {
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Alignment.
|
||||
&.aln-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
&.aln-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&.aln-right {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
&.aln-top {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
&.aln-middle {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&.aln-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
// Step through suffixes.
|
||||
@each $suffix in $suffixes {
|
||||
|
||||
// Suffix.
|
||||
@if ($suffix != '') {
|
||||
$suffix: '-' + $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffix: '';
|
||||
}
|
||||
|
||||
// Row.
|
||||
|
||||
// Important.
|
||||
> .imp#{$suffix} {
|
||||
order: -1;
|
||||
}
|
||||
|
||||
// Columns, offsets.
|
||||
@for $i from 1 through $cols {
|
||||
> .col-#{$i}#{$suffix} {
|
||||
width: $unit * $i;
|
||||
}
|
||||
|
||||
> .off-#{$i}#{$suffix} {
|
||||
margin-left: $unit * $i;
|
||||
}
|
||||
}
|
||||
|
||||
// Step through multipliers.
|
||||
@each $multiplier in $multipliers {
|
||||
|
||||
// Gutters.
|
||||
$class: null;
|
||||
|
||||
@if ($multiplier != 1) {
|
||||
$class: '.gtr-' + ($multiplier * 100);
|
||||
}
|
||||
|
||||
&#{$class} {
|
||||
margin-top: ($guttersRows * $multiplier * -1);
|
||||
margin-left: ($guttersCols * $multiplier * -1);
|
||||
|
||||
> * {
|
||||
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
|
||||
}
|
||||
|
||||
// Uniform.
|
||||
&.gtr-uniform {
|
||||
margin-top: $guttersCols * $multiplier * -1;
|
||||
|
||||
> * {
|
||||
padding-top: $guttersCols * $multiplier;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
63
public/assets/ecc/assets/sass/libs/_mixins.scss
vendored
@@ -1,63 +0,0 @@
|
||||
/// Makes an element's :before pseudoelement a FontAwesome icon.
|
||||
/// @param {string} $content Optional content value to use.
|
||||
/// @param {string} $where Optional pseudoelement to target (before or after).
|
||||
@mixin icon($content: false, $where: before) {
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
&:#{$where} {
|
||||
|
||||
@if $content {
|
||||
content: $content;
|
||||
}
|
||||
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-family: FontAwesome;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
text-transform: none !important;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Applies padding to an element, taking the current element-margin value into account.
|
||||
/// @param {mixed} $tb Top/bottom padding.
|
||||
/// @param {mixed} $lr Left/right padding.
|
||||
/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
|
||||
/// @param {bool} $important If true, adds !important.
|
||||
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
|
||||
|
||||
@if $important {
|
||||
$important: '!important';
|
||||
}
|
||||
|
||||
$x: 0.1em;
|
||||
|
||||
@if unit(_size(element-margin)) == 'rem' {
|
||||
$x: 0.1rem;
|
||||
}
|
||||
|
||||
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
|
||||
|
||||
}
|
||||
|
||||
/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
|
||||
/// @param {string} $svg SVG data URL.
|
||||
/// @return {string} Encoded SVG data URL.
|
||||
@function svg-url($svg) {
|
||||
|
||||
$svg: str-replace($svg, '"', '\'');
|
||||
$svg: str-replace($svg, '%', '%25');
|
||||
$svg: str-replace($svg, '<', '%3C');
|
||||
$svg: str-replace($svg, '>', '%3E');
|
||||
$svg: str-replace($svg, '&', '%26');
|
||||
$svg: str-replace($svg, '#', '%23');
|
||||
$svg: str-replace($svg, '{', '%7B');
|
||||
$svg: str-replace($svg, '}', '%7D');
|
||||
$svg: str-replace($svg, ';', '%3B');
|
||||
|
||||
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
|
||||
|
||||
}
|
||||
62
public/assets/ecc/assets/sass/libs/_vars.scss
vendored
@@ -1,62 +0,0 @@
|
||||
// Misc.
|
||||
$misc: (
|
||||
z-index-base: 10000
|
||||
);
|
||||
|
||||
// Duration.
|
||||
$duration: (
|
||||
menu: 0.5s,
|
||||
transition: 0.2s
|
||||
);
|
||||
|
||||
// Size.
|
||||
$size: (
|
||||
element-height: 3rem,
|
||||
element-margin: 2rem,
|
||||
padding: 2rem,
|
||||
wrapper: 72rem
|
||||
);
|
||||
|
||||
// Font.
|
||||
$font: (
|
||||
family: ('Merriweather', Georgia, serif),
|
||||
family-heading: ('Source Sans Pro', Helvetica, sans-serif),
|
||||
family-fixed: ('Courier New', monospace),
|
||||
weight: 300,
|
||||
weight-bold: 600,
|
||||
weight-heading: 900
|
||||
);
|
||||
|
||||
// Palette.
|
||||
$palette: (
|
||||
wrapper-bg: #212931,
|
||||
|
||||
bg: #ffffff,
|
||||
fg: #212931,
|
||||
fg-bold: #212931,
|
||||
fg-light: mix(#212931, #ffffff, 50%),
|
||||
border: mix(#dcdcdc, #ffffff, 50%),
|
||||
border-bg: rgba(#dcdcdc, 0.25),
|
||||
accent: #18bfef,
|
||||
|
||||
alt: (
|
||||
bg: #f5f5f5,
|
||||
fg: #717981,
|
||||
fg-bold: #717981,
|
||||
fg-light: mix(#717981, #f5f5f5, 50%),
|
||||
border: mix(#dcdcdc, #f5f5f5, 75%),
|
||||
border-bg: rgba(#dcdcdc, 0.5),
|
||||
accent: #18bfef,
|
||||
),
|
||||
|
||||
invert: (
|
||||
bg: #1e252d,
|
||||
bg-alt: #1e252d,
|
||||
fg: #ffffff,
|
||||
fg-bold: #ffffff,
|
||||
fg-light: rgba(#ffffff, 0.5),
|
||||
border: #ffffff,
|
||||
border-bg: rgba(#ffffff,0.075),
|
||||
accent: #18bfef,
|
||||
),
|
||||
);
|
||||
376
public/assets/ecc/assets/sass/libs/_vendor.scss
vendored
@@ -1,376 +0,0 @@
|
||||
// vendor.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Vars.
|
||||
|
||||
/// Vendor prefixes.
|
||||
/// @var {list}
|
||||
$vendor-prefixes: (
|
||||
'-moz-',
|
||||
'-webkit-',
|
||||
'-ms-',
|
||||
''
|
||||
);
|
||||
|
||||
/// Properties that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-properties: (
|
||||
|
||||
// Animation.
|
||||
'animation',
|
||||
'animation-delay',
|
||||
'animation-direction',
|
||||
'animation-duration',
|
||||
'animation-fill-mode',
|
||||
'animation-iteration-count',
|
||||
'animation-name',
|
||||
'animation-play-state',
|
||||
'animation-timing-function',
|
||||
|
||||
// Appearance.
|
||||
'appearance',
|
||||
|
||||
// Backdrop filter.
|
||||
'backdrop-filter',
|
||||
|
||||
// Background image options.
|
||||
'background-clip',
|
||||
'background-origin',
|
||||
'background-size',
|
||||
|
||||
// Box sizing.
|
||||
'box-sizing',
|
||||
|
||||
// Clip path.
|
||||
'clip-path',
|
||||
|
||||
// Filter effects.
|
||||
'filter',
|
||||
|
||||
// Flexbox.
|
||||
'align-content',
|
||||
'align-items',
|
||||
'align-self',
|
||||
'flex',
|
||||
'flex-basis',
|
||||
'flex-direction',
|
||||
'flex-flow',
|
||||
'flex-grow',
|
||||
'flex-shrink',
|
||||
'flex-wrap',
|
||||
'justify-content',
|
||||
'order',
|
||||
|
||||
// Font feature.
|
||||
'font-feature-settings',
|
||||
'font-language-override',
|
||||
'font-variant-ligatures',
|
||||
|
||||
// Font kerning.
|
||||
'font-kerning',
|
||||
|
||||
// Fragmented borders and backgrounds.
|
||||
'box-decoration-break',
|
||||
|
||||
// Grid layout.
|
||||
'grid-column',
|
||||
'grid-column-align',
|
||||
'grid-column-end',
|
||||
'grid-column-start',
|
||||
'grid-row',
|
||||
'grid-row-align',
|
||||
'grid-row-end',
|
||||
'grid-row-start',
|
||||
'grid-template-columns',
|
||||
'grid-template-rows',
|
||||
|
||||
// Hyphens.
|
||||
'hyphens',
|
||||
'word-break',
|
||||
|
||||
// Masks.
|
||||
'mask',
|
||||
'mask-border',
|
||||
'mask-border-outset',
|
||||
'mask-border-repeat',
|
||||
'mask-border-slice',
|
||||
'mask-border-source',
|
||||
'mask-border-width',
|
||||
'mask-clip',
|
||||
'mask-composite',
|
||||
'mask-image',
|
||||
'mask-origin',
|
||||
'mask-position',
|
||||
'mask-repeat',
|
||||
'mask-size',
|
||||
|
||||
// Multicolumn.
|
||||
'break-after',
|
||||
'break-before',
|
||||
'break-inside',
|
||||
'column-count',
|
||||
'column-fill',
|
||||
'column-gap',
|
||||
'column-rule',
|
||||
'column-rule-color',
|
||||
'column-rule-style',
|
||||
'column-rule-width',
|
||||
'column-span',
|
||||
'column-width',
|
||||
'columns',
|
||||
|
||||
// Object fit.
|
||||
'object-fit',
|
||||
'object-position',
|
||||
|
||||
// Regions.
|
||||
'flow-from',
|
||||
'flow-into',
|
||||
'region-fragment',
|
||||
|
||||
// Scroll snap points.
|
||||
'scroll-snap-coordinate',
|
||||
'scroll-snap-destination',
|
||||
'scroll-snap-points-x',
|
||||
'scroll-snap-points-y',
|
||||
'scroll-snap-type',
|
||||
|
||||
// Shapes.
|
||||
'shape-image-threshold',
|
||||
'shape-margin',
|
||||
'shape-outside',
|
||||
|
||||
// Tab size.
|
||||
'tab-size',
|
||||
|
||||
// Text align last.
|
||||
'text-align-last',
|
||||
|
||||
// Text decoration.
|
||||
'text-decoration-color',
|
||||
'text-decoration-line',
|
||||
'text-decoration-skip',
|
||||
'text-decoration-style',
|
||||
|
||||
// Text emphasis.
|
||||
'text-emphasis',
|
||||
'text-emphasis-color',
|
||||
'text-emphasis-position',
|
||||
'text-emphasis-style',
|
||||
|
||||
// Text size adjust.
|
||||
'text-size-adjust',
|
||||
|
||||
// Text spacing.
|
||||
'text-spacing',
|
||||
|
||||
// Transform.
|
||||
'transform',
|
||||
'transform-origin',
|
||||
|
||||
// Transform 3D.
|
||||
'backface-visibility',
|
||||
'perspective',
|
||||
'perspective-origin',
|
||||
'transform-style',
|
||||
|
||||
// Transition.
|
||||
'transition',
|
||||
'transition-delay',
|
||||
'transition-duration',
|
||||
'transition-property',
|
||||
'transition-timing-function',
|
||||
|
||||
// Unicode bidi.
|
||||
'unicode-bidi',
|
||||
|
||||
// User select.
|
||||
'user-select',
|
||||
|
||||
// Writing mode.
|
||||
'writing-mode',
|
||||
|
||||
);
|
||||
|
||||
/// Values that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-values: (
|
||||
|
||||
// Cross fade.
|
||||
'cross-fade',
|
||||
|
||||
// Element function.
|
||||
'element',
|
||||
|
||||
// Filter function.
|
||||
'filter',
|
||||
|
||||
// Flexbox.
|
||||
'flex',
|
||||
'inline-flex',
|
||||
|
||||
// Grab cursors.
|
||||
'grab',
|
||||
'grabbing',
|
||||
|
||||
// Gradients.
|
||||
'linear-gradient',
|
||||
'repeating-linear-gradient',
|
||||
'radial-gradient',
|
||||
'repeating-radial-gradient',
|
||||
|
||||
// Grid layout.
|
||||
'grid',
|
||||
'inline-grid',
|
||||
|
||||
// Image set.
|
||||
'image-set',
|
||||
|
||||
// Intrinsic width.
|
||||
'max-content',
|
||||
'min-content',
|
||||
'fit-content',
|
||||
'fill',
|
||||
'fill-available',
|
||||
'stretch',
|
||||
|
||||
// Sticky position.
|
||||
'sticky',
|
||||
|
||||
// Transform.
|
||||
'transform',
|
||||
|
||||
// Zoom cursors.
|
||||
'zoom-in',
|
||||
'zoom-out',
|
||||
|
||||
);
|
||||
|
||||
// Functions.
|
||||
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
|
||||
$result: null;
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Replaces a substring within another string.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {string} $string String.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {string} Updated string.
|
||||
@function str-replace($string, $search, $replace: '') {
|
||||
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
|
||||
@return $string;
|
||||
|
||||
}
|
||||
|
||||
/// Replaces a substring within each string in a list.
|
||||
/// @param {list} $strings List of strings.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {list} Updated list of strings.
|
||||
@function str-replace-all($strings, $search, $replace: '') {
|
||||
|
||||
@each $string in $strings {
|
||||
$strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
|
||||
}
|
||||
|
||||
@return $strings;
|
||||
|
||||
}
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Wraps @content in vendorized keyframe blocks.
|
||||
/// @param {string} $name Name.
|
||||
@mixin keyframes($name) {
|
||||
|
||||
@-moz-keyframes #{$name} { @content; }
|
||||
@-webkit-keyframes #{$name} { @content; }
|
||||
@-ms-keyframes #{$name} { @content; }
|
||||
@keyframes #{$name} { @content; }
|
||||
|
||||
}
|
||||
|
||||
/// Vendorizes a declaration's property and/or value(s).
|
||||
/// @param {string} $property Property.
|
||||
/// @param {mixed} $value String/list of value(s).
|
||||
@mixin vendor($property, $value) {
|
||||
|
||||
// Determine if property should expand.
|
||||
$expandProperty: index($vendor-properties, $property);
|
||||
|
||||
// Determine if value should expand (and if so, add '-prefix-' placeholder).
|
||||
$expandValue: false;
|
||||
|
||||
@each $x in $value {
|
||||
@each $y in $vendor-values {
|
||||
@if $y == str-slice($x, 1, str-length($y)) {
|
||||
|
||||
$value: set-nth($value, index($value, $x), '-prefix-' + $x);
|
||||
$expandValue: true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Expand property?
|
||||
@if $expandProperty {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Expand just the value?
|
||||
@elseif $expandValue {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Neither? Treat them as a normal declaration.
|
||||
@else {
|
||||
#{$property}: #{$value};
|
||||
}
|
||||
|
||||
}
|
||||
71
public/assets/ecc/assets/sass/main.scss
vendored
@@ -1,71 +0,0 @@
|
||||
@import 'libs/vars';
|
||||
@import 'libs/functions';
|
||||
@import 'libs/mixins';
|
||||
@import 'libs/vendor';
|
||||
@import 'libs/breakpoints';
|
||||
@import 'libs/html-grid';
|
||||
@import 'libs/fixed-grid';
|
||||
@import 'font-awesome.min.css';
|
||||
@import url('https://fonts.googleapis.com/css?family=Merriweather:300,700,300italic,700italic|Source+Sans+Pro:900');
|
||||
|
||||
/*
|
||||
Massively by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
// Breakpoints.
|
||||
|
||||
@include breakpoints((
|
||||
default: (1681px, null ),
|
||||
xlarge: (1281px, 1680px ),
|
||||
large: (981px, 1280px ),
|
||||
medium: (737px, 980px ),
|
||||
small: (481px, 736px ),
|
||||
xsmall: (361px, 480px ),
|
||||
xxsmall: (null, 360px )
|
||||
));
|
||||
|
||||
// Mixins.
|
||||
|
||||
@mixin color($p) {
|
||||
@include color-typography($p);
|
||||
@include color-box($p);
|
||||
@include color-button($p);
|
||||
@include color-form($p);
|
||||
@include color-list($p);
|
||||
@include color-section($p);
|
||||
@include color-table($p);
|
||||
@include color-pagination($p);
|
||||
}
|
||||
|
||||
// Base.
|
||||
|
||||
@import 'base/reset';
|
||||
@import 'base/page';
|
||||
@import 'base/typography';
|
||||
|
||||
// Component.
|
||||
|
||||
@import 'components/row';
|
||||
@import 'components/box';
|
||||
@import 'components/button';
|
||||
@import 'components/form';
|
||||
@import 'components/icon';
|
||||
@import 'components/image';
|
||||
@import 'components/actions';
|
||||
@import 'components/icons';
|
||||
@import 'components/list';
|
||||
@import 'components/section';
|
||||
@import 'components/table';
|
||||
@import 'components/pagination';
|
||||
|
||||
// Layout.
|
||||
|
||||
@import 'layout/wrapper';
|
||||
@import 'layout/intro';
|
||||
@import 'layout/header';
|
||||
@import 'layout/nav';
|
||||
@import 'layout/main';
|
||||
@import 'layout/footer';
|
||||
@import 'layout/navPanel';
|
||||
46
public/assets/ecc/assets/sass/noscript.scss
vendored
@@ -1,46 +0,0 @@
|
||||
@import 'libs/vars';
|
||||
@import 'libs/functions';
|
||||
@import 'libs/mixins';
|
||||
@import 'libs/vendor';
|
||||
@import 'libs/breakpoints';
|
||||
@import 'libs/html-grid';
|
||||
@import 'libs/fixed-grid';
|
||||
@import 'font-awesome.min.css';
|
||||
|
||||
/*
|
||||
Massively by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
/* Wrapper */
|
||||
|
||||
#wrapper {
|
||||
background-color: _palette(wrapper-bg);
|
||||
background-image: url('../../images/overlay.png'), linear-gradient(0deg, rgba(0,0,0,0.1), rgba(0,0,0,0.1)), url('../../images/bg.jpg');
|
||||
background-size: auto, auto, 100% auto;
|
||||
background-position: center, center, top center;
|
||||
background-repeat: repeat, no-repeat, no-repeat;
|
||||
background-attachment: fixed, fixed, fixed;
|
||||
|
||||
&.fade-in {
|
||||
&:before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Intro */
|
||||
|
||||
#intro {
|
||||
body.is-preload & {
|
||||
opacity: 1;
|
||||
|
||||
&:not(.hidden) {
|
||||
& + #header + #nav {
|
||||
@include vendor('transform', 'none');
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
45
public/assets/ecc/assets/sass/paper-dashboard.scss
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/*!
|
||||
|
||||
=========================================================
|
||||
* Paper Dashboard - v1.1.2
|
||||
=========================================================
|
||||
|
||||
* Product Page: http://www.creative-tim.com/product/paper-dashboard
|
||||
* Copyright 2017 Creative Tim (http://www.creative-tim.com)
|
||||
* Licensed under MIT (https://github.com/creativetimofficial/paper-dashboard/blob/master/LICENSE.md)
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@import "paper/variables";
|
||||
@import "paper/mixins";
|
||||
|
||||
@import "paper/typography";
|
||||
|
||||
// Core CSS
|
||||
@import "paper/misc";
|
||||
@import "paper/sidebar-and-main-panel";
|
||||
@import "paper/buttons";
|
||||
@import "paper/inputs";
|
||||
|
||||
@import "paper/alerts";
|
||||
@import "paper/tables";
|
||||
|
||||
@import "paper/checkbox-radio";
|
||||
@import "paper/navbars";
|
||||
@import "paper/footers";
|
||||
|
||||
// Fancy Stuff
|
||||
|
||||
@import "paper/dropdown";
|
||||
@import "paper/cards";
|
||||
@import "paper/chartist";
|
||||
@import "paper/responsive";
|
||||
|
||||
|
||||
|
||||
|
||||
64
public/assets/ecc/assets/sass/paper/_alerts.scss
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
.alert{
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
color: #FFFFFF;
|
||||
padding: 10px 15px;
|
||||
font-size: 14px;
|
||||
|
||||
.container &{
|
||||
border-radius: 4px;
|
||||
|
||||
}
|
||||
.navbar &{
|
||||
border-radius: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 85px;
|
||||
width: 100%;
|
||||
z-index: 3;
|
||||
}
|
||||
.navbar:not(.navbar-transparent) &{
|
||||
top: 70px;
|
||||
}
|
||||
|
||||
span[data-notify="icon"]{
|
||||
font-size: 30px;
|
||||
display: block;
|
||||
left: 15px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -20px;
|
||||
}
|
||||
|
||||
.close ~ span{
|
||||
display: block;
|
||||
max-width: 89%;
|
||||
}
|
||||
|
||||
&[data-notify="container"]{
|
||||
padding: 10px 10px 10px 20px;
|
||||
border-radius: $border-radius-base;
|
||||
}
|
||||
|
||||
&.alert-with-icon{
|
||||
padding-left: 65px;
|
||||
}
|
||||
}
|
||||
.alert-info{
|
||||
background-color: $bg-info;
|
||||
color: $info-states-color;
|
||||
}
|
||||
.alert-success {
|
||||
background-color: $bg-success;
|
||||
color: $success-states-color;
|
||||
}
|
||||
.alert-warning {
|
||||
background-color: $bg-warning;
|
||||
color: $warning-states-color;
|
||||
}
|
||||
.alert-danger {
|
||||
background-color: $bg-danger;
|
||||
color: $danger-states-color;
|
||||
}
|
||||
|
||||
114
public/assets/ecc/assets/sass/paper/_buttons.scss
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
.btn,
|
||||
.navbar .navbar-nav > li > a.btn{
|
||||
border-radius: $border-radius-btn-base;
|
||||
box-sizing: border-box;
|
||||
border-width: $border-thick;
|
||||
background-color: $transparent-bg;
|
||||
font-size: $font-size-base;
|
||||
font-weight: $font-weight-semi;
|
||||
|
||||
padding: $padding-base-vertical $padding-base-horizontal;
|
||||
|
||||
@include btn-styles($default-color, $default-states-color);
|
||||
@include transition($fast-transition-time, linear);
|
||||
|
||||
&:hover,
|
||||
&:focus{
|
||||
outline: 0 !important;
|
||||
}
|
||||
&:active,
|
||||
&.active,
|
||||
.open > &.dropdown-toggle {
|
||||
@include box-shadow(none);
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
&.btn-icon{
|
||||
padding: $padding-base-vertical;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-group .btn + .btn,
|
||||
.btn-group .btn + .btn-group,
|
||||
.btn-group .btn-group + .btn,
|
||||
.btn-group .btn-group + .btn-group{
|
||||
margin-left: -2px;
|
||||
}
|
||||
|
||||
// Apply the mixin to the buttons
|
||||
//.btn-default { @include btn-styles($default-color, $default-states-color); }
|
||||
.navbar .navbar-nav > li > a.btn-primary, .btn-primary { @include btn-styles($primary-color, $primary-states-color); }
|
||||
.navbar .navbar-nav > li > a.btn-success, .btn-success { @include btn-styles($success-color, $success-states-color); }
|
||||
.navbar .navbar-nav > li > a.btn-info, .btn-info { @include btn-styles($info-color, $info-states-color); }
|
||||
.navbar .navbar-nav > li > a.btn-warning, .btn-warning { @include btn-styles($warning-color, $warning-states-color); }
|
||||
.navbar .navbar-nav > li > a.btn-danger, .btn-danger { @include btn-styles($danger-color, $danger-states-color); }
|
||||
.btn-neutral {
|
||||
@include btn-styles($white-color, $white-color);
|
||||
|
||||
&:hover,
|
||||
&:focus{
|
||||
color: $default-color;
|
||||
}
|
||||
|
||||
&:active,
|
||||
&.active,
|
||||
.open > &.dropdown-toggle{
|
||||
background-color: $white-color;
|
||||
color: $default-color;
|
||||
}
|
||||
|
||||
&.btn-fill{
|
||||
color: $default-color;
|
||||
}
|
||||
&.btn-fill:hover,
|
||||
&.btn-fill:focus{
|
||||
color: $default-states-color;
|
||||
}
|
||||
|
||||
&.btn-simple:active,
|
||||
&.btn-simple.active{
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.btn{
|
||||
&:disabled,
|
||||
&[disabled],
|
||||
&.disabled{
|
||||
@include opacity(.5);
|
||||
}
|
||||
}
|
||||
.btn-simple{
|
||||
border: $none;
|
||||
padding: $padding-base-vertical $padding-base-horizontal;
|
||||
|
||||
&.btn-icon{
|
||||
padding: $padding-base-vertical;
|
||||
}
|
||||
}
|
||||
.btn-lg{
|
||||
@include btn-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $border-radius-btn-large, $line-height-small);
|
||||
font-weight: $font-weight-normal;
|
||||
}
|
||||
.btn-sm{
|
||||
@include btn-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $border-radius-btn-small, $line-height-small);
|
||||
}
|
||||
.btn-xs {
|
||||
@include btn-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-xs, $border-radius-btn-small, $line-height-small);
|
||||
}
|
||||
.btn-wd {
|
||||
min-width: 140px;
|
||||
}
|
||||
|
||||
.btn-group.select{
|
||||
width: 100%;
|
||||
}
|
||||
.btn-group.select .btn{
|
||||
text-align: left;
|
||||
}
|
||||
.btn-group.select .caret{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -1px;
|
||||
right: 8px;
|
||||
}
|
||||
243
public/assets/ecc/assets/sass/paper/_cards.scss
vendored
Normal file
@@ -0,0 +1,243 @@
|
||||
.card{
|
||||
border-radius: $border-radius-extreme;
|
||||
box-shadow: 0 2px 2px rgba(204, 197, 185, 0.5);
|
||||
background-color: #FFFFFF;
|
||||
color: $card-black-color;
|
||||
margin-bottom: 20px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
.image{
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
height: 260px;
|
||||
border-radius: $border-radius-extreme $border-radius-extreme 0 0;
|
||||
position: relative;
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.content{
|
||||
padding: 15px 15px 10px 15px;
|
||||
}
|
||||
.header{
|
||||
padding: 20px 20px 0;
|
||||
}
|
||||
.description{
|
||||
font-size: $font-paragraph;
|
||||
color: $font-color;
|
||||
}
|
||||
|
||||
h6{
|
||||
font-size: $font-size-small;
|
||||
margin: 0;
|
||||
}
|
||||
.category,
|
||||
label{
|
||||
font-size: $font-size-base;
|
||||
font-weight: $font-weight-normal;
|
||||
color: $dark-gray;
|
||||
margin-bottom: 0px;
|
||||
i{
|
||||
font-size: $font-paragraph;
|
||||
}
|
||||
}
|
||||
|
||||
label{
|
||||
font-size: 15px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.title{
|
||||
margin: $none;
|
||||
color: $card-black-color;
|
||||
font-weight: $font-weight-light;
|
||||
}
|
||||
.avatar{
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
border-radius: 50%;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.footer{
|
||||
padding: 0;
|
||||
line-height: 30px;
|
||||
|
||||
.legend{
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
hr{
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
.stats{
|
||||
color: #a9a9a9;
|
||||
font-weight: 300;
|
||||
i{
|
||||
margin-right: 2px;
|
||||
min-width: 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.footer div{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.author{
|
||||
font-size: $font-size-small;
|
||||
font-weight: $font-weight-bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.author i{
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
|
||||
&.card-separator:after{
|
||||
height: 100%;
|
||||
right: -15px;
|
||||
top: 0;
|
||||
width: 1px;
|
||||
background-color: $medium-gray;
|
||||
content: "";
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ct-chart{
|
||||
margin: 30px 0 30px;
|
||||
height: 245px;
|
||||
}
|
||||
|
||||
.table{
|
||||
tbody td:first-child,
|
||||
thead th:first-child{
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
tbody td:last-child,
|
||||
thead th:last-child{
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.alert{
|
||||
border-radius: $border-radius-base;
|
||||
position: relative;
|
||||
|
||||
&.alert-with-icon{
|
||||
padding-left: 65px;
|
||||
}
|
||||
}
|
||||
.icon-big{
|
||||
font-size: 3em;
|
||||
min-height: 64px;
|
||||
}
|
||||
.numbers{
|
||||
font-size: 2em;
|
||||
text-align: right;
|
||||
p{
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
ul.team-members{
|
||||
li{
|
||||
padding: 10px 0px;
|
||||
&:not(:last-child){
|
||||
border-bottom: 1px solid $medium-pale-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.card-user{
|
||||
.image{
|
||||
border-radius: 8px 8px 0 0;
|
||||
height: 150px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
img{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.image-plain{
|
||||
height: 0;
|
||||
margin-top: 110px;
|
||||
}
|
||||
.author{
|
||||
text-align: center;
|
||||
text-transform: none;
|
||||
margin-top: -65px;
|
||||
.title{
|
||||
color: $default-states-color;
|
||||
small{
|
||||
color: $card-muted-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.avatar{
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
margin-bottom: 15px;
|
||||
|
||||
&.border-white{
|
||||
border: 5px solid $white-color;
|
||||
}
|
||||
&.border-gray{
|
||||
border: 5px solid $card-muted-color;
|
||||
}
|
||||
}
|
||||
.title{
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
}
|
||||
.description{
|
||||
margin-top: 10px;
|
||||
}
|
||||
.content{
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
&.card-plain{
|
||||
.avatar{
|
||||
height: 190px;
|
||||
width: 190px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-map{
|
||||
.map{
|
||||
height: 500px;
|
||||
padding-top: 20px;
|
||||
|
||||
> div{
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.card-user,
|
||||
.card-price{
|
||||
.footer{
|
||||
padding: 5px 15px 10px;
|
||||
}
|
||||
hr{
|
||||
margin: 5px 15px;
|
||||
}
|
||||
}
|
||||
.card-plain{
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
|
||||
.image{
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
230
public/assets/ecc/assets/sass/paper/_chartist.scss
vendored
Normal file
@@ -0,0 +1,230 @@
|
||||
@mixin ct-responsive-svg-container($width: 100%, $ratio: $ct-container-ratio) {
|
||||
display: block;
|
||||
position: relative;
|
||||
width: $width;
|
||||
|
||||
&:before {
|
||||
display: block;
|
||||
float: left;
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
padding-bottom: $ratio * 100%;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
> svg {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin ct-align-justify($ct-text-align: $ct-text-align, $ct-text-justify: $ct-text-justify) {
|
||||
-webkit-box-align: $ct-text-align;
|
||||
-webkit-align-items: $ct-text-align;
|
||||
-ms-flex-align: $ct-text-align;
|
||||
align-items: $ct-text-align;
|
||||
-webkit-box-pack: $ct-text-justify;
|
||||
-webkit-justify-content: $ct-text-justify;
|
||||
-ms-flex-pack: $ct-text-justify;
|
||||
justify-content: $ct-text-justify;
|
||||
// Fallback to text-align for non-flex browsers
|
||||
@if($ct-text-justify == 'flex-start') {
|
||||
text-align: left;
|
||||
} @else if ($ct-text-justify == 'flex-end') {
|
||||
text-align: right;
|
||||
} @else {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin ct-flex() {
|
||||
// Fallback to block
|
||||
display: block;
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: -ms-flexbox;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@mixin ct-chart-label($ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-text-line-height: $ct-text-line-height) {
|
||||
fill: $ct-text-color;
|
||||
color: $ct-text-color;
|
||||
font-size: $ct-text-size;
|
||||
line-height: $ct-text-line-height;
|
||||
}
|
||||
|
||||
@mixin ct-chart-grid($ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray) {
|
||||
stroke: $ct-grid-color;
|
||||
stroke-width: $ct-grid-width;
|
||||
|
||||
@if ($ct-grid-dasharray) {
|
||||
stroke-dasharray: $ct-grid-dasharray;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin ct-chart-point($ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape) {
|
||||
stroke-width: $ct-point-size;
|
||||
stroke-linecap: $ct-point-shape;
|
||||
}
|
||||
|
||||
@mixin ct-chart-line($ct-line-width: $ct-line-width, $ct-line-dasharray: $ct-line-dasharray) {
|
||||
fill: none;
|
||||
stroke-width: $ct-line-width;
|
||||
|
||||
@if ($ct-line-dasharray) {
|
||||
stroke-dasharray: $ct-line-dasharray;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin ct-chart-area($ct-area-opacity: $ct-area-opacity) {
|
||||
stroke: none;
|
||||
fill-opacity: $ct-area-opacity;
|
||||
}
|
||||
|
||||
@mixin ct-chart-bar($ct-bar-width: $ct-bar-width) {
|
||||
fill: none;
|
||||
stroke-width: $ct-bar-width;
|
||||
}
|
||||
|
||||
@mixin ct-chart-donut($ct-donut-width: $ct-donut-width) {
|
||||
fill: none;
|
||||
stroke-width: $ct-donut-width;
|
||||
}
|
||||
|
||||
@mixin ct-chart-series-color($color) {
|
||||
.#{$ct-class-point}, .#{$ct-class-line}, .#{$ct-class-bar}, .#{$ct-class-slice-donut} {
|
||||
stroke: $color;
|
||||
}
|
||||
|
||||
.#{$ct-class-slice-pie}, .#{$ct-class-area} {
|
||||
fill: $color;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin ct-chart($ct-container-ratio: $ct-container-ratio, $ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray, $ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape, $ct-line-width: $ct-line-width, $ct-bar-width: $ct-bar-width, $ct-donut-width: $ct-donut-width, $ct-series-names: $ct-series-names, $ct-series-colors: $ct-series-colors) {
|
||||
|
||||
.#{$ct-class-label} {
|
||||
@include ct-chart-label($ct-text-color, $ct-text-size);
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-line} .#{$ct-class-label},
|
||||
.#{$ct-class-chart-bar} .#{$ct-class-label} {
|
||||
@include ct-flex();
|
||||
}
|
||||
|
||||
.#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
|
||||
@include ct-align-justify(flex-end, flex-start);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
|
||||
@include ct-align-justify(flex-start, flex-start);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {
|
||||
@include ct-align-justify(flex-end, flex-end);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: end;
|
||||
}
|
||||
|
||||
.#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {
|
||||
@include ct-align-justify(flex-end, flex-start);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
|
||||
@include ct-align-justify(flex-end, center);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
|
||||
@include ct-align-justify(flex-start, center);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
|
||||
@include ct-align-justify(flex-end, flex-start);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
|
||||
@include ct-align-justify(flex-start, flex-start);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: start;
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {
|
||||
//@include ct-chart-label($ct-text-color, $ct-text-size, center, $ct-vertical-text-justify);
|
||||
@include ct-align-justify(center, flex-end);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: end;
|
||||
}
|
||||
|
||||
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {
|
||||
@include ct-align-justify(center, flex-start);
|
||||
// Fallback for browsers that don't support foreignObjects
|
||||
text-anchor: end;
|
||||
}
|
||||
|
||||
.#{$ct-class-grid} {
|
||||
@include ct-chart-grid($ct-grid-color, $ct-grid-width, $ct-grid-dasharray);
|
||||
}
|
||||
|
||||
.#{$ct-class-point} {
|
||||
@include ct-chart-point($ct-point-size, $ct-point-shape);
|
||||
}
|
||||
|
||||
.#{$ct-class-line} {
|
||||
@include ct-chart-line($ct-line-width);
|
||||
}
|
||||
|
||||
.#{$ct-class-area} {
|
||||
@include ct-chart-area();
|
||||
}
|
||||
|
||||
.#{$ct-class-bar} {
|
||||
@include ct-chart-bar($ct-bar-width);
|
||||
}
|
||||
|
||||
.#{$ct-class-slice-donut} {
|
||||
@include ct-chart-donut($ct-donut-width);
|
||||
}
|
||||
|
||||
@if $ct-include-colored-series {
|
||||
@for $i from 0 to length($ct-series-names) {
|
||||
.#{$ct-class-series}-#{nth($ct-series-names, $i + 1)} {
|
||||
$color: nth($ct-series-colors, $i + 1);
|
||||
|
||||
@include ct-chart-series-color($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if $ct-include-classes {
|
||||
@include ct-chart();
|
||||
|
||||
@if $ct-include-alternative-responsive-containers {
|
||||
@for $i from 0 to length($ct-scales-names) {
|
||||
.#{nth($ct-scales-names, $i + 1)} {
|
||||
@include ct-responsive-svg-container($ratio: nth($ct-scales, $i + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
132
public/assets/ecc/assets/sass/paper/_checkbox-radio.scss
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
/* Checkbox and radio */
|
||||
.checkbox,
|
||||
.radio {
|
||||
margin-bottom: 12px;
|
||||
padding-left: 30px;
|
||||
position: relative;
|
||||
-webkit-transition: color,opacity 0.25s linear;
|
||||
transition: color,opacity 0.25s linear;
|
||||
font-size: $font-size-base;
|
||||
font-weight: normal;
|
||||
line-height: 1.5;
|
||||
color: $font-color;
|
||||
cursor: pointer;
|
||||
|
||||
.icons {
|
||||
color: $font-color;
|
||||
display: block;
|
||||
height: 20px;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
line-height: 21px;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
-webkit-transition: color,opacity 0.15s linear;
|
||||
transition: color,opacity 0.15s linear;
|
||||
|
||||
opacity: .50;
|
||||
}
|
||||
|
||||
|
||||
&.checked{
|
||||
.icons{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
input{
|
||||
outline: none !important;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox,
|
||||
.radio{
|
||||
label{
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox .icons .first-icon,
|
||||
.radio .icons .first-icon,
|
||||
.checkbox .icons .second-icon,
|
||||
.radio .icons .second-icon {
|
||||
display: inline-table;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background-color: transparent;
|
||||
margin: 0;
|
||||
@include opacity(1);
|
||||
}
|
||||
.checkbox .icons .second-icon,
|
||||
.radio .icons .second-icon {
|
||||
@include opacity(0);
|
||||
}
|
||||
.checkbox:hover,
|
||||
.radio:hover {
|
||||
-webkit-transition: color 0.2s linear;
|
||||
transition: color 0.2s linear;
|
||||
}
|
||||
.checkbox:hover .first-icon,
|
||||
.radio:hover .first-icon {
|
||||
@include opacity(0);
|
||||
}
|
||||
.checkbox:hover .second-icon,
|
||||
.radio:hover .second-icon {
|
||||
@include opacity (1);
|
||||
}
|
||||
.checkbox.checked,
|
||||
.radio.checked {
|
||||
// color: $info-color;
|
||||
}
|
||||
.checkbox.checked .first-icon,
|
||||
.radio.checked .first-icon {
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
.checkbox.checked .second-icon,
|
||||
.radio.checked .second-icon {
|
||||
opacity: 1;
|
||||
filter: alpha(opacity=100);
|
||||
// color: $info-color;
|
||||
-webkit-transition: color 0.2s linear;
|
||||
transition: color 0.2s linear;
|
||||
}
|
||||
.checkbox.disabled,
|
||||
.radio.disabled {
|
||||
cursor: default;
|
||||
color: $medium-gray;
|
||||
}
|
||||
.checkbox.disabled .icons,
|
||||
.radio.disabled .icons {
|
||||
color: $medium-gray;
|
||||
}
|
||||
.checkbox.disabled .first-icon,
|
||||
.radio.disabled .first-icon {
|
||||
opacity: 1;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
.checkbox.disabled .second-icon,
|
||||
.radio.disabled .second-icon {
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
.checkbox.disabled.checked .icons,
|
||||
.radio.disabled.checked .icons {
|
||||
color: $medium-gray;
|
||||
}
|
||||
.checkbox.disabled.checked .first-icon,
|
||||
.radio.disabled.checked .first-icon {
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
.checkbox.disabled.checked .second-icon,
|
||||
.radio.disabled.checked .second-icon {
|
||||
opacity: 1;
|
||||
color: $medium-gray;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
115
public/assets/ecc/assets/sass/paper/_dropdown.scss
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
.dropdown-menu{
|
||||
background-color: $pale-bg;
|
||||
border: 0 none;
|
||||
border-radius: $border-radius-extreme;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
padding: 0px;
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
z-index: 9000;
|
||||
|
||||
@include opacity(0);
|
||||
@include box-shadow($dropdown-shadow);
|
||||
|
||||
// the style for opening dropdowns on mobile devices; for the desktop version check the _responsive.scss file
|
||||
.open &{
|
||||
@include opacity(1);
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.divider{
|
||||
background-color: $medium-pale-bg;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.dropdown-header{
|
||||
color: $dark-gray;
|
||||
font-size: $font-size-small;
|
||||
padding: $padding-dropdown-vertical $padding-dropdown-horizontal;
|
||||
}
|
||||
|
||||
// the style for the dropdown menu that appears under select, it is different from the default one
|
||||
.select &{
|
||||
border-radius: $border-radius-bottom;
|
||||
@include box-shadow(none);
|
||||
@include transform-origin($select-coordinates);
|
||||
@include transform-scale(1);
|
||||
@include transition($fast-transition-time, $transition-linear);
|
||||
margin-top: -20px;
|
||||
}
|
||||
.select.open &{
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
> li > a {
|
||||
color: $font-color;
|
||||
font-size: $font-size-base;
|
||||
padding: $padding-dropdown-vertical $padding-dropdown-horizontal;
|
||||
@include transition-none();
|
||||
|
||||
img{
|
||||
margin-top: -3px;
|
||||
}
|
||||
}
|
||||
> li > a:focus{
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
.btn-group.select &{
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
> li:first-child > a{
|
||||
border-top-left-radius: $border-radius-extreme;
|
||||
border-top-right-radius: $border-radius-extreme;
|
||||
}
|
||||
|
||||
> li:last-child > a{
|
||||
border-bottom-left-radius: $border-radius-extreme;
|
||||
border-bottom-right-radius: $border-radius-extreme;
|
||||
}
|
||||
|
||||
.select & > li:first-child > a{
|
||||
border-radius: 0;
|
||||
border-bottom: 0 none;
|
||||
}
|
||||
|
||||
> li > a:hover,
|
||||
> li > a:focus {
|
||||
background-color: $default-color;
|
||||
color: $fill-font-color;
|
||||
opacity: 1;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&.dropdown-primary > li > a:hover,
|
||||
&.dropdown-primary > li > a:focus{
|
||||
background-color: $primary-color;
|
||||
}
|
||||
&.dropdown-info > li > a:hover,
|
||||
&.dropdown-info > li > a:focus{
|
||||
background-color: $info-color;
|
||||
}
|
||||
&.dropdown-success > li > a:hover,
|
||||
&.dropdown-success > li > a:focus{
|
||||
background-color: $success-color;
|
||||
}
|
||||
&.dropdown-warning > li > a:hover,
|
||||
&.dropdown-warning > li > a:focus{
|
||||
background-color: $warning-color;
|
||||
}
|
||||
&.dropdown-danger > li > a:hover,
|
||||
&.dropdown-danger > li > a:focus{
|
||||
background-color: $danger-color;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//fix bug for the select items in btn-group
|
||||
.btn-group.select{
|
||||
overflow: hidden;
|
||||
}
|
||||
.btn-group.select.open{
|
||||
overflow: visible;
|
||||
}
|
||||
42
public/assets/ecc/assets/sass/paper/_footers.scss
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
.footer{
|
||||
background-attachment: fixed;
|
||||
position: relative;
|
||||
line-height: 20px;
|
||||
nav {
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-weight: normal;
|
||||
li{
|
||||
display: inline-block;
|
||||
padding: 10px 15px;
|
||||
margin: 15px 3px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
a:not(.btn){
|
||||
color: $font-color;
|
||||
display: block;
|
||||
margin-bottom: 3px;
|
||||
|
||||
&:focus,
|
||||
&:hover{
|
||||
color: $default-states-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.copyright{
|
||||
color: $font-color;
|
||||
padding: 10px 15px;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
margin: 15px 3px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
.heart{
|
||||
color: $danger-color;
|
||||
}
|
||||
}
|
||||
171
public/assets/ecc/assets/sass/paper/_inputs.scss
vendored
Normal file
@@ -0,0 +1,171 @@
|
||||
.form-control::-moz-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
.form-control:-moz-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
.form-control::-webkit-input-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
.form-control:-ms-input-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
|
||||
.form-control {
|
||||
background-color: $gray-input-bg;
|
||||
border: medium none;
|
||||
border-radius: $border-radius-base;
|
||||
color: $font-color;
|
||||
font-size: $font-size-base;
|
||||
transition: background-color 0.3s ease 0s;
|
||||
@include input-size($padding-base-vertical, $padding-base-horizontal, $height-base);
|
||||
@include box-shadow(none);
|
||||
|
||||
&:focus{
|
||||
background-color: $white-bg;
|
||||
@include box-shadow(none);
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
.has-success &,
|
||||
.has-error &,
|
||||
.has-success &:focus,
|
||||
.has-error &:focus{
|
||||
@include box-shadow(none);
|
||||
}
|
||||
|
||||
.has-success &{
|
||||
background-color: $success-input-bg;
|
||||
color: $success-color;
|
||||
&.border-input{
|
||||
border: 1px solid $success-color;
|
||||
}
|
||||
}
|
||||
.has-success &:focus{
|
||||
background-color: $white-bg;
|
||||
}
|
||||
.has-error &{
|
||||
background-color: $danger-input-bg;
|
||||
color: $danger-color;
|
||||
&.border-input{
|
||||
border: 1px solid $danger-color;
|
||||
}
|
||||
}
|
||||
.has-error &:focus{
|
||||
background-color: $white-bg;
|
||||
}
|
||||
|
||||
& + .form-control-feedback{
|
||||
border-radius: $border-radius-large;
|
||||
font-size: $font-size-base;
|
||||
margin-top: -7px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
&.border-input{
|
||||
border: 1px solid $table-line-color;
|
||||
}
|
||||
.open &{
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.input-lg{
|
||||
height: 55px;
|
||||
padding: $padding-large-vertical $padding-large-horizontal;
|
||||
}
|
||||
|
||||
.has-error{
|
||||
.form-control-feedback, .control-label{
|
||||
color: $danger-color;
|
||||
}
|
||||
}
|
||||
.has-success{
|
||||
.form-control-feedback, .control-label{
|
||||
color: $success-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.input-group-addon {
|
||||
background-color: $gray-input-bg;
|
||||
border: medium none;
|
||||
border-radius: $border-radius-base;
|
||||
|
||||
|
||||
.has-success &,
|
||||
.has-error &{
|
||||
background-color: $white-color;
|
||||
}
|
||||
.has-error .form-control:focus + &{
|
||||
color: $danger-color;
|
||||
}
|
||||
.has-success .form-control:focus + &{
|
||||
color: $success-color;
|
||||
}
|
||||
.form-control:focus + &,
|
||||
.form-control:focus ~ &{
|
||||
background-color: $white-color;
|
||||
}
|
||||
}
|
||||
.border-input{
|
||||
.input-group-addon{
|
||||
border: solid 1px $table-line-color;
|
||||
}
|
||||
}
|
||||
.input-group{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.input-group[disabled]{
|
||||
.input-group-addon{
|
||||
background-color: $light-gray;
|
||||
}
|
||||
}
|
||||
.input-group .form-control:first-child,
|
||||
.input-group-addon:first-child,
|
||||
.input-group-btn:first-child > .dropdown-toggle,
|
||||
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
|
||||
border-right: 0 none;
|
||||
}
|
||||
.input-group .form-control:last-child,
|
||||
.input-group-addon:last-child,
|
||||
.input-group-btn:last-child > .dropdown-toggle,
|
||||
.input-group-btn:first-child > .btn:not(:first-child) {
|
||||
border-left: 0 none;
|
||||
}
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: $light-gray;
|
||||
cursor: not-allowed;
|
||||
@include placeholder($dark-gray,1);
|
||||
}
|
||||
.form-control[disabled]::-moz-placeholder{
|
||||
@include placeholder($dark-gray,1);
|
||||
}
|
||||
.form-control[disabled]:-moz-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
.form-control[disabled]::-webkit-input-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
.form-control[disabled]:-ms-input-placeholder{
|
||||
@include placeholder($medium-gray,1);
|
||||
}
|
||||
.input-group-btn .btn{
|
||||
border-width: $border-thin;
|
||||
padding: $padding-round-vertical $padding-base-horizontal;
|
||||
}
|
||||
.input-group-btn .btn-default:not(.btn-fill){
|
||||
border-color: $medium-gray;
|
||||
}
|
||||
|
||||
.input-group-btn:last-child > .btn{
|
||||
margin-left: 0;
|
||||
}
|
||||
textarea.form-control{
|
||||
max-width: 100%;
|
||||
padding: 10px 18px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
69
public/assets/ecc/assets/sass/paper/_misc.scss
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
/* General overwrite */
|
||||
body{
|
||||
color: $font-color;
|
||||
font-size: $font-size-base;
|
||||
font-family: 'Muli', Arial, sans-serif;
|
||||
.wrapper{
|
||||
min-height: 100vh;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
a{
|
||||
color: $info-color;
|
||||
|
||||
&:hover, &:focus{
|
||||
color: $info-states-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
a:focus, a:active,
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner,
|
||||
select::-moz-focus-inner,
|
||||
input[type="file"] > input[type="button"]::-moz-focus-inner{
|
||||
outline:0 !important;
|
||||
}
|
||||
.ui-slider-handle:focus,
|
||||
.navbar-toggle,
|
||||
input:focus,
|
||||
button:focus {
|
||||
outline : 0 !important;
|
||||
}
|
||||
|
||||
/* Animations */
|
||||
.form-control,
|
||||
.input-group-addon,
|
||||
.tagsinput,
|
||||
.navbar,
|
||||
.navbar .alert{
|
||||
@include transition($general-transition-time, $transition-linear);
|
||||
}
|
||||
|
||||
.sidebar .nav a,
|
||||
.table > tbody > tr .td-actions .btn{
|
||||
@include transition($fast-transition-time, $transition-ease-in);
|
||||
}
|
||||
|
||||
.btn{
|
||||
@include transition($ultra-fast-transition-time, $transition-ease-in);
|
||||
}
|
||||
.fa{
|
||||
width: 21px;
|
||||
text-align: center;
|
||||
}
|
||||
.fa-base{
|
||||
font-size: 1.25em !important;
|
||||
}
|
||||
|
||||
.margin-top{
|
||||
margin-top: 50px;
|
||||
}
|
||||
hr{
|
||||
border-color: $medium-pale-bg;
|
||||
}
|
||||
.wrapper{
|
||||
position: relative;
|
||||
top: 0;
|
||||
height: 100vh;
|
||||
}
|
||||
17
public/assets/ecc/assets/sass/paper/_mixins.scss
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
//Utilities
|
||||
|
||||
@import "mixins/transparency";
|
||||
@import "mixins/vendor-prefixes";
|
||||
|
||||
|
||||
//Components
|
||||
|
||||
@import "mixins/buttons";
|
||||
@import "mixins/inputs";
|
||||
@import "mixins/labels";
|
||||
@import "mixins/tabs";
|
||||
@import "mixins/navbars";
|
||||
@import "mixins/icons";
|
||||
@import "mixins/cards";
|
||||
@import "mixins/chartist";
|
||||
@import "mixins/sidebar";
|
||||
293
public/assets/ecc/assets/sass/paper/_navbars.scss
vendored
Normal file
@@ -0,0 +1,293 @@
|
||||
.nav {
|
||||
> li{
|
||||
> a:hover,
|
||||
> a:focus{
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
.navbar{
|
||||
border: $none;
|
||||
border-radius: 0;
|
||||
font-size: $font-size-navbar;
|
||||
z-index: 3;
|
||||
|
||||
.navbar-brand{
|
||||
font-weight: $font-weight-bold;
|
||||
margin: $navbar-margin-brand;
|
||||
padding: $navbar-padding-brand;
|
||||
font-size: $font-size-large-navbar;
|
||||
}
|
||||
.navbar-nav{
|
||||
> li > a {
|
||||
line-height: 1.42857;
|
||||
margin: $navbar-margin-a;
|
||||
padding: $navbar-padding-a;
|
||||
|
||||
i,
|
||||
p{
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
}
|
||||
i{
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
}
|
||||
> li > a.btn{
|
||||
margin: $navbar-margin-a-btn;
|
||||
padding: $padding-base-vertical $padding-base-horizontal;
|
||||
}
|
||||
}
|
||||
.btn{
|
||||
margin: $navbar-margin-btn;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
.btn-simple{
|
||||
font-size: $font-size-medium;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-nav > li > .dropdown-menu{
|
||||
border-radius: $border-radius-extreme;
|
||||
margin-top: -5px;
|
||||
}
|
||||
|
||||
.navbar-default {
|
||||
background-color: $bg-nude;
|
||||
border-bottom: 1px solid $medium-gray;
|
||||
|
||||
.brand{
|
||||
color: $font-color !important;
|
||||
}
|
||||
.navbar-nav{
|
||||
> li > a:not(.btn){
|
||||
color: $dark-gray;
|
||||
}
|
||||
|
||||
> .active > a,
|
||||
> .active > a:not(.btn):hover,
|
||||
> .active > a:not(.btn):focus,
|
||||
> li > a:not(.btn):hover,
|
||||
> li > a:not(.btn):focus {
|
||||
background-color: transparent;
|
||||
border-radius: 3px;
|
||||
color: $info-color;
|
||||
@include opacity(1);
|
||||
}
|
||||
|
||||
> .dropdown > a:hover .caret,
|
||||
> .dropdown > a:focus .caret {
|
||||
border-bottom-color: $info-color;
|
||||
border-top-color: $info-color;
|
||||
|
||||
}
|
||||
|
||||
> .open > a,
|
||||
> .open > a:hover,
|
||||
> .open > a:focus{
|
||||
background-color: transparent;
|
||||
color: $info-color;
|
||||
}
|
||||
|
||||
.navbar-toggle:hover,.navbar-toggle:focus {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&:not(.navbar-transparent) .btn-default:hover{
|
||||
color: $info-color;
|
||||
border-color: $info-color;
|
||||
}
|
||||
&:not(.navbar-transparent) .btn-neutral,
|
||||
&:not(.navbar-transparent) .btn-neutral:hover,
|
||||
&:not(.navbar-transparent) .btn-neutral:active{
|
||||
color: $dark-gray;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-form{
|
||||
@include box-shadow(none);
|
||||
.form-control{
|
||||
@include light-form();
|
||||
height: 22px;
|
||||
font-size: $font-size-navbar;
|
||||
line-height: $line-height-general;
|
||||
color: $light-gray;
|
||||
}
|
||||
.navbar-transparent & .form-control,
|
||||
[class*="navbar-ct"] & .form-control{
|
||||
color: $white-color;
|
||||
border: $none;
|
||||
border-bottom: 1px solid rgba($white-color,.6);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.navbar-ct-primary{
|
||||
@include navbar-color($bg-primary);
|
||||
}
|
||||
.navbar-ct-info{
|
||||
@include navbar-color($bg-info);
|
||||
}
|
||||
.navbar-ct-success{
|
||||
@include navbar-color($bg-success);
|
||||
}
|
||||
.navbar-ct-warning{
|
||||
@include navbar-color($bg-warning);
|
||||
}
|
||||
.navbar-ct-danger{
|
||||
@include navbar-color($bg-danger);
|
||||
}
|
||||
|
||||
.navbar-transparent{
|
||||
padding-top: 15px;
|
||||
background-color: transparent;
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
|
||||
.navbar-toggle{
|
||||
margin-top: 19px;
|
||||
margin-bottom: 19px;
|
||||
border: $none;
|
||||
|
||||
.icon-bar {
|
||||
background-color: $white-color;
|
||||
}
|
||||
.navbar-collapse,
|
||||
.navbar-form {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
&.navbar-default .navbar-toggle:hover,
|
||||
&.navbar-default .navbar-toggle:focus {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-transparent, [class*="navbar-ct"]{
|
||||
|
||||
.navbar-brand{
|
||||
|
||||
@include opacity(.9);
|
||||
|
||||
&:focus,
|
||||
|
||||
&:hover{
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
@include opacity(1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.navbar-brand:not([class*="text"]){
|
||||
|
||||
color: $white-color;
|
||||
|
||||
}
|
||||
|
||||
.navbar-nav{
|
||||
|
||||
> li > a:not(.btn){
|
||||
|
||||
color: $white-color;
|
||||
|
||||
border-color: $white-color;
|
||||
|
||||
@include opacity(0.8);
|
||||
|
||||
}
|
||||
|
||||
> .active > a:not(.btn),
|
||||
|
||||
> .active > a:hover:not(.btn),
|
||||
|
||||
> .active > a:focus:not(.btn),
|
||||
|
||||
> li > a:hover:not(.btn),
|
||||
|
||||
> li > a:focus:not(.btn){
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
border-radius: 3px;
|
||||
|
||||
color: $white-color;
|
||||
|
||||
@include opacity(1);
|
||||
|
||||
}
|
||||
|
||||
.nav > li > a.btn:hover{
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
}
|
||||
|
||||
> .dropdown > a .caret,
|
||||
|
||||
> .dropdown > a:hover .caret,
|
||||
|
||||
> .dropdown > a:focus .caret{
|
||||
|
||||
border-bottom-color: $white-color;
|
||||
|
||||
border-top-color: $white-color;
|
||||
|
||||
}
|
||||
|
||||
> .open > a,
|
||||
|
||||
> .open > a:hover,
|
||||
|
||||
> .open > a:focus {
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
color: $white-color;
|
||||
|
||||
@include opacity(1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.btn-default{
|
||||
|
||||
color: $white-color;
|
||||
|
||||
border-color: $white-color;
|
||||
|
||||
}
|
||||
|
||||
.btn-default.btn-fill{
|
||||
|
||||
color: $dark-gray;
|
||||
|
||||
background-color: $white-color;
|
||||
|
||||
@include opacity(.9);
|
||||
|
||||
}
|
||||
|
||||
.btn-default.btn-fill:hover,
|
||||
|
||||
.btn-default.btn-fill:focus,
|
||||
|
||||
.btn-default.btn-fill:active,
|
||||
|
||||
.btn-default.btn-fill.active,
|
||||
|
||||
.open .dropdown-toggle.btn-fill.btn-default{
|
||||
|
||||
border-color: $white-color;
|
||||
|
||||
@include opacity(1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
447
public/assets/ecc/assets/sass/paper/_responsive.scss
vendored
Normal file
@@ -0,0 +1,447 @@
|
||||
@media (min-width: 992px){
|
||||
.navbar{
|
||||
min-height: 75px;
|
||||
}
|
||||
.navbar-form {
|
||||
margin-top: 21px;
|
||||
margin-bottom: 21px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.navbar-search-form{
|
||||
display: none;
|
||||
}
|
||||
.navbar-nav > li > .dropdown-menu,
|
||||
.dropdown .dropdown-menu{
|
||||
transform: translate3d(0px, -40px, 0px);
|
||||
transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 0.3s ease 0s, height 0s linear 0.35s;
|
||||
}
|
||||
.navbar-nav > li.open > .dropdown-menu, .dropdown.open .dropdown-menu{
|
||||
transform: translate3d(0px, 0px, 0px);
|
||||
}
|
||||
|
||||
.navbar-nav > li > .dropdown-menu:before{
|
||||
border-bottom: 11px solid $medium-pale-bg;
|
||||
border-left: 11px solid rgba(0, 0, 0, 0);
|
||||
border-right: 11px solid rgba(0, 0, 0, 0);
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: -11px;
|
||||
}
|
||||
.navbar-nav > li > .dropdown-menu:after {
|
||||
border-bottom: 11px solid $pale-bg;
|
||||
border-left: 11px solid rgba(0, 0, 0, 0);
|
||||
border-right: 11px solid rgba(0, 0, 0, 0);
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
.navbar-nav.navbar-left > li > .dropdown-menu:before{
|
||||
right: auto;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
.navbar-nav.navbar-left > li > .dropdown-menu:after{
|
||||
right: auto;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
.navbar{
|
||||
.navbar-header{
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.footer:not(.footer-big){
|
||||
nav > ul{
|
||||
li:first-child{
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body > .navbar-collapse.collapse{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.card{
|
||||
form{
|
||||
[class*="col-"]{
|
||||
padding: 6px;
|
||||
}
|
||||
[class*="col-"]:first-child{
|
||||
padding-left: 15px;
|
||||
}
|
||||
[class*="col-"]:last-child{
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Changes for small display */
|
||||
|
||||
@media (max-width: 991px){
|
||||
.sidebar{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-panel{
|
||||
width: 100%;
|
||||
}
|
||||
.navbar-transparent{
|
||||
padding-top: 15px;
|
||||
background-color: rgba(0, 0, 0, 0.45);
|
||||
}
|
||||
body {
|
||||
position: relative;
|
||||
}
|
||||
h6{
|
||||
font-size: 1em;
|
||||
}
|
||||
.wrapper{
|
||||
@include transform-translate-x(0px);
|
||||
@include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));
|
||||
left: 0;
|
||||
background-color: white;
|
||||
}
|
||||
.navbar .container{
|
||||
left: 0;
|
||||
width: 100%;
|
||||
@include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));
|
||||
position: relative;
|
||||
}
|
||||
.navbar .navbar-collapse.collapse,
|
||||
.navbar .navbar-collapse.collapse.in,
|
||||
.navbar .navbar-collapse.collapsing{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.navbar-nav > li{
|
||||
float: none;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.off-canvas-sidebar {
|
||||
position: fixed;
|
||||
display: block;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
width: 230px;
|
||||
right: 0;
|
||||
z-index: 1032;
|
||||
visibility: visible;
|
||||
background-color: #999;
|
||||
overflow-y: visible;
|
||||
border-top: none;
|
||||
text-align: left;
|
||||
padding-right: 0px;
|
||||
padding-left: 0;
|
||||
|
||||
@include transform-translate-x(230px);
|
||||
@include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));
|
||||
|
||||
.sidebar-wrapper {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
overflow-y: scroll;
|
||||
height: 100%;
|
||||
box-shadow: inset 1px 0px 0px 0px $medium-gray;
|
||||
}
|
||||
|
||||
.nav{
|
||||
margin-top: 0;
|
||||
padding: 10px $margin-base-vertical 0;
|
||||
|
||||
> li{
|
||||
|
||||
> a{
|
||||
margin: 0px 0px;
|
||||
color: $default-color;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
font-size: $font-size-small;
|
||||
line-height: $line-height-general;
|
||||
padding: 10px 0;
|
||||
|
||||
&:hover,
|
||||
&.active{
|
||||
color: $default-states-color;
|
||||
}
|
||||
|
||||
p,
|
||||
.notification,
|
||||
.caret,
|
||||
{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.caret{
|
||||
float: right;
|
||||
position: relative;
|
||||
top: 12px;
|
||||
}
|
||||
|
||||
i{
|
||||
font-size: 18px;
|
||||
margin-right: 10px;
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
|
||||
&.active > a{
|
||||
|
||||
&:before{
|
||||
border-right: none;
|
||||
border-left: 12px solid $medium-gray;
|
||||
border-top: 12px solid transparent;
|
||||
border-bottom: 12px solid transparent;
|
||||
right: auto;
|
||||
margin-left: -$margin-base-vertical;
|
||||
left: 0px;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
&:after{
|
||||
border-right: none;
|
||||
border-left: 12px solid $bg-nude;
|
||||
border-top: 12px solid transparent;
|
||||
border-bottom: 12px solid transparent;
|
||||
right: auto;
|
||||
margin-left: -$margin-base-vertical;
|
||||
left: -1px;
|
||||
top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
&::after{
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
background-color: $bg-nude;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(112, 112, 112, 0) 60%, rgba(186, 186, 186, 0.15) 100%);
|
||||
display: block;
|
||||
content: "";
|
||||
z-index: 1;
|
||||
}
|
||||
&.has-image::after{
|
||||
@include black-filter(.8);
|
||||
}
|
||||
|
||||
.logo{
|
||||
position: relative;
|
||||
z-index: 4;
|
||||
padding-top: 11px;
|
||||
padding-bottom: 11px;
|
||||
}
|
||||
|
||||
.divider{
|
||||
height: 1px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
.nav-open .navbar-collapse{
|
||||
@include transform-translate-x(0px);
|
||||
}
|
||||
.nav-open .navbar .container{
|
||||
left: -230px;
|
||||
}
|
||||
.nav-open .wrapper{
|
||||
left: 0;
|
||||
@include transform-translate-x(-230px);
|
||||
}
|
||||
.navbar-toggle .icon-bar {
|
||||
display: block;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
width: 24px;
|
||||
height: 2px;
|
||||
border-radius: 1px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.navbar-header .navbar-toggle {
|
||||
margin: 10px 15px 10px 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.bar1,
|
||||
.bar2,
|
||||
.bar3 {
|
||||
outline: 1px solid transparent;
|
||||
}
|
||||
.bar1 {
|
||||
top: 0px;
|
||||
@include bar-animation($topbar-back);
|
||||
}
|
||||
.bar2 {
|
||||
opacity: 1;
|
||||
}
|
||||
.bar3 {
|
||||
bottom: 0px;
|
||||
@include bar-animation($bottombar-back);
|
||||
}
|
||||
.toggled .bar1 {
|
||||
top: 6px;
|
||||
@include bar-animation($topbar-x);
|
||||
}
|
||||
.toggled .bar2 {
|
||||
opacity: 0;
|
||||
}
|
||||
.toggled .bar3 {
|
||||
bottom: 6px;
|
||||
@include bar-animation($bottombar-x);
|
||||
}
|
||||
|
||||
@include topbar-x-rotation();
|
||||
@include topbar-back-rotation();
|
||||
@include bottombar-x-rotation();
|
||||
@include bottombar-back-rotation();
|
||||
|
||||
@-webkit-keyframes fadeIn {
|
||||
0% {opacity: 0;}
|
||||
100% {opacity: 1;}
|
||||
}
|
||||
@-moz-keyframes fadeIn {
|
||||
0% {opacity: 0;}
|
||||
100% {opacity: 1;}
|
||||
}
|
||||
@keyframes fadeIn {
|
||||
0% {opacity: 0;}
|
||||
100% {opacity: 1;}
|
||||
}
|
||||
|
||||
.dropdown-menu .divider{
|
||||
background-color: rgba(229, 229, 229, 0.15);
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
margin: 1px 0;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
display: none;
|
||||
|
||||
& > li > a{
|
||||
&:hover,
|
||||
&:focus{
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-fixed-top {
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
#bodyClick {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
opacity: 0;
|
||||
top: 0;
|
||||
left: auto;
|
||||
right: 230px;
|
||||
content: "";
|
||||
z-index: 9999;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.form-control + .form-control-feedback{
|
||||
margin-top: -8px;
|
||||
}
|
||||
.navbar-toggle:hover,.navbar-toggle:focus {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
.btn.dropdown-toggle{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.media-post .author{
|
||||
width: 20%;
|
||||
float: none !important;
|
||||
display: block;
|
||||
margin: 0 auto 10px;
|
||||
}
|
||||
.media-post .media-body{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.navbar-collapse.collapse{
|
||||
height: 100% !important;
|
||||
}
|
||||
.navbar-collapse.collapse.in {
|
||||
display: block;
|
||||
}
|
||||
.navbar-header .collapse, .navbar-toggle {
|
||||
display:block !important;
|
||||
}
|
||||
.navbar-header {
|
||||
float:none;
|
||||
}
|
||||
.navbar-nav .open .dropdown-menu {
|
||||
position: static;
|
||||
float: none;
|
||||
width: auto;
|
||||
margin-top: 0;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.main-panel > .content{
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
.nav .open > a{
|
||||
&,
|
||||
&:focus,
|
||||
&:hover{
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.footer .copyright{
|
||||
padding: 0px 15px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
//overwrite table responsive for 768px screens
|
||||
|
||||
@media (min-width: 992px){
|
||||
.table-full-width{
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
}
|
||||
.table-responsive{
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 991px){
|
||||
.table-responsive {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
border: 1px solid #dddddd;
|
||||
overflow-x: scroll;
|
||||
overflow-y: hidden;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
}
|
||||
194
public/assets/ecc/assets/sass/paper/_sidebar-and-main-panel.scss
vendored
Normal file
@@ -0,0 +1,194 @@
|
||||
.sidebar{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
.sidebar-wrapper{
|
||||
position: relative;
|
||||
max-height: none;
|
||||
min-height: 100%;
|
||||
overflow: hidden;
|
||||
width: 260px;
|
||||
z-index: 4;
|
||||
box-shadow: inset -1px 0px 0px 0px $medium-gray;
|
||||
}
|
||||
.sidebar-background{
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
}
|
||||
|
||||
}
|
||||
.sidebar,
|
||||
.off-canvas-sidebar{
|
||||
width: 260px;
|
||||
display: block;
|
||||
font-weight: 200;
|
||||
|
||||
.logo{
|
||||
padding: 18px 0px;
|
||||
margin: 0 20px;
|
||||
|
||||
p{
|
||||
float: left;
|
||||
font-size: 20px;
|
||||
margin: 10px 10px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.simple-text{
|
||||
text-transform: uppercase;
|
||||
padding: $padding-small-vertical $padding-zero;
|
||||
display: block;
|
||||
font-size: $font-size-large;
|
||||
text-align: center;
|
||||
font-weight: $font-weight-normal;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.nav{
|
||||
margin-top: 20px;
|
||||
|
||||
li{
|
||||
> a{
|
||||
margin: 10px 0px;
|
||||
padding-left: 25px;
|
||||
padding-right: 25px;
|
||||
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
&:hover > a{
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&.active > a{
|
||||
color: $primary-color;
|
||||
opacity: 1;
|
||||
|
||||
&:before{
|
||||
border-right: 17px solid $medium-gray;
|
||||
border-top: 17px solid transparent;
|
||||
border-bottom: 17px solid transparent;
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 8px;
|
||||
}
|
||||
|
||||
&:after{
|
||||
border-right: 17px solid $bg-nude;
|
||||
border-top: 17px solid transparent;
|
||||
border-bottom: 17px solid transparent;
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: -1px;
|
||||
top: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p{
|
||||
margin: 0;
|
||||
line-height: 30px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
i{
|
||||
font-size: 24px;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
line-height: 30px;
|
||||
width: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
&:after,
|
||||
&:before{
|
||||
display: block;
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
background: $white-background-color;
|
||||
}
|
||||
|
||||
&,
|
||||
&[data-background-color="white"]{
|
||||
@include sidebar-background-color($white-background-color, $default-color);
|
||||
}
|
||||
&[data-background-color="black"]{
|
||||
@include sidebar-background-color($black-background-color, $white-color);
|
||||
}
|
||||
|
||||
&[data-active-color="primary"]{
|
||||
@include sidebar-active-color($primary-color);
|
||||
}
|
||||
&[data-active-color="info"]{
|
||||
@include sidebar-active-color($info-color);
|
||||
}
|
||||
&[data-active-color="success"]{
|
||||
@include sidebar-active-color($success-color);
|
||||
}
|
||||
&[data-active-color="warning"]{
|
||||
@include sidebar-active-color($warning-color);
|
||||
}
|
||||
&[data-active-color="danger"]{
|
||||
@include sidebar-active-color($danger-color);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.main-panel{
|
||||
background-color: $bg-nude;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
float: right;
|
||||
width: $sidebar-width;
|
||||
min-height: 100%;
|
||||
|
||||
> .content{
|
||||
padding: 30px 15px;
|
||||
min-height: calc(100% - 123px);
|
||||
}
|
||||
|
||||
> .footer{
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.navbar{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar,
|
||||
.main-panel{
|
||||
overflow: auto;
|
||||
max-height: 100%;
|
||||
height: 100%;
|
||||
-webkit-transition-property: top,bottom;
|
||||
transition-property: top,bottom;
|
||||
-webkit-transition-duration: .2s,.2s;
|
||||
transition-duration: .2s,.2s;
|
||||
-webkit-transition-timing-function: linear,linear;
|
||||
transition-timing-function: linear,linear;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
77
public/assets/ecc/assets/sass/paper/_tables.scss
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
.table{
|
||||
thead,
|
||||
tbody,
|
||||
tfoot{
|
||||
tr > th,
|
||||
tr > td{
|
||||
border-top: 1px solid $table-line-color;
|
||||
}
|
||||
}
|
||||
> thead > tr > th{
|
||||
border-bottom-width: 0;
|
||||
font-size: $font-size-h5;
|
||||
font-weight: $font-weight-light;
|
||||
}
|
||||
|
||||
.radio,
|
||||
.checkbox{
|
||||
margin-top: 0;
|
||||
margin-bottom: 22px;
|
||||
padding: 0;
|
||||
width: 15px;
|
||||
}
|
||||
> thead > tr > th,
|
||||
> tbody > tr > th,
|
||||
> tfoot > tr > th,
|
||||
> thead > tr > td,
|
||||
> tbody > tr > td,
|
||||
> tfoot > tr > td{
|
||||
padding: 12px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.th-description{
|
||||
max-width: 150px;
|
||||
}
|
||||
.td-price{
|
||||
font-size: 26px;
|
||||
font-weight: $font-weight-light;
|
||||
margin-top: 5px;
|
||||
text-align: right;
|
||||
}
|
||||
.td-total{
|
||||
font-weight: $font-weight-bold;
|
||||
font-size: $font-size-h5;
|
||||
padding-top: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.td-actions .btn{
|
||||
|
||||
&.btn-sm,
|
||||
&.btn-xs{
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
> tbody > tr{
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
.table-striped{
|
||||
tbody > tr:nth-of-type(2n+1) {
|
||||
background-color: #fff;
|
||||
}
|
||||
tbody > tr:nth-of-type(2n) {
|
||||
background-color: $pale-bg;
|
||||
}
|
||||
> thead > tr > th,
|
||||
> tbody > tr > th,
|
||||
> tfoot > tr > th,
|
||||
> thead > tr > td,
|
||||
> tbody > tr > td,
|
||||
> tfoot > tr > td{
|
||||
padding: 15px 8px;
|
||||
}
|
||||
}
|
||||
117
public/assets/ecc/assets/sass/paper/_typography.scss
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, .navbar, .brand, a, .td-name, td{
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-family: 'Muli', "Helvetica", Arial, sans-serif;
|
||||
}
|
||||
|
||||
h1, .h1, h2, .h2, h3, .h3, h4, .h4{
|
||||
font-weight: $font-weight-normal;
|
||||
margin: $margin-large-vertical 0 $margin-base-vertical;
|
||||
}
|
||||
|
||||
h1, .h1 {
|
||||
font-size: $font-size-h1;
|
||||
}
|
||||
h2, .h2{
|
||||
font-size: $font-size-h2;
|
||||
}
|
||||
h3, .h3{
|
||||
font-size: $font-size-h3;
|
||||
line-height: 1.4;
|
||||
margin: 20px 0 10px;
|
||||
}
|
||||
h4, .h4{
|
||||
font-size: $font-size-h4;
|
||||
font-weight: $font-weight-bold;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
h5, .h5 {
|
||||
font-size: $font-size-h5;
|
||||
font-weight: $font-weight-normal;
|
||||
line-height: 1.4em;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
h6, .h6{
|
||||
font-size: $font-size-h6;
|
||||
font-weight: $font-weight-bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
p{
|
||||
font-size: $font-paragraph;
|
||||
line-height: $line-height-general;
|
||||
}
|
||||
|
||||
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
|
||||
color: $dark-gray;
|
||||
font-weight: $font-weight-light;
|
||||
line-height: $line-height-general;
|
||||
}
|
||||
|
||||
h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {
|
||||
font-size: 60%;
|
||||
}
|
||||
.title-uppercase{
|
||||
text-transform: uppercase;
|
||||
}
|
||||
blockquote{
|
||||
font-style: italic;
|
||||
}
|
||||
blockquote small{
|
||||
font-style: normal;
|
||||
}
|
||||
.text-muted{
|
||||
color: $medium-gray;
|
||||
}
|
||||
.text-primary, .text-primary:hover{
|
||||
color: $primary-states-color;
|
||||
}
|
||||
.text-info, .text-info:hover{
|
||||
color: $info-states-color;
|
||||
}
|
||||
.text-success, .text-success:hover{
|
||||
color: $success-states-color;
|
||||
}
|
||||
.text-warning, .text-warning:hover{
|
||||
color: $warning-states-color;
|
||||
}
|
||||
.text-danger, .text-danger:hover{
|
||||
color: $danger-states-color;
|
||||
}
|
||||
.glyphicon{
|
||||
line-height: 1;
|
||||
}
|
||||
strong{
|
||||
color: $default-states-color;
|
||||
}
|
||||
.icon-primary{
|
||||
color: $primary-color;
|
||||
}
|
||||
.icon-info{
|
||||
color: $info-color;
|
||||
}
|
||||
.icon-success{
|
||||
color: $success-color;
|
||||
}
|
||||
.icon-warning{
|
||||
color: $warning-color;
|
||||
}
|
||||
.icon-danger{
|
||||
color: $danger-color;
|
||||
}
|
||||
.chart-legend{
|
||||
.text-primary, .text-primary:hover{
|
||||
color: $primary-color;
|
||||
}
|
||||
.text-info, .text-info:hover{
|
||||
color: $info-color;
|
||||
}
|
||||
.text-success, .text-success:hover{
|
||||
color: $success-color;
|
||||
}
|
||||
.text-warning, .text-warning:hover{
|
||||
color: $warning-color;
|
||||
}
|
||||
.text-danger, .text-danger:hover{
|
||||
color: $danger-color;
|
||||
}
|
||||
}
|
||||