mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-20 06:52:15 +00:00
Merge branch 'master' into markdown
# Conflicts: # RIGS/static/scss/screen.scss # RIGS/templates/RIGS/event_detail.html # RIGS/templates/RIGS/event_form.html # RIGS/templates/RIGS/event_table.html # RIGS/templates/RIGS/item_row.html # RIGS/templates/RIGS/item_table.html # RIGS/templates/RIGS/organisation_detail.html # RIGS/templates/RIGS/organisation_form.html # RIGS/templates/RIGS/person_detail.html # RIGS/templates/RIGS/person_form.html # RIGS/templates/RIGS/rigboard.html # RIGS/templates/RIGS/venue_detail.html # RIGS/templates/RIGS/venue_form.html # RIGS/templates/event_print.xml # RIGS/templates/event_print_page.xml # RIGS/templates/item_modal.html # RIGS/tests/test_unit.py # assets/templates/asset_create.html # assets/templates/asset_update.html # assets/templates/partials/asset_detail_form.html # requirements.txt # templates/base.html
This commit is contained in:
1
pipeline/source_assets/js/asteroids.min.js
vendored
Normal file
1
pipeline/source_assets/js/asteroids.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
102
pipeline/source_assets/js/autocompleter.js
Normal file
102
pipeline/source_assets/js/autocompleter.js
Normal file
@@ -0,0 +1,102 @@
|
||||
function changeSelectedValue(obj,pk,text,update_url) { //Pass in JQuery object and new parameters
|
||||
//console.log('Changing selected value');
|
||||
obj.find('option').remove(); //Remove all the available options
|
||||
obj.append( //Add the new option
|
||||
$("<option></option>")
|
||||
.attr("value",pk)
|
||||
.text(text)
|
||||
.data('update_url',update_url)
|
||||
);
|
||||
obj.selectpicker('render'); //Re-render the UI
|
||||
obj.selectpicker('refresh'); //Re-render the UI
|
||||
obj.selectpicker('val', pk); //Set the new value to be selected
|
||||
obj.change(); //Trigger the change function manually
|
||||
}
|
||||
|
||||
function refreshUpdateHref(obj) {
|
||||
//console.log('Refreshing Update URL');
|
||||
targetObject = $('#'+obj.attr('id')+'-update');
|
||||
update_url = $('option:selected', obj).data('update_url');
|
||||
|
||||
if (update_url=="") { //Probably "clear selection" has been chosen
|
||||
//console.log('Trying to disable');
|
||||
targetObject.removeAttr('href');
|
||||
targetObject.addClass('disabled');
|
||||
} else {
|
||||
targetObject.prop('href', update_url);
|
||||
targetObject.removeClass('disabled');
|
||||
}
|
||||
}
|
||||
|
||||
function initPicker(obj) {
|
||||
var options = {
|
||||
ajax: {
|
||||
url: obj.data('sourceurl'),
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
// Use "{{{q}}}" as a placeholder and Ajax Bootstrap Select will
|
||||
// automatically replace it with the value of the search query.
|
||||
data: {
|
||||
term: '{{{q}}}'
|
||||
}
|
||||
},
|
||||
locale: {
|
||||
emptyTitle: ''
|
||||
},
|
||||
clearOnEmpty:false,
|
||||
//log: 3,
|
||||
preprocessData: function (data) {
|
||||
var i, l = data.length, array = [];
|
||||
array.push({
|
||||
text: clearSelectionLabel,
|
||||
value: '',
|
||||
data:{
|
||||
update_url: '',
|
||||
subtext:''
|
||||
}
|
||||
});
|
||||
|
||||
if (l) {
|
||||
for(i = 0; i < l; i++){
|
||||
array.push($.extend(true, data[i], {
|
||||
text: data[i]['label'],
|
||||
value: data[i]['pk'],
|
||||
data:{
|
||||
update_url: data[i]['update'],
|
||||
subtext:''
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
};
|
||||
|
||||
obj.prepend($("<option></option>")
|
||||
.attr("value",'')
|
||||
.text(clearSelectionLabel)
|
||||
.data('update_url','')); //Add "clear selection" option
|
||||
|
||||
|
||||
obj.selectpicker().ajaxSelectPicker(options); //Initiaise selectPicker
|
||||
obj.change(function(){ //on change, update the edit button href
|
||||
//console.log('Selectbox Changed');
|
||||
refreshUpdateHref(obj);
|
||||
});
|
||||
|
||||
refreshUpdateHref(obj); //Ensure href is correct at the beginning
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
clearSelectionLabel = '(no selection)';
|
||||
|
||||
$(".selectpicker").each(function(){initPicker($(this))});
|
||||
|
||||
//When update/edit modal box submitted
|
||||
$('#modal').on('hide.bs.modal', function (e) {
|
||||
if (modaltarget != undefined && modalobject != "") {
|
||||
//Update the selector with new values
|
||||
changeSelectedValue($(modaltarget),modalobject[0]['pk'],modalobject[0]['fields']['name'],modalobject[0]['update_url']);
|
||||
}
|
||||
});
|
||||
});
|
||||
139
pipeline/source_assets/js/interaction.js
Normal file
139
pipeline/source_assets/js/interaction.js
Normal file
@@ -0,0 +1,139 @@
|
||||
marked.setOptions({
|
||||
breaks: true,
|
||||
})
|
||||
|
||||
function setupItemTable(items_json) {
|
||||
objectitems = JSON.parse(items_json)
|
||||
$.each(objectitems, function (key, val) {
|
||||
objectitems[key] = JSON.parse(val);
|
||||
})
|
||||
newitem = -1;
|
||||
}
|
||||
|
||||
function nl2br (str, is_xhtml) {
|
||||
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
|
||||
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
|
||||
}
|
||||
|
||||
function escapeHtml (str) {
|
||||
return $('<div/>').text(str).html();
|
||||
}
|
||||
|
||||
function updatePrices() {
|
||||
// individual rows
|
||||
var sum = 0;
|
||||
for (var pk in objectitems) {
|
||||
var fields = objectitems[pk].fields;
|
||||
var sub = fields.cost * fields.quantity;
|
||||
$('#item-' + pk + ' .sub-total').html(parseFloat(sub).toFixed(2)).data('subtotal', sub);
|
||||
|
||||
sum += Number(sub);
|
||||
}
|
||||
|
||||
$('#sumtotal').text(parseFloat(sum).toFixed(2));
|
||||
var vat = sum * Number($('#vat-rate').data('rate'));
|
||||
$('#vat').text(parseFloat(vat).toFixed(2));
|
||||
$('#total').text(parseFloat(sum + vat).toFixed(2));
|
||||
}
|
||||
|
||||
function setupMDE(selector) {
|
||||
editor = new SimpleMDE({
|
||||
element: $(selector)[0],
|
||||
forceSync: true,
|
||||
toolbar: ["bold", "italic", "strikethrough", "|", "unordered-list", "ordered-list", "|", "link", "|", "preview", "guide"],
|
||||
status: true,
|
||||
});
|
||||
$(selector).data('mde_editor',editor);
|
||||
}
|
||||
|
||||
$('#item-table').on('click', '.item-delete', function () {
|
||||
delete objectitems[$(this).data('pk')]
|
||||
$('#item-' + $(this).data('pk')).remove();
|
||||
updatePrices();
|
||||
});
|
||||
|
||||
$('#item-table').on('click', '.item-add', function () {
|
||||
$('#item-form').data('pk', newitem);
|
||||
|
||||
// Set the form values
|
||||
$('#item_name').val('');
|
||||
$('#item_description').val('');
|
||||
$('#item_quantity').val('');
|
||||
$('#item_cost').val('');
|
||||
|
||||
$($(this).data('target')).modal('show');
|
||||
});
|
||||
|
||||
$('#item-table').on('click', '.item-edit', function () {
|
||||
// set the pk as we will need this later
|
||||
var pk = $(this).data('pk');
|
||||
$('#item-form').data('pk', pk);
|
||||
|
||||
// Set the form values
|
||||
var fields = objectitems[pk].fields;
|
||||
$('#item_name').val(fields.name);
|
||||
$('#item_description').val(fields.description);
|
||||
$('#item_quantity').val(fields.quantity);
|
||||
$('#item_cost').val(fields.cost);
|
||||
|
||||
$($(this).data('target')).modal('show');
|
||||
});
|
||||
|
||||
$('body').on('submit', '#item-form', function (e) {
|
||||
e.preventDefault();
|
||||
var pk = $(this).data('pk');
|
||||
$('#itemModal').modal('hide');
|
||||
|
||||
var fields;
|
||||
if (pk == newitem--) {
|
||||
// Create the new data structure and add it on.
|
||||
fields = new Object();
|
||||
fields['name'] = $('#item_name').val()
|
||||
fields['description'] = $('#item_description').val();
|
||||
fields['cost'] = $('#item_cost').val();
|
||||
fields['quantity'] = $('#item_quantity').val();
|
||||
|
||||
var order = 0;
|
||||
for (item in objectitems) {
|
||||
order++;
|
||||
}
|
||||
|
||||
fields['order'] = order;
|
||||
|
||||
objectitems[pk] = new Object();
|
||||
objectitems[pk]['fields'] = fields;
|
||||
|
||||
// Add the new table
|
||||
$('#new-item-row').clone().attr('id', 'item-' + pk).data('pk', pk).appendTo('#item-table-body');
|
||||
$('#item-'+pk+' .item-delete, #item-'+pk+' .item-edit').data('pk', pk)
|
||||
} else {
|
||||
// Existing item
|
||||
// update data structure
|
||||
fields = objectitems[pk].fields;
|
||||
fields.name = $('#item_name').val()
|
||||
fields.description = $('#item_description').val();
|
||||
fields.cost = $('#item_cost').val();
|
||||
fields.quantity = $('#item_quantity').val();
|
||||
objectitems[pk].fields = fields;
|
||||
|
||||
}
|
||||
// update the table
|
||||
$row = $('#item-' + pk);
|
||||
$row.find('.name').html(escapeHtml(fields.name));
|
||||
$row.find('.description').html(marked(fields.description));
|
||||
$row.find('.cost').html(parseFloat(fields.cost).toFixed(2));
|
||||
$row.find('.quantity').html(fields.quantity);
|
||||
|
||||
updatePrices();
|
||||
});
|
||||
|
||||
$('body').on('submit', '.itemised_form', function (e) {
|
||||
$('#id_items_json').val(JSON.stringify(objectitems));
|
||||
});
|
||||
|
||||
sortable("#item-table tbody")[0].addEventListener('sortupdate', function (e) {
|
||||
var items = e.detail.destination.items;
|
||||
for(var i in items) {
|
||||
objectitems[items[i].dataset.pk].fields.order = i;
|
||||
}
|
||||
});
|
||||
39
pipeline/source_assets/js/src.js
Normal file
39
pipeline/source_assets/js/src.js
Normal file
@@ -0,0 +1,39 @@
|
||||
Date.prototype.getISOString = function () {
|
||||
var yyyy = this.getFullYear().toString();
|
||||
var mm = (this.getMonth() + 1).toString(); // getMonth() is zero-based
|
||||
var dd = this.getDate().toString();
|
||||
return yyyy + '-' + (mm[1] ? mm : "0" + mm[0]) + '-' + (dd[1] ? dd : "0" + dd[0]); // padding
|
||||
};
|
||||
jQuery(document).ready(function () {
|
||||
jQuery(document).on('click', '.modal-href', function (e) {
|
||||
$link = jQuery(this);
|
||||
// Anti modal inception
|
||||
if ($link.parents('#modal').length == 0) {
|
||||
e.preventDefault();
|
||||
modaltarget = $link.data('target');
|
||||
modalobject = "";
|
||||
jQuery('#modal').load($link.attr('href'), function (e) {
|
||||
jQuery('#modal').modal();
|
||||
});
|
||||
}
|
||||
});
|
||||
var easter_egg = new Konami();
|
||||
easter_egg.code = function () {
|
||||
var s = document.createElement('script');
|
||||
s.type = 'text/javascript';
|
||||
document.body.appendChild(s);
|
||||
s.src = '{% static "js/asteroids.min.js"%}';
|
||||
ga('send', 'event', 'easter_egg', 'activated');
|
||||
}
|
||||
easter_egg.load();
|
||||
});
|
||||
//CTRL-Enter form submission
|
||||
document.body.addEventListener('keydown', function(e) {
|
||||
if(e.keyCode == 13 && (e.metaKey || e.ctrlKey)) {
|
||||
var target = e.target;
|
||||
if(target.form) {
|
||||
target.form.submit();
|
||||
}
|
||||
}
|
||||
});
|
||||
$('.navbar-collapse').addClass('collapse');
|
||||
11
pipeline/source_assets/scss/_custom-variables.scss
Normal file
11
pipeline/source_assets/scss/_custom-variables.scss
Normal file
@@ -0,0 +1,11 @@
|
||||
$font-family-sans-serif: "Open Sans", sans-serif;
|
||||
//Make it look less primary school
|
||||
$font-size-base: 0.85rem;
|
||||
$theme-colors: (
|
||||
"success": #5cb85c,
|
||||
"warning": #f0ad4e,
|
||||
"danger": #d9534f,
|
||||
"info": #5bc0de,
|
||||
"primary": #3A52A2
|
||||
) !default;
|
||||
$enable-shadows: true;
|
||||
136
pipeline/source_assets/scss/dark_screen.scss
Normal file
136
pipeline/source_assets/scss/dark_screen.scss
Normal file
@@ -0,0 +1,136 @@
|
||||
[data-theme='dark'] {
|
||||
$theme-colors: (
|
||||
"success": #3AB54A,
|
||||
"warning": #FFE89B,
|
||||
"danger": #BF1E2E,
|
||||
"info": #25AAE2,
|
||||
"primary": #3A52A2
|
||||
);
|
||||
@import "custom-variables";
|
||||
@import 'node_modules/@forevolve/bootstrap-dark/scss/bootstrap-dark.scss';
|
||||
background: #222;
|
||||
color: $gray-100;
|
||||
$darktheme: #121416;
|
||||
.navbar {
|
||||
background-color: #111111 !important;
|
||||
}
|
||||
.dropdown-menu {
|
||||
box-shadow: 0 0.5rem 1rem black;
|
||||
color: $gray-100;
|
||||
background: $darktheme;
|
||||
}
|
||||
.form-control:not(.btn) {
|
||||
background-color: $darktheme;
|
||||
color: $gray-100;
|
||||
}
|
||||
.btn-light, .popover, .popover-header, .popover-body, .status {
|
||||
background-color: $darktheme !important;
|
||||
color: $gray-100 !important;
|
||||
border-color: $darktheme;
|
||||
}
|
||||
.bs-popover-right > .arrow::after {
|
||||
border-right-color: $darktheme;
|
||||
}
|
||||
.bs-popover-left > .arrow::after {
|
||||
border-left-color: $darktheme;
|
||||
}
|
||||
.bs-popover-top > .arrow::after {
|
||||
border-top-color: $darktheme;
|
||||
}
|
||||
.bs-popover-bottom > .arrow::after {
|
||||
border-bottom-color: $darktheme;
|
||||
}
|
||||
a {
|
||||
color: $blue;
|
||||
}
|
||||
.badge, .btn-success, .bg-warning {
|
||||
color: black;
|
||||
}
|
||||
.badge-dark, .badge-secondary, .btn-primary {
|
||||
color: $gray-100;
|
||||
}
|
||||
.input-group-text {
|
||||
border-color: $darktheme;
|
||||
}
|
||||
.btn-secondary, .btn-info {
|
||||
color: white;
|
||||
}
|
||||
.page-item.disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.bg-light {
|
||||
color: black;
|
||||
background-color: $gray-200 !important;
|
||||
border-radius: 0.2em;
|
||||
}
|
||||
.fc-day-today {
|
||||
background-color: transparent !important;
|
||||
border: 0.2em solid $info !important;
|
||||
}
|
||||
.fc-daygrid-dot-event {
|
||||
color: white !important;
|
||||
}
|
||||
.table {
|
||||
border-collapse: separate !important;
|
||||
border-spacing: 0;
|
||||
}
|
||||
.table tr th {
|
||||
border-right: 0 !important;
|
||||
}
|
||||
.table tr td {
|
||||
border-left: 0 !important;
|
||||
}
|
||||
.table tr td:not(:last-child) {
|
||||
border-right: 0 !important;
|
||||
}
|
||||
@each $color, $value in $theme-colors {
|
||||
.table-#{$color} {
|
||||
> td,th {
|
||||
border: 0.3em solid theme-color-level($color, -6) !important;
|
||||
}
|
||||
> * {
|
||||
color: white !important;
|
||||
background-color: #222 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
del {
|
||||
color: black;
|
||||
background-color: $danger;
|
||||
border-radius: 3px;
|
||||
}
|
||||
ins {
|
||||
color: black;
|
||||
background-color: $success;
|
||||
border-radius: 3px;
|
||||
}
|
||||
pre {
|
||||
background: $gray-600;
|
||||
color: white;
|
||||
}
|
||||
.custom-control-input:focus ~ .custom-control-label::before {
|
||||
box-shadow: 0 0 0 $input-focus-width rgba($primary, 0.7) !important;
|
||||
}
|
||||
.source {
|
||||
color: white !important;
|
||||
}
|
||||
.embed_container {
|
||||
border-color: #3853a4 !important;
|
||||
background: #222;
|
||||
color: $gray-100;
|
||||
}
|
||||
input:-webkit-autofill,
|
||||
input:-webkit-autofill:hover,
|
||||
input:-webkit-autofill:focus,
|
||||
textarea:-webkit-autofill,
|
||||
textarea:-webkit-autofill:hover,
|
||||
textarea:-webkit-autofill:focus,
|
||||
select:-webkit-autofill,
|
||||
select:-webkit-autofill:hover,
|
||||
select:-webkit-autofill:focus {
|
||||
border: 1px solid $info;
|
||||
-webkit-text-fill-color: white;
|
||||
-webkit-box-shadow: 0 0 0px 1000px rgba($info, .3) inset;
|
||||
transition: background-color 5000s ease-in-out 0s;
|
||||
}
|
||||
}
|
||||
63
pipeline/source_assets/scss/email.scss
Normal file
63
pipeline/source_assets/scss/email.scss
Normal file
@@ -0,0 +1,63 @@
|
||||
$button_color: #357ebf;
|
||||
|
||||
body{
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.main-table{
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
|
||||
}
|
||||
|
||||
.client-header {
|
||||
background-image: url("https://www.nottinghamtec.co.uk/imgs/wof2014-1.jpg");
|
||||
background-color: #222;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
|
||||
width: 100%;
|
||||
|
||||
margin-bottom: 28px;
|
||||
|
||||
.logos{
|
||||
width: 100%;
|
||||
max-width: 640px;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 110px;
|
||||
}
|
||||
}
|
||||
|
||||
.content-container{
|
||||
width: 100%;
|
||||
|
||||
.content {
|
||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
padding: 10px;
|
||||
text-align: left;
|
||||
|
||||
.button-container{
|
||||
width: 100%;
|
||||
|
||||
.button {
|
||||
padding: 6px 12px;
|
||||
background-color: $button_color;
|
||||
border-radius: 4px;
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
228
pipeline/source_assets/scss/screen.scss
Normal file
228
pipeline/source_assets/scss/screen.scss
Normal file
@@ -0,0 +1,228 @@
|
||||
@import "custom-variables";
|
||||
//Required
|
||||
@import "node_modules/bootstrap/scss/bootstrap-reboot";
|
||||
@import "node_modules/bootstrap/scss/bootstrap-grid";
|
||||
//Optional
|
||||
@import "node_modules/bootstrap/scss/root";
|
||||
@import "node_modules/bootstrap/scss/type";
|
||||
@import "node_modules/bootstrap/scss/images";
|
||||
@import "node_modules/bootstrap/scss/tables";
|
||||
@import "node_modules/bootstrap/scss/forms";
|
||||
@import "node_modules/bootstrap/scss/buttons";
|
||||
@import "node_modules/bootstrap/scss/transitions";
|
||||
@import "node_modules/bootstrap/scss/dropdown";
|
||||
@import "node_modules/bootstrap/scss/button-group";
|
||||
@import "node_modules/bootstrap/scss/input-group";
|
||||
@import "node_modules/bootstrap/scss/custom-forms";
|
||||
@import "node_modules/bootstrap/scss/nav";
|
||||
@import "node_modules/bootstrap/scss/navbar";
|
||||
@import "node_modules/bootstrap/scss/card";
|
||||
@import "node_modules/bootstrap/scss/pagination";
|
||||
@import "node_modules/bootstrap/scss/badge";
|
||||
@import "node_modules/bootstrap/scss/alert";
|
||||
@import "node_modules/bootstrap/scss/media";
|
||||
@import "node_modules/bootstrap/scss/list-group";
|
||||
@import "node_modules/bootstrap/scss/close";
|
||||
@import "node_modules/bootstrap/scss/modal";
|
||||
@import "node_modules/bootstrap/scss/tooltip";
|
||||
@import "node_modules/bootstrap/scss/popover";
|
||||
@import "node_modules/bootstrap/scss/spinners";
|
||||
@import "node_modules/bootstrap/scss/utilities";
|
||||
//FontAwesome
|
||||
$fa-font-path: '/static/fonts';
|
||||
@import "node_modules/@fortawesome/fontawesome-free/scss/fontawesome";
|
||||
@import "node_modules/@fortawesome/fontawesome-free/scss/solid";
|
||||
|
||||
@media screen and
|
||||
(prefers-reduced-motion: reduce),
|
||||
(update: slow) {
|
||||
* {
|
||||
animation-duration: 0.001ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.001ms !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-event-main {
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
.fc-daygrid-dot-event {
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
.fc-timeGridDay-view {
|
||||
.fc-event-main {
|
||||
font-size: large !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-timeGridWeek-view {
|
||||
.fc-event-main {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
#content {
|
||||
padding: 40px 15px;
|
||||
}
|
||||
|
||||
#userdropdown > li {
|
||||
padding: 0 0.3em;
|
||||
}
|
||||
|
||||
#userdropdown > li, #activity {
|
||||
.media-object {
|
||||
max-width: 3em;
|
||||
}
|
||||
}
|
||||
|
||||
.table tbody > tr > td.vert-align {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.custom-combobox {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.event-mic-photo {
|
||||
max-width: 2em;
|
||||
border-radius: 0.25em;
|
||||
}
|
||||
|
||||
.item-description {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.overflow-ellipsis {
|
||||
text-overflow: ellipsis;
|
||||
display: inline-block;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.dont-break-out {
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
z-index: inherit; // bug fix introduced in 52682ce
|
||||
}
|
||||
|
||||
del {
|
||||
background-color: #f2dede;
|
||||
border-radius: 3px;
|
||||
padding: 0.1em;
|
||||
}
|
||||
|
||||
ins {
|
||||
background-color: #dff0d8;
|
||||
border-radius: 3px;
|
||||
padding: 0.1em;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: $gray-400 !important;
|
||||
}
|
||||
|
||||
.btn-light {
|
||||
background-color: $gray-200 !important;
|
||||
}
|
||||
|
||||
.skip-link {
|
||||
background: $dark;
|
||||
outline: unset;
|
||||
height: 30px;
|
||||
left: 50%;
|
||||
padding: 8px;
|
||||
position: absolute;
|
||||
transform: translateY(-100%);
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
.skip-link:focus {
|
||||
transform: translateY(45px); /* TODO Remove absolute positioning */
|
||||
}
|
||||
|
||||
.errorlist > li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
pre {
|
||||
page-break-inside: avoid;
|
||||
font-family: monospace;
|
||||
font-size: 15px;
|
||||
line-height: 1.6;
|
||||
margin-bottom: 1.6em;
|
||||
max-width: 100%;
|
||||
overflow: auto;
|
||||
padding: 1em 1.5em;
|
||||
display: block;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
svg {
|
||||
display: inline;
|
||||
white-space: no-wrap;
|
||||
}
|
||||
|
||||
span.fas {
|
||||
padding-left: 0.1em !important;
|
||||
padding-right: 0.1em !important;
|
||||
}
|
||||
|
||||
html.embedded {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
max-height: 100%;
|
||||
overflow: hidden;
|
||||
justify-content: center;
|
||||
|
||||
body{
|
||||
padding:0;
|
||||
width:100%;
|
||||
background:none;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.embed_container{
|
||||
border:5px solid #e9e9e9;
|
||||
padding:12px 0px;
|
||||
min-height:100%;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.source{
|
||||
background: url('/static/imgs/pyrigs-avatar.png') no-repeat;
|
||||
background-size: 16px 16px;
|
||||
padding-left: 20px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
h3{
|
||||
margin-top:10px;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
|
||||
p{
|
||||
margin-bottom:2px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.event-mic-photo{
|
||||
max-width: 3em;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user