diff --git a/_build/templates/default/sass/_forms.scss b/_build/templates/default/sass/_forms.scss
index 5216afed1ab..695f2d10b82 100644
--- a/_build/templates/default/sass/_forms.scss
+++ b/_build/templates/default/sass/_forms.scss
@@ -35,7 +35,7 @@ textarea.x-form-field,
border-radius: $borderRadius;
border: 1px solid $borderColor;
position: relative;
- transition: border-color .25s;
+ transition: border-color 0.25s;
}
.x-viewport .x-trigger-wrap-focus,
@@ -101,7 +101,7 @@ input::-moz-focus-inner {
padding: 0 0 0 3px;
top: 0;
right: 0;
- transition: all .25s;
+ transition: all 0.25s;
width: 16px;
height: 16px;
@@ -109,7 +109,9 @@ input::-moz-focus-inner {
@extend %pseudo-font;
box-sizing: border-box;
color: scale-color($coreFieldLabelColor, $lightness: 50%);
- content: fa-content($fa-var-undo-alt); /* better match IMO for the action being taken */
+ content: fa-content(
+ $fa-var-undo-alt
+ ); /* better match IMO for the action being taken */
font-size: 14px;
position: relative;
bottom: 2px;
@@ -120,12 +122,12 @@ input::-moz-focus-inner {
height: 16px;
}
&.modx-field-reset {
- &::before {
- content: fa-content($fa-var-undo-alt);
- }
- &:hover::before {
- color: $green;
- }
+ &::before {
+ content: fa-content($fa-var-undo-alt);
+ }
+ &:hover::before {
+ color: $green;
+ }
}
&.modx-field-clear {
&::before {
@@ -199,19 +201,21 @@ input::-moz-focus-inner {
border-style: solid;
border-width: 10px 10px 10px 0;
border-color: transparent $lightGray transparent transparent;
- content: '';
+ content: "";
position: absolute;
top: 0;
left: -10px;
- transform: rotate(360deg); /* for better anti-aliasing in webkit browsers */
+ transform: rotate(
+ 360deg
+ ); /* for better anti-aliasing in webkit browsers */
width: 0;
height: 0;
}
&:after {
background-color: $white;
- border-radius: 50%; /* make a circle */
- content: '';
+ border-radius: 50%; /* make a circle */
+ content: "";
position: absolute;
top: 8px;
left: -4px;
@@ -233,7 +237,8 @@ input::-moz-focus-inner {
background-color: darken($colorSplash, 6%);
&:before {
- border-color: transparent darken($colorSplash, 6%) transparent transparent;
+ border-color: transparent darken($colorSplash, 6%) transparent
+ transparent;
}
}
}
@@ -245,7 +250,7 @@ input::-moz-focus-inner {
border: 1px solid $borderColor;
border-radius: $borderRadius;
padding: 5px;
- transition: all .25s;
+ transition: all 0.25s;
&:focus {
border: 1px solid $borderColorFocus;
@@ -289,7 +294,6 @@ input::-moz-focus-inner {
}
.x-window & {
-
.x-form-item-label {
padding: 10px 0 4px 0; /* move the form fields a bit tighter together inside windows */
}
@@ -309,7 +313,7 @@ input::-moz-focus-inner {
&.disabled {
label {
- color: scale-color($coreFieldLabelColor, $lightness: 50%);
+ color: scale-color($coreFieldLabelColor, $lightness: 50%);
}
}
@@ -322,8 +326,7 @@ input::-moz-focus-inner {
/* prevent columns used inside form elements to have too much spacing, some custom TV types need this */
.x-column-inner > .x-column {
-
- ~.x-column {
+ ~ .x-column {
margin-left: 5px;
}
@@ -349,10 +352,10 @@ input::-moz-focus-inner {
display: block;
font-size: 12px;
font-style: italic;
- margin: .4em 0 0 0;
+ margin: 0.4em 0 0 0;
&.toggle-slider-above {
- margin: .3em 0;
+ margin: 0.3em 0;
padding-left: 3.9em;
}
@@ -364,15 +367,15 @@ input::-moz-focus-inner {
.example-list {
ul {
- margin: .4em 0;
+ margin: 0.4em 0;
li {
position: relative;
- margin-bottom: .25em;
+ margin-bottom: 0.25em;
padding-left: 1.25em;
&::before {
@extend %pseudo-font;
position: absolute;
- left: .2em;
+ left: 0.2em;
top: 0;
content: fa-content($fa-var-angle-double-right);
color: scale-color($mediumGray, $lightness: 20%);
@@ -382,7 +385,7 @@ input::-moz-focus-inner {
}
.example-input,
.copy-this {
- padding: 0 .3em;
+ padding: 0 0.3em;
border-radius: 2px;
transition: width 1s;
}
@@ -398,35 +401,35 @@ input::-moz-focus-inner {
}
.copy-this {
- color: scale-color($blue, $lightness: -5%, $saturation: -40%);
- background-color: scale-color($blue, $lightness: 92%, $saturation: -15%);
- &:hover {
- background-color: scale-color($blue, $lightness: 87%, $saturation: 5%);
- color: scale-color($blue, $lightness: -35%);
- cursor: pointer;
- &::after {
- @extend %pseudo-font;
- content: fa-content($fa-var-copy);
- color: scale-color($blue, $saturation: -40%);
- display: inherit;
- margin-left: .5em;
- }
- &:active {
- color: $darkGray;
- &::after {
- color: $darkGray;
- }
- }
+ color: scale-color($blue, $lightness: -5%, $saturation: -40%);
+ background-color: scale-color($blue, $lightness: 92%, $saturation: -15%);
+ &:hover {
+ background-color: scale-color($blue, $lightness: 87%, $saturation: 5%);
+ color: scale-color($blue, $lightness: -35%);
+ cursor: pointer;
+ &::after {
+ @extend %pseudo-font;
+ content: fa-content($fa-var-copy);
+ color: scale-color($blue, $saturation: -40%);
+ display: inherit;
+ margin-left: 0.5em;
+ }
+ &:active {
+ color: $darkGray;
+ &::after {
+ color: $darkGray;
+ }
}
+ }
}
.feedback {
- margin-left: .75em;
- color: scale-color($blue, $lightness: -35%);
- font-style: normal;
- &.item-copied {
- opacity: 1;
- transition: opacity 1.5s;
- }
+ margin-left: 0.75em;
+ color: scale-color($blue, $lightness: -35%);
+ font-style: normal;
+ &.item-copied {
+ opacity: 1;
+ transition: opacity 1.5s;
+ }
}
a {
@@ -441,13 +444,12 @@ input::-moz-focus-inner {
.deemphasize {
font-style: normal;
}
-
}
.fs-toggle {
padding-top: 1em;
margin-top: 2em;
- margin-bottom: .5em;
+ margin-bottom: 0.5em;
border-top: 1px dashed $borderColor;
}
@@ -506,7 +508,6 @@ input::-moz-focus-inner {
}
}
}
-
}
.x-form-field {
@@ -569,14 +570,14 @@ input::-moz-focus-inner {
content: fa-content($fa-var-chevron-down);
font-size: 14px;
margin-top: -7px; /* half of the height to center vertically with top 50% */
- opacity: .8;
+ opacity: 0.8;
filter: alpha(opacity=60); /* for IE <= 8 */
position: absolute;
top: 50%;
right: 0;
text-align: center;
width: 30px;
- transition: opacity .25s;
+ transition: opacity 0.25s;
}
&.x-form-trigger-over,
@@ -626,7 +627,6 @@ input::-moz-focus-inner {
content: fa-content($fa-var-file-code);
font-weight: 400;
}
-
}
&.x-datetime-wrap {
@@ -635,7 +635,6 @@ input::-moz-focus-inner {
.ux-datetime-date {
.x-form-trigger {
-
&:before {
content: fa-content($fa-var-calendar);
}
@@ -644,7 +643,6 @@ input::-moz-focus-inner {
.ux-datetime-time {
.x-form-trigger {
-
&:before {
content: fa-content($fa-var-clock);
}
@@ -726,7 +724,7 @@ input::-moz-focus-inner {
padding-left: 3px;
&:before {
- content: '';
+ content: "";
}
}
@@ -734,7 +732,7 @@ input::-moz-focus-inner {
@extend %pseudo-font;
box-sizing: border-box;
- content: '';
+ content: "";
font-size: 18px;
padding-right: 3px;
position: absolute;
@@ -819,12 +817,10 @@ input::-moz-focus-inner {
/* Special checboxes for resources and tv configs */
#modx-resource-tabs,
#modx-tv-tabs {
-
.x-form-check-wrap,
.x-fieldset-checkbox-toggle legend,
.x-fieldset legend {
- [type="checkbox"]{
-
+ [type="checkbox"] {
position: absolute;
left: -9999px;
html[dir="rtl"] & {
@@ -832,11 +828,11 @@ input::-moz-focus-inner {
left: unset;
}
- &+.x-form-cb-label,
- &+.x-fieldset-header-text {
+ & + .x-form-cb-label,
+ & + .x-fieldset-header-text {
position: relative;
padding-left: 3.6em;
- padding-top: .2em;
+ padding-top: 0.2em;
margin-left: 0;
cursor: pointer;
box-sizing: border-box;
@@ -844,9 +840,9 @@ input::-moz-focus-inner {
&:before,
&:after {
- content: '';
+ content: "";
position: absolute;
- transition: all .2s ease;
+ transition: all 0.2s ease;
font-size: inherit;
}
@@ -863,7 +859,7 @@ input::-moz-focus-inner {
&:after {
left: 0.1em;
top: 0.8em;
- margin-top: -.65em;
+ margin-top: -0.65em;
height: 1.3em;
width: 1.3em;
border-radius: 50%;
@@ -873,9 +869,8 @@ input::-moz-focus-inner {
}
&:checked {
-
- &+.x-form-cb-label,
- &+.x-fieldset-header-text {
+ & + .x-form-cb-label,
+ & + .x-fieldset-header-text {
&:after {
left: 1.6em;
top: 0.8em;
@@ -889,9 +884,8 @@ input::-moz-focus-inner {
}
&.danger:checked {
-
- &+.x-form-cb-label,
- &+.x-fieldset-header-text {
+ & + .x-form-cb-label,
+ & + .x-fieldset-header-text {
&:before {
background-color: $red;
border-color: $red;
@@ -900,9 +894,8 @@ input::-moz-focus-inner {
}
&.warning:checked {
-
- &+.x-form-cb-label,
- &+.x-fieldset-header-text {
+ & + .x-form-cb-label,
+ & + .x-fieldset-header-text {
&:before {
background-color: $orange;
border-color: $orange;
@@ -930,12 +923,11 @@ input::-moz-focus-inner {
}
/* applies to new xcheckboxgroup custom checkbox group */
&.aggregated-group {
- padding-left: 1em;
- padding-right: 1em;
+ padding-left: 1em;
+ padding-right: 1em;
}
}
-
/* superboxselect / multi-select field */
.x-superboxselect {
height: auto !important; /* override the extjs default theme style of 18px */
@@ -985,13 +977,13 @@ input::-moz-focus-inner {
cursor: pointer;
display: inline-block; /*font-size: 1px;*/
outline: 0; /* fix firefox dotted outlines */
- opacity: .6;
+ opacity: 0.6;
filter: alpha(opacity=60); /* for IE <= 8 */
padding: 0;
position: absolute;
top: 0;
right: 0;
- transition: opacity .25s;
+ transition: opacity 0.25s;
width: 16px;
height: 100%;
@@ -1084,7 +1076,7 @@ input::-moz-focus-inner {
margin-bottom: 2px;
}
- input[type=text],
+ input[type="text"],
textarea {
background-color: $coreFieldBg;
background-image: none;
@@ -1094,7 +1086,7 @@ input::-moz-focus-inner {
width: 97%;
}
- input[type=text] {
+ input[type="text"] {
font-size: 13px;
height: 20px !important;
padding: 5px;
@@ -1132,21 +1124,22 @@ input::-moz-focus-inner {
}
.x-editor .x-form-check-wrap {
- background-color: $white
-}
-
-/* fix combo on grid editor bug */
-.x-grid-editor .x-form-field-wrap {
- background: #f6f2f7 url($imgPath + 'modx-theme/form/combo-bck.png') repeat-x scroll 0 100%;
-}
-
-.x-grid-editor .x-form-field-wrap input {
- background-color: transparent !important;
+ background-color: $white;
}
-.x-grid-editor .x-form-field-wrap img {
- background-color: $white;
- background-image: url($imgPath + 'modx-theme/form/trigger.png');
+.x-grid-editor {
+ z-index: 9002 !important;
+ .x-form-field-wrap {
+ background: #f6f2f7 url($imgPath+"modx-theme/form/combo-bck.png") repeat-x
+ scroll 0 100%;
+ input {
+ background-color: transparent !important;
+ }
+ img {
+ background-color: $white;
+ background-image: url($imgPath+"modx-theme/form/trigger.png");
+ }
+ }
}
.x-form-grow-sizer {
@@ -1176,7 +1169,6 @@ input::-moz-focus-inner {
.x-grid3 {
.x-small-editor {
-
.x-form-text,
.x-form-field-wrap {
font: $fontSmall;
@@ -1279,7 +1271,7 @@ input::-moz-focus-inner {
.x-btn {
padding: 1px;
- transition: color .25s;
+ transition: color 0.25s;
&.x-btn-over,
&:hover,
@@ -1294,7 +1286,7 @@ input::-moz-focus-inner {
&.x-item-disabled {
color: $buttonColor;
- opacity: .4;
+ opacity: 0.4;
}
button:before {
@@ -1338,7 +1330,11 @@ input::-moz-focus-inner {
}
/* the second text cell, "of X" */
- .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell {
+ .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell {
.xtb-text {
display: inline-block;
position: absolute;
@@ -1350,7 +1346,15 @@ input::-moz-focus-inner {
}
/* the last regular button >>, yes, I know it's ugly but tell that Microsoft and say thanks for IE8 =) */
- .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell {
+ .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell
+ + .x-toolbar-cell {
.x-btn {
margin-right: 0;
}
@@ -1359,13 +1363,13 @@ input::-moz-focus-inner {
/* the refresh button */
.x-toolbar-cell:last-child {
opacity: 0;
- transition: opacity .25s;
+ transition: opacity 0.25s;
.x-btn {
font-size: 12px;
line-height: 1;
margin: 0;
- opacity: .4;
+ opacity: 0.4;
padding: 0;
position: absolute;
bottom: 2px;
@@ -1401,7 +1405,7 @@ input::-moz-focus-inner {
}
.x-combo-list-hd {
- background-image: url($imgPath + 'modx-theme/layout/panel-title-light-bg.gif');
+ background-image: url($imgPath+"modx-theme/layout/panel-title-light-bg.gif");
border-bottom-color: #bcbcbc;
color: #464646;
}
@@ -1448,18 +1452,18 @@ input::-moz-focus-inner {
.x-date-mp-ybtn a.x-date-mp-prev,
.x-date-mp-ybtn a.x-date-mp-next {
display: inline-block;
- opacity: .6;
+ opacity: 0.6;
filter: alpha(opacity=60); /* for IE <= 8 */
margin: 0 auto;
position: relative;
- transition: opacity .25s;
+ transition: opacity 0.25s;
&:before {
@extend %pseudo-font;
box-sizing: border-box;
color: $colorSplash;
- content: '';
+ content: "";
font-size: 18px;
position: absolute;
top: 0;
@@ -1688,7 +1692,7 @@ td.x-date-mp-sep {
border-radius: $borderRadius;
background-color: $coreFieldBg;
border: 1px solid $borderColor;
- background: url('../images/tp-no-preview.png') no-repeat center center;
+ background: url("../images/tp-no-preview.png") no-repeat center center;
overflow: hidden;
.x-panel-bwrap,
@@ -1709,6 +1713,6 @@ td.x-date-mp-sep {
bottom: 0;
padding: 10px 20px;
color: #fff;
- background-color: rgba(0, 0, 0, .8);
+ background-color: rgba(0, 0, 0, 0.8);
}
}
diff --git a/_build/templates/default/sass/_utility.scss b/_build/templates/default/sass/_utility.scss
index 27c6b20ed18..305ba847788 100644
--- a/_build/templates/default/sass/_utility.scss
+++ b/_build/templates/default/sass/_utility.scss
@@ -212,3 +212,13 @@
}
}
}
+
+@mixin textLink {
+ color: $colorSplash;
+ text-decoration: none;
+ border-bottom: 1px dotted scale-color($colorSplash, $lightness: 50%);
+ &:hover {
+ color: $black;
+ border-bottom-color: scale-color($black, $lightness: 40%);
+ }
+}
diff --git a/_build/templates/default/sass/index.scss b/_build/templates/default/sass/index.scss
index 32f2b3ae016..4448fa28be5 100644
--- a/_build/templates/default/sass/index.scss
+++ b/_build/templates/default/sass/index.scss
@@ -159,8 +159,8 @@ hr {
}
.wait {
- background: transparent url($imgPath + "style/wait.gif") no-repeat scroll
- center 55px;
+ background: transparent url($imgPath+"style/wait.gif") no-repeat scroll center
+ 55px;
color: $darkestGray;
font-size: 15px;
font-weight: bold;
@@ -441,7 +441,7 @@ textarea.x-form-field {
bottom: 0;
display: block;
content: " ";
- background: transparent url($imgPath + "restyle/dragndrop.svg") no-repeat
+ background: transparent url($imgPath+"restyle/dragndrop.svg") no-repeat
center;
background-size: 50% 50%;
opacity: 0.1;
@@ -474,7 +474,7 @@ textarea.x-form-field {
}
#modx-panel-packages.drag-n-drop:before {
- background: transparent url($imgPath + "restyle/dragndrop.svg") no-repeat top;
+ background: transparent url($imgPath+"restyle/dragndrop.svg") no-repeat top;
background-size: 50% 30%;
z-index: 0;
}
@@ -539,6 +539,14 @@ textarea.x-form-field {
}
/* grids */
+
+.modx-protected-row {
+ .x-grid3-cell-inner {
+ font-style: italic;
+ color: $colorSplash;
+ }
+}
+
.x-small-editor .x-form-field {
font-size: 12px !important;
}
@@ -551,26 +559,28 @@ textarea.x-form-field {
color: #999 !important;
}
-a.x-grid-link {
- color: $colorSplash;
- text-decoration: underline;
-}
-
-a.x-grid-link:hover,
-a.x-grid-link:focus {
- text-decoration: none;
+.x-grid-link {
+ @include textLink;
+ &.simulated-link {
+ cursor: pointer;
+ }
}
.x-editable-column {
- cursor: pointer;
- &:hover,
- &:focus {
- color: $colorSplash;
- > div::after {
- @include awesome-font;
- content: fa-content($fa-var-pen);
- margin: 0 0.5em;
+ cursor: default;
+ &:not(.editor-disabled) {
+ cursor: pointer;
+ &:hover,
+ &:focus {
color: $colorSplash;
+ > div {
+ &::after {
+ @include awesome-font;
+ content: fa-content($fa-var-pen);
+ margin: 0 0.5em;
+ color: $colorSplash;
+ }
+ }
}
}
}
@@ -823,6 +833,37 @@ a.x-grid-link:focus {
}
/* rowactions */
+.x-grid3-row {
+ &.disable-selection,
+ &.disable-selection.x-grid3-row-selected {
+ .x-grid3-row-checker {
+ position: relative;
+ &::before,
+ &::after {
+ color: $disabledTextColor;
+ }
+ &::before {
+ content: '\f0c8';
+ }
+ &::after {
+ content: '\f715';
+ font-size: 6px;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ margin-left: 2px;
+ margin-top: 1px;
+ transform: translate(-50%, -50%) rotate(98deg);
+ font-weight: 600;
+ font-family: 'Font Awesome 5 Free';
+ }
+ &:hover {
+ cursor: default;
+ }
+ }
+ }
+}
+
.ux-row-action-cell .x-grid3-cell-inner {
padding: 1px 0 0 0;
}
@@ -836,8 +877,8 @@ a.x-grid-link:focus {
}
.ux-row-action-item span {
- background: transparent url($imgPath + "style/go-next.png") no-repeat scroll
- 1px 4px;
+ background: transparent url($imgPath+"style/go-next.png") no-repeat scroll 1px
+ 4px;
display: inline !important;
line-height: 24px;
margin: 0 5px;
@@ -846,22 +887,22 @@ a.x-grid-link:focus {
}
.icon-uninstall span {
- background: url($imgPath + "style/delete.png") no-repeat scroll 1px 4px
+ background: url($imgPath+"style/delete.png") no-repeat scroll 1px 4px
transparent;
}
.package-details span {
- background: url($imgPath + "style/info.png") no-repeat scroll 1px 4px
+ background: url($imgPath+"style/info.png") no-repeat scroll 1px 4px
transparent;
}
.package-download span {
- background: url($imgPath + "style/download.png") no-repeat scroll 1px 4px
+ background: url($imgPath+"style/download.png") no-repeat scroll 1px 4px
transparent;
}
.package-installed span {
- background: url($imgPath + "style/accept.png") no-repeat scroll 1px 4px
+ background: url($imgPath+"style/accept.png") no-repeat scroll 1px 4px
transparent;
}
@@ -1095,7 +1136,7 @@ a.x-grid-link:focus {
}
.x-rbtn td {
- background-image: url($imgPath + "restyle/icons/rbtn.gif");
+ background-image: url($imgPath+"restyle/icons/rbtn.gif");
background-repeat: no-repeat;
border: 0 none;
height: 21px;
@@ -1331,38 +1372,36 @@ iframe[classname="x-hidden"] {
/* file upload, is this the old legacy (single file) uploader? */
.ext-ux-uploaddialog-addbtn {
- background: url($imgPath + "restyle/fileup/file-add.gif") no-repeat left
- center !important;
+ background: url($imgPath+"restyle/fileup/file-add.gif") no-repeat left center !important;
}
.ext-ux-uploaddialog-removebtn {
- background: url($imgPath + "restyle/fileup/file-remove.gif") no-repeat left
+ background: url($imgPath+"restyle/fileup/file-remove.gif") no-repeat left
center !important;
}
.ext-ux-uploaddialog-resetbtn {
- background: url($imgPath + "restyle/fileup/reset.gif") no-repeat left center !important;
+ background: url($imgPath+"restyle/fileup/reset.gif") no-repeat left center !important;
}
.ext-ux-uploaddialog-uploadstartbtn {
- background: url($imgPath + "restyle/fileup/upload-start.gif") no-repeat left
+ background: url($imgPath+"restyle/fileup/upload-start.gif") no-repeat left
center !important;
}
.ext-ux-uploaddialog-uploadstopbtn {
- background: url($imgPath + "restyle/fileup/upload-stop.gif") no-repeat left
+ background: url($imgPath+"restyle/fileup/upload-stop.gif") no-repeat left
center !important;
}
.ext-ux-uploaddialog-indicator-stoped {
- background: url($imgPath + "restyle/fileup/done.gif") no-repeat center center;
+ background: url($imgPath+"restyle/fileup/done.gif") no-repeat center center;
height: 16px;
width: 16px;
}
.ext-ux-uploaddialog-indicator-processing {
- background: url($imgPath + "restyle/fileup/loading.gif") no-repeat center
- center;
+ background: url($imgPath+"restyle/fileup/loading.gif") no-repeat center center;
height: 16px;
width: 16px;
}
@@ -1374,19 +1413,19 @@ iframe[classname="x-hidden"] {
}
.ext-ux-uploaddialog-state-0 {
- background-image: url($imgPath + "restyle/fileup/uncheck.gif");
+ background-image: url($imgPath+"restyle/fileup/uncheck.gif");
}
.ext-ux-uploaddialog-state-1 {
- background-image: url($imgPath + "restyle/fileup/check.gif");
+ background-image: url($imgPath+"restyle/fileup/check.gif");
}
.ext-ux-uploaddialog-state-2 {
- background-image: url($imgPath + "restyle/fileup/failed.gif");
+ background-image: url($imgPath+"restyle/fileup/failed.gif");
}
.ext-ux-uploaddialog-state-3 {
- background-image: url($imgPath + "restyle/fileup/file-uploading.gif");
+ background-image: url($imgPath+"restyle/fileup/file-uploading.gif");
}
/* tree grid */
@@ -1699,6 +1738,12 @@ iframe[classname="x-hidden"] {
user-select: text !important;
}
+.x-selectable {
+ &.simulated-link * {
+ @include textLink;
+ }
+}
+
/* Lightbox */
#ux-lightbox {
left: 0;
@@ -1731,7 +1776,7 @@ iframe[classname="x-hidden"] {
}
#ux-lightbox-loading {
- background: url($imgPath + "style/loading.gif") no-repeat scroll center 15%
+ background: url($imgPath+"style/loading.gif") no-repeat scroll center 15%
transparent;
height: 25%;
left: 0;
@@ -1820,7 +1865,7 @@ iframe[classname="x-hidden"] {
}
#ux-lightbox-data #ux-lightbox-navClose {
- background: transparent url($imgPath + "style/close.png") no-repeat scroll 0 0;
+ background: transparent url($imgPath+"style/close.png") no-repeat scroll 0 0;
float: right;
height: 16px;
outline: medium none;
diff --git a/core/lexicon/en/context.inc.php b/core/lexicon/en/context.inc.php
index 405adb938f3..edc8d78d3b3 100644
--- a/core/lexicon/en/context.inc.php
+++ b/core/lexicon/en/context.inc.php
@@ -6,17 +6,24 @@
* @package modx
* @subpackage lexicon
*/
+$_lang['_context_mgr_description'] = 'The default manager or administration context for content management activity.';
+$_lang['_context_mgr_name'] = 'Manager';
+$_lang['_context_web_description'] = 'The default front-end context for your website.';
+$_lang['_context_web_name'] = 'Website';
$_lang['context'] = 'Context';
$_lang['context_add'] = 'Add Context';
$_lang['context_data'] = 'Context Data';
+$_lang['context_edit'] = 'Edit this context';
$_lang['context_err_ae'] = 'A Context with that name already exists.';
$_lang['context_err_create'] = 'An error occurred while creating the Context.';
$_lang['context_err_duplicate'] = 'An error occurred while trying to duplicate the Context.';
$_lang['context_err_load_data'] = 'Error loading context data.';
+$_lang['context_err_name_reserved'] = 'The context name “[[+reservedName]]” is reserved. Please choose another name.';
$_lang['context_err_nf'] = 'Context not found!';
$_lang['context_err_nfs'] = 'Context not found with key: [[+key]]';
$_lang['context_err_ns'] = 'Context not specified.';
$_lang['context_err_ns_key'] = 'Please specify a valid key for the Context.';
+$_lang['context_err_ns_name'] = 'Please specify a valid name for the Context.';
$_lang['context_err_remove'] = 'An error occurred while trying to delete the Context.';
$_lang['context_err_save'] = 'An error occurred while saving the Context.';
$_lang['context_id'] = 'Ctx ID';
diff --git a/core/lexicon/en/default.inc.php b/core/lexicon/en/default.inc.php
index 3be6fff7f24..0eff8154d00 100644
--- a/core/lexicon/en/default.inc.php
+++ b/core/lexicon/en/default.inc.php
@@ -92,6 +92,7 @@
$_lang['create_user_group'] = 'Create User Group';
$_lang['created'] = 'Created';
$_lang['createdon'] = 'Creation date';
+$_lang['creator'] = 'Creator';
$_lang['current'] = 'Current';
$_lang['dashboard'] = 'Dashboard';
$_lang['data_err_load'] = 'Error loading data.';
diff --git a/core/lexicon/en/policy.inc.php b/core/lexicon/en/policy.inc.php
index 7ebadfa9765..e580e39a0b4 100644
--- a/core/lexicon/en/policy.inc.php
+++ b/core/lexicon/en/policy.inc.php
@@ -28,6 +28,7 @@
$_lang['policy_desc_template'] = 'The Policy Template used for this Policy. Policies get their Permission lists from their Template.';
$_lang['policy_desc_lexicon'] = 'Optional. The Lexicon Topic that this Policy uses to translate the Permissions it owns.';
$_lang['policy_duplicate_confirm'] = 'Are you sure you want to duplicate this policy and all of its data?';
+$_lang['policy_edit'] = 'Edit this policy';
$_lang['policy_err_ae'] = 'A Policy already exists with the name `[[+name]]`. Please select another name.';
$_lang['policy_err_nf'] = 'Policy not found.';
$_lang['policy_err_ns'] = 'Policy not specified.';
@@ -44,17 +45,19 @@
$_lang['policy_property_remove'] = 'Delete Access Policy Property';
$_lang['policy_property_specify_name'] = 'Please specify a policy property name:';
$_lang['policy_remove_confirm'] = 'Are you sure you want to delete this Access Policy?';
-$_lang['policy_remove_multiple'] = 'Delete Policies';
+$_lang['policy_remove_multiple'] = 'Delete Selected Policies';
$_lang['policy_remove_multiple_confirm'] = 'Are you sure you want to delete these Access Policies? This is irreversible.';
$_lang['policy_template'] = 'Policy Template';
$_lang['policy_template_desc'] = 'A Policy Template defines which Permissions will show up in the Permissions grid when editing a specific Policy. You can add or remove specific Permissions from this template below. Note that removing a Permission from a Template will remove it from any Policies that use this Template.';
$_lang['policy_template_desc_name'] = 'The name of the Access Policy Template';
$_lang['policy_template_desc_description'] = 'Optional. A short description of the Access Policy Template. Also you might use lexicon keys here.';
+$_lang['policy_template_edit'] = 'Edit this policy template';
$_lang['policy_template_lexicon'] = 'Lexicon Topic';
$_lang['policy_template_desc_lexicon'] = 'Optional. The Lexicon Topic that this Policy Template uses to translate the Permissions it owns.';
$_lang['policy_template_desc_template_group'] = 'The Policy Template Group to use. This is used when selecting Policies from a dropdown menu; usually they are filtered by template group. Select an appropriate group for your Policy Template.';
$_lang['policy_template_duplicate_confirm'] = 'Are you sure you want to duplicate this Policy Template?';
$_lang['policy_template_err_ae'] = 'A Policy Template already exists with the name `[[+name]]`. Please select another name.';
+$_lang['policy_template_err_name_ns'] = 'A name is required for this Policy Template.';
$_lang['policy_template_err_nf'] = 'Policy Template not found.';
$_lang['policy_template_err_ns'] = 'Policy Template not specified.';
$_lang['policy_template_err_remove'] = 'An error occurred while trying to delete the Policy Template.';
@@ -77,6 +80,7 @@
$_lang['policy_template_context_desc'] = 'Context Policy Template with all attributes.';
$_lang['policy_template_namespace_desc'] = 'Namespace Policy Template with all attributes.';
$_lang['policy_template_group_administrator_desc'] = 'All admin policy templates.';
+$_lang['policy_template_group_err_ns'] = 'A group must be assigned for this Policy Template.';
$_lang['policy_template_group_object_desc'] = 'All Resource-based policy templates.';
$_lang['policy_template_group_resource_desc'] = 'All Object-based policy templates.';
$_lang['policy_template_group_element_desc'] = 'All Element-based policy templates.';
diff --git a/core/lexicon/en/source.inc.php b/core/lexicon/en/source.inc.php
index 8dcec92baff..662fd83b80e 100644
--- a/core/lexicon/en/source.inc.php
+++ b/core/lexicon/en/source.inc.php
@@ -6,6 +6,8 @@
* @package modx
* @subpackage lexicon
*/
+$_lang['_source_filesystem_description'] = 'The default manager source containing all files this installation of MODX has access to.';
+$_lang['_source_filesystem_name'] = 'Filesystem';
$_lang['access'] = 'Access Permissions';
$_lang['base_path'] = 'Base Path';
$_lang['base_path_relative'] = 'Base Path Relative?';
@@ -20,7 +22,9 @@
$_lang['source_access_remove_confirm'] = 'Are you sure you want to delete Access to this Source for this User Group?';
$_lang['source_access_update'] = 'Edit Access';
$_lang['source_description_desc'] = 'A short description of the Media Source.';
+$_lang['source_edit'] = 'Edit the settings for this source';
$_lang['source_err_ae_name'] = 'A Media Source with that name already exists! Please specify a new name.';
+$_lang['source_err_name_reserved'] = 'The source name “[[+reservedName]]” is reserved. Please choose another name.';
$_lang['source_err_nf'] = 'Media Source not found!';
$_lang['source_err_init'] = 'Could not initialize "[[+source]]" Media Source!';
$_lang['source_err_nfs'] = 'No Media Source can be found with the id: [[+id]].';
diff --git a/core/lexicon/en/user.inc.php b/core/lexicon/en/user.inc.php
index 10c32be059f..74d5140a4dd 100644
--- a/core/lexicon/en/user.inc.php
+++ b/core/lexicon/en/user.inc.php
@@ -6,6 +6,10 @@
* @package modx
* @subpackage lexicon
*/
+$_lang['_role_member_description'] = 'The lowest-authority role, usually a user of the site but not of the manager.';
+$_lang['_role_member_name'] = 'Member';
+$_lang['_role_superuser_description'] = 'The highest-authority role, for manager users with complete control over all aspects of the site.';
+$_lang['_role_superuser_name'] = 'Super User';
$_lang['active'] = 'Active';
$_lang['address'] = 'Address';
$_lang['administrator'] = 'Administrator';
@@ -40,10 +44,12 @@
$_lang['role_err_ae'] = 'A role already exists with that name.';
$_lang['role_err_duplicate'] = 'An error occurred while duplicating the role.';
$_lang['role_err_has_users'] = 'There are users with this role. It cannot be deleted.';
+$_lang['role_err_name_reserved'] = 'The role name “[[+reservedName]]” is reserved. Please choose another name.';
$_lang['role_err_nf'] = 'Role not found.';
$_lang['role_err_nfs'] = 'Role not found with id: [[+role]]';
$_lang['role_err_ns'] = 'Role not specified!';
-$_lang['role_err_ns_name'] = 'Please specify a name for the role.';
+$_lang['role_err_ns_authority'] = 'Please specify an authority level for this role.';
+$_lang['role_err_ns_name'] = 'Please specify a name for this role.';
$_lang['role_err_remove'] = 'An error occurred while trying to delete the role.';
$_lang['role_err_remove_admin'] = 'The role you are trying to delete is the admin role. This role cannot be deleted!';
$_lang['role_remove'] = 'Delete Role';
@@ -73,6 +79,7 @@
$_lang['user_country'] = 'Country';
$_lang['user_dob'] = 'Date of birth';
$_lang['user_doesnt_exist'] = 'User does not exist';
+$_lang['user_edit_account'] = 'Edit User’s Account';
$_lang['user_edit_self_msg'] = 'You may need to log out and log in again after saving to fully update your information.
Also, should you choose to generate a new password for yourself, it will be sent to you through email.';
$_lang['user_email'] = 'Email address';
$_lang['user_err_access_permissions_save'] = 'An error occurred while saving user access permissions.';
@@ -177,7 +184,7 @@
$_lang['user_remove_multiple'] = 'Delete Multiple Users';
$_lang['user_remove_multiple_confirm'] = 'Are you sure you want to delete these users? This is irreversible!';
$_lang['user_remote_data_msg'] = 'Edit remote user data here.';
-$_lang['user_role_update'] = 'Edit User Role';
+$_lang['user_role_update'] = 'Change User’s Role';
$_lang['user_setting_err_remove'] = 'An error occurred while trying to delete user settings.';
$_lang['user_setting_err_save'] = 'An error occurred while saving user settings.';
$_lang['user_settings'] = 'User Settings';
diff --git a/core/src/Revolution/Processors/Context/GetList.php b/core/src/Revolution/Processors/Context/GetList.php
index 23895b5dbfb..e7a45dd3aee 100644
--- a/core/src/Revolution/Processors/Context/GetList.php
+++ b/core/src/Revolution/Processors/Context/GetList.php
@@ -1,16 +1,16 @@
setDefaultProperties([
'search' => '',
- 'exclude' => '',
+ 'exclude' => 'creator',
]);
+
$this->canCreate = $this->modx->hasPermission('new_context');
- $this->canEdit = $this->modx->hasPermission('edit_context');
- $this->canRemove = $this->modx->hasPermission('delete_context');
+ $this->canUpdate = $this->modx->hasPermission('edit_context');
+ $this->canDelete = $this->modx->hasPermission('delete_context');
return $initialized;
}
+ /**
+ * {@inheritDoc}
+ * @return boolean
+ */
+ public function beforeQuery()
+ {
+ /*
+ Implementing a little trick here since 'creator' is an arbitrary field
+ not present in the database, used for distinguishing core/protected row data
+ from user-created data
+ */
+ if ($this->getProperty('sort') === 'creator') {
+ $this->setProperty('sort', 'FIELD(modContext.key, "mgr", "web")');
+ $dir = $this->getProperty('dir') === 'ASC' ? 'DESC' : 'ASC' ;
+ $this->setProperty('dir', $dir);
+ }
+ return true;
+ }
+
/**
* {@inheritDoc}
* @param xPDOQuery $c
@@ -70,7 +88,8 @@ public function prepareQueryBeforeCount(xPDOQuery $c)
if (!empty($search)) {
$c->where([
'key:LIKE' => '%' . $search . '%',
- 'OR:description:LIKE' => '%' . $search . '%',
+ 'OR:name:LIKE' => '%' . $search . '%',
+ 'OR:description:LIKE' => '%' . $search . '%'
]);
}
$exclude = $this->getProperty('exclude');
@@ -110,18 +129,32 @@ public function prepareQueryAfterCount(xPDOQuery $c)
*/
public function prepareRow(xPDOObject $object)
{
- $contextArray = $object->toArray();
- $contextArray['perm'] = [];
- if ($this->canCreate) {
- $contextArray['perm'][] = 'pnew';
- }
- if ($this->canEdit) {
- $contextArray['perm'][] = 'pedit';
+ $permissions = [
+ 'create' => $this->canCreate && $object->checkPolicy('save'),
+ 'duplicate' => $this->canCreate && $object->checkPolicy('copy'),
+ 'update' => $this->canUpdate && $object->checkPolicy('save'),
+ 'delete' => $this->canDelete && $object->checkPolicy('remove')
+ ];
+
+ $contextData = $object->toArray();
+ $contextKey = $object->get('key');
+ $coreContexts = ['mgr', 'web'];
+ $isCoreContext = in_array($contextKey, $coreContexts);
+
+ if ($isCoreContext) {
+ $baseKey = '_context_' . strtolower(str_replace(' ', '', $contextKey)) . '_';
+ $contextData['name_trans'] = $this->modx->lexicon($baseKey . 'name');
+ $contextData['description_trans'] = $this->modx->lexicon($baseKey . 'description');
}
- if (!in_array($object->get('key'), ['mgr', 'web']) && $this->canRemove) {
- $contextArray['perm'][] = 'premove';
+
+ $contextData['reserved'] = ['key' => $coreContexts, 'name' => ['Manager']];
+ $contextData['isProtected'] = $isCoreContext ? true : false ;
+ $contextData['creator'] = $isCoreContext ? 'modx' : strtolower($this->modx->lexicon('user')) ;
+ if ($isCoreContext) {
+ unset($permissions['delete']);
}
+ $contextData['permissions'] = $permissions;
- return $contextArray;
+ return $contextData;
}
}
diff --git a/core/src/Revolution/Processors/Security/Role/GetList.php b/core/src/Revolution/Processors/Security/Role/GetList.php
index 338e0e4e700..e6d024e3c8f 100644
--- a/core/src/Revolution/Processors/Security/Role/GetList.php
+++ b/core/src/Revolution/Processors/Security/Role/GetList.php
@@ -1,4 +1,5 @@
setProperty('sort', 'name');
}
- $this->canRemove = $this->modx->hasPermission('delete_role');
+ $this->canCreate = $this->modx->hasPermission('new_role') && $this->modx->hasPermission('save_role');
+ $this->canUpdate = $this->modx->hasPermission('edit_role') && $this->modx->hasPermission('save_role');
+ $this->canDelete = $this->modx->hasPermission('delete_role');
return $initialized;
}
@@ -90,21 +95,28 @@ public function beforeIteration(array $list)
*/
public function prepareRow(xPDOObject $object)
{
- $objectArray = $object->toArray();
- $isCoreRole = $object->get('id') === 1
- || $object->get('id') === 2
- || $object->get('name') === 'Super User'
- || $object->get('name') === 'Member';
-
- $perm = [];
- if (!$isCoreRole) {
- $perm[] = 'edit';
- if ($this->canRemove) {
- $perm[] = 'remove';
- }
+ // Note: Role does not have a checkPolicy() method
+ $permissions = [
+ 'create' => $this->canCreate,
+ 'update' => $this->canUpdate,
+ 'delete' => $this->canDelete
+ ];
+
+ $roleData = $object->toArray();
+ $roleName = $object->get('name');
+ $isCoreRole = $roleName === 'Super User' || $roleName === 'Member';
+
+ if ($isCoreRole) {
+ $baseKey = '_role_' . strtolower(str_replace(' ', '', $roleName)) . '_';
+ $roleData['name_trans'] = $this->modx->lexicon($baseKey . 'name');
+ $roleData['description_trans'] = $this->modx->lexicon($baseKey . 'description');
}
- $objectArray['perm'] = implode(' ', $perm);
- return $objectArray;
+ $roleData['reserved'] = ['name' => ['Super User', 'Member']];
+ $roleData['isProtected'] = $isCoreRole ? true : false ;
+ $roleData['creator'] = $isCoreRole ? 'modx' : strtolower($this->modx->lexicon('user')) ;
+ $roleData['permissions'] = !$isCoreRole ? $permissions : [] ;
+
+ return $roleData;
}
}
diff --git a/core/src/Revolution/Processors/Source/GetList.php b/core/src/Revolution/Processors/Source/GetList.php
index 3d913b83085..f4dbecd4761 100644
--- a/core/src/Revolution/Processors/Source/GetList.php
+++ b/core/src/Revolution/Processors/Source/GetList.php
@@ -30,6 +30,10 @@ class GetList extends GetListProcessor
public $languageTopics = ['source'];
public $permission = 'source_view';
+ protected $canCreate = false;
+ protected $canUpdate = false;
+ protected $canDelete = false;
+
/**
* {@inheritDoc}
* @return boolean
@@ -41,10 +45,35 @@ public function initialize()
'showNone' => false,
'query' => '',
'streamsOnly' => false,
+ 'exclude' => 'creator'
]);
+
+ $this->canCreate = $this->modx->hasPermission('source_save');
+ $this->canUpdate = $this->modx->hasPermission('source_edit');
+ $this->canDelete = $this->modx->hasPermission('source_delete');
+
return $initialized;
}
+ /**
+ * {@inheritDoc}
+ * @return boolean
+ */
+ public function beforeQuery()
+ {
+ /*
+ Implementing a little trick here since 'creator' is an arbitrary field
+ not present in the database, used for distinguishing core/protected row data
+ from user-created data
+ */
+ if ($this->getProperty('sort') === 'creator') {
+ $this->setProperty('sort', 'FIELD(modMediaSource.name, "Filesystem")');
+ $dir = $this->getProperty('dir') === 'ASC' ? 'DESC' : 'ASC' ;
+ $this->setProperty('dir', $dir);
+ }
+ return true;
+ }
+
/**
* {@inheritDoc}
* @param array $list
@@ -114,31 +143,32 @@ public function getSortClassKey()
*/
public function prepareRow(xPDOObject $object)
{
- $canEdit = $this->modx->hasPermission('source_edit');
- $canSave = $this->modx->hasPermission('source_save');
- $canRemove = $this->modx->hasPermission('source_delete');
+ $permissions = [
+ 'create' => $this->canCreate && $object->checkPolicy('save'),
+ 'duplicate' => $this->canCreate && $object->checkPolicy('copy'),
+ 'update' => $this->canUpdate && $object->checkPolicy('save'),
+ 'delete' => $this->canDelete && $object->checkPolicy('remove')
+ ];
- $objectArray = $object->toArray();
- $objectArray['iconCls'] = $this->modx->getOption('mgr_source_icon', null, 'icon-folder-open-o');
+ $sourceData = $object->toArray();
+ $sourceKey = $object->get('name');
+ $coreSources = ['Filesystem'];
+ $isCoreSource = in_array($sourceKey, $coreSources);
- $props = $object->getPropertyList();
- if (isset($props['iconCls']) && !empty($props['iconCls'])) {
- $objectArray['iconCls'] = $props['iconCls'];
+ if ($isCoreSource) {
+ $baseKey = '_source_' . strtolower(str_replace(' ', '', $sourceKey)) . '_';
+ $sourceData['name_trans'] = $this->modx->lexicon($baseKey . 'name');
+ $sourceData['description_trans'] = $this->modx->lexicon($baseKey . 'description');
}
- $cls = [];
- if ($canSave && $canEdit && $object->checkPolicy('save')) {
- $cls[] = 'pupdate';
+ $sourceData['reserved'] = ['name' => $coreSources];
+ $sourceData['isProtected'] = $isCoreSource ? true : false ;
+ $sourceData['creator'] = $isCoreSource ? 'modx' : strtolower($this->modx->lexicon('user')) ;
+ if ($isCoreSource) {
+ unset($permissions['delete']);
}
- if ($canRemove && $object->checkPolicy('remove')) {
- $cls[] = 'premove';
- }
- if ($canSave && $object->checkPolicy('copy')) {
- $cls[] = 'pduplicate';
- }
-
- $objectArray['cls'] = implode(' ', $cls);
+ $sourceData['permissions'] = $permissions;
- return $objectArray;
+ return $sourceData;
}
}
diff --git a/core/src/Revolution/Processors/Source/Update.php b/core/src/Revolution/Processors/Source/Update.php
index 0b49c6944dc..341d9dc03a7 100644
--- a/core/src/Revolution/Processors/Source/Update.php
+++ b/core/src/Revolution/Processors/Source/Update.php
@@ -1,4 +1,5 @@
object->get('name');
+ $id = $this->object->get('id');
+
+ if (empty($name)) {
+ $this->addFieldError('name', $this->modx->lexicon('source_err_ns_name'));
+ } elseif ($this->alreadyExists($name, $id)) {
+ $this->addFieldError('name', $this->modx->lexicon('source_err_ae_name', [
+ 'name' => $name,
+ ]));
+ }
$this->setSourceProperties();
+
return parent::beforeSave();
}
+ /**
+ * Check to see if a Media Source with the specified name already exists
+ * @param string $name
+ * @return boolean
+ */
+ public function alreadyExists($name, $id)
+ {
+ return $this->modx->getCount(modMediaSource::class, [
+ 'name' => $name,
+ 'id:!=' => $id
+ ]) > 0;
+ }
+
/**
* Sets the properties on the source
* @return void
diff --git a/manager/assets/modext/widgets/core/modx.grid.js b/manager/assets/modext/widgets/core/modx.grid.js
index fc5e610fdab..ba518bdbcb4 100644
--- a/manager/assets/modext/widgets/core/modx.grid.js
+++ b/manager/assets/modext/widgets/core/modx.grid.js
@@ -168,10 +168,30 @@ MODx.grid.Grid = function(config) {
this.config = config;
this.on('click', this.onClickHandler, this);
+ // console.log('MODx.grid.Grid, this', this);
};
-Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
+Ext.extend(MODx.grid.Grid, Ext.grid.EditorGridPanel, {
+
windows: {}
+ ,protectedIdentifiers: null
+
+ ,protectedDataIndex: null
+
+ ,nonRemoveableRecords: []
+
+ ,userCanEdit: false
+
+ ,userCanCreate: false
+
+ ,userCanDelete: false
+
+ ,gridMenuActions: []
+
+ ,hasSavePermissions: false
+
+ ,showActionsMenu: null
+
,onStoreException: function(dp,type,act,opt,resp){
var r = Ext.decode(resp.responseText);
if (r.message) {
@@ -179,6 +199,7 @@ Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
this.getView().refresh(false);
}
}
+
,saveRecord: function(e) {
e.record.data.menu = null;
var p = this.config.saveParams || {};
@@ -227,7 +248,7 @@ Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
if (response.data.length) {
// We get some data for specific field(s) error but not regular error message
Ext.each(response.data, function(data, index, list) {
- msg += (msg != '' ? '
' : '') + data.msg;
+ msg += (msg != '' ? '
' : '') + data.msg;
}, this);
}
if (Ext.isEmpty(msg)) {
@@ -495,7 +516,227 @@ Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
return z;
}
+ /**
+ * @property {Function} setEditableColumnAccess - Enable/disable column editor based on user permissions
+ *
+ * @param {Array} columnIds - The ids of the columns that have an editor configured in the column model
+ *
+ * @return void
+ */
+ ,setEditableColumnAccess: function(columnIds) {
+ if (!this.userCanEdit && !Ext.isEmpty(columnIds)) {
+ const colModel = this.getColumnModel();
+ columnIds = columnIds.map(item => item.trim());
+ columnIds.forEach(colId => {
+ const colIndex = colModel.getIndexById(colId);
+ colModel.setEditable(colIndex, false);
+ });
+ }
+ }
+
+
+ /* User Group-Level Permissions Checks for the calling "class" object */
+
+ /**
+ * @property {Function} setUserCanEdit - Assigns a value to userCanEdit property based on
+ * the user's permissions; used to adjust which menu items are available, whether to render links
+ * to and item's editing page, and css cues across many grid classes
+ *
+ * @param {Array} permissions - A set of permissions keys to evaluate; note that many areas currently
+ * rely on a pair of permissions (save_x and edit_x), both of which must be enabled to edit a grid item
+ *
+ * @return void
+ */
+ ,setUserCanEdit: function(permissions) {
+ permissions = permissions.map(item => item.trim());
+ this.userCanEdit = permissions.every(permission => MODx.perm[permission]);
+ }
+
+ /**
+ * @property {Function} setUserCanCreate - Assigns a value to userCanCreate property based on
+ * the user's permissions; used to adjust which menu items are available (namely the Duplicate item)
+ * and whether to render the Create button in the grid's toolbar
+ *
+ * @param {Array} permissions - A set of permissions keys to evaluate; note that many areas currently
+ * rely on a pair of permissions (save_x and new_x), both of which must be enabled to create/duplicate a grid item
+ *
+ * @return void
+ */
+ ,setUserCanCreate: function(permissions) {
+ permissions = permissions.map(item => item.trim());
+ this.userCanCreate = permissions.every(permission => MODx.perm[permission]);
+ }
+
+ /**
+ * @property {Function} setUserCanDelete - Assigns a value to userCanDelete property based on
+ * the user's permissions; used to adjust which menu items are available in the context menus
+ * and whether to render the Delete menu item within a grid toolbar's Batch button
+ *
+ * @param {Array} permissions - A set of permissions keys to evaluate
+ *
+ * @return void
+ */
+ ,setUserCanDelete: function(permissions) {
+ permissions = permissions.map(item => item.trim());
+ this.userCanDelete = permissions.every(permission => MODx.perm[permission]);
+ }
+
+
+ /* Record-Level Permissions Checks, for objects with specific policies */
+
+ ,userCanEditRecord: function(record) {
+ const permissions = record.json.permissions;
+ return !Ext.isEmpty(permissions) && permissions.update === true ? true : false ;
+ }
+
+ ,userCanDeleteRecord: function(record) {
+ const permissions = record.json.permissions;
+ return !Ext.isEmpty(permissions) && !record.json.isProtected && permissions.delete === true ? true : false ;
+ }
+
+ ,userCanDuplicateRecord: function(record) {
+ const permissions = record.json.permissions;
+ return !Ext.isEmpty(permissions) && permissions.duplicate === true ? true : false ;
+ }
+
+ /**
+ * @property {Function} setShowActionsMenu - Based on properties set in the calling child class and the
+ * the current user's permissions for actions taken within that class (create, edit, delete, etc),
+ * evaluates whether the actions menu trigger should appear and sets boolean value on the showActionsMenu property
+ *
+ * @return void
+ */
+ ,setShowActionsMenu: function() {
+ // console.log('setShowActionsMenu: this.gridMenuActions: ', this.gridMenuActions);
+ if (this.config.disableContextMenuAction === true) {
+ this.showActionsMenu = false;
+ return;
+ }
+ const permissions = [];
+ this.gridMenuActions.forEach(mode => {
+ mode = mode == 'duplicate' ? 'userCanCreate' : 'userCan' + Ext.util.Format.capitalize(mode);
+ const modePermission = mode === 'userCanExport' ? true : this[mode] ;
+ if (['userCanCreate', 'userCanEdit'].includes(mode) && modePermission === true) {
+ this.hasSavePermissions = true;
+ }
+ permissions.push(modePermission);
+ });
+ // console.log('setShowActionsMenu: final permissions: ', permissions);
+ this.showActionsMenu = permissions.length === 0 || permissions.every(permission => permission === false) === true
+ ? false
+ : true
+ ;
+ }
+
+ /**
+ * @property {Function} recordIsProtected - Used to remove the ability to delete
+ * specific record rows, regardless of permissions levels, based on a given record identifier
+ *
+ * @param {Number} subject - The value of the current record's identifier
+ * @param {Number} protectedIdentifiers - The record identifiers to be protected (making them non-editable/deletable)
+ *
+ * @return {Boolean}
+ */
+ ,recordIsProtected: function(subject, protectedIdentifiers) {
+ // console.log('recordIsProtected, subject: ', subject);
+ // console.log('recordIsProtected, protectedIdentifiers:', protectedIdentifiers);
+ if (Ext.isEmpty(protectedIdentifiers)) {
+ return false;
+ }
+ protectedIdentifiers = protectedIdentifiers.map(identifier => {
+ return typeof identifier === 'string' ? identifier.trim() : identifier ;
+ });
+
+ return protectedIdentifiers.includes(subject);
+ }
+
+ /*
+ Note to self: The following valueIsReserved methods worked, but when called
+ from the column model's field validator or from listeners (afteredit/etc)
+ the event timing was too early (the record.json.permissions and other extra
+ properties are not yet set)
+ */
+ /*
+ ,valueIsReserved: function(e, errorMessage) {
+ const reserved = e.record.json.reserved;
+ if (reserved && !Ext.isEmpty(reserved)) {
+ console.log('valueIsReserved, reserved keys: ', Object.keys(reserved));
+ Object.keys(reserved).forEach(key => {
+ if (e.field === key && reserved[key].includes(e.value)) {
+ console.log('reserved value found!');
+ Ext.Msg.alert('Error', errorMessage);
+ return false;
+ }
+ });
+ }
+ return true;
+ }
+ */
+ /*
+ ,valueIsReserved: function(field, record, errorMessage) {
+ const reserved = record.json.reserved;
+ if (reserved && !Ext.isEmpty(reserved)) {
+ // console.log('valueIsReserved, reserved keys: ', Object.keys(reserved));
+ console.log('valueIsReserved, record: ', record);
+ Object.keys(reserved).forEach(key => {
+ if (field === key && reserved[key].includes(record.data[field])) {
+ console.log('reserved value found!');
+ Ext.Msg.alert('Error', errorMessage);
+ return false;
+ }
+ });
+ }
+ return true;
+ }
+ */
+
+ /**
+ *
+ */
+ ,valueIsReserved: function(reservedValues, value) {
+ if (!Ext.isArray(reservedValues)) {
+ reservedValues = reservedValues.split(',');
+ }
+ let isReserved = false;
+ reservedValues.forEach(reserved => {
+ if (reserved.toLowerCase() === value.toLowerCase()) {
+ isReserved = true;
+ return;
+ }
+ });
+ return isReserved;
+ }
+
+ /**
+ * @property {Function} getRemovableItemsFromSelection - Prunes protected items from the current
+ * selection list before submitting for deletion, or for setting the state of the 'Delete Selected'
+ * menu item
+ *
+ * @param {String} itemIdType - The data type of the value being inspected (either string or integer)
+ *
+ * @return {Boolean|Array}
+ */
+ ,getRemovableItemsFromSelection: function(itemIdType = 'string') {
+
+ const selectionList = this.getSelectedAsList(),
+ removableItems = []
+ ;
+ console.log('getRemovableItemsFromSelection, selectionList: ', selectionList);
+ if (selectionList === false) {
+ return false;
+ }
+ selectionList.split(',').forEach(id => {
+ id = itemIdType === 'string' ? id : parseInt(id) ;
+ if (!this.recordIsProtected(id, this.protectedIdentifiers) && !this.nonRemoveableRecords.includes(id)) {
+ removableItems.push(id);
+ }
+ });
+ console.log('getRemovableItemsFromSelection, removableItems: ', removableItems);
+ return removableItems.length > 0 ? removableItems : false ;
+ }
+
,renderEditableColumn: function(renderer) {
+ // console.log('renderEditableColumn...');
return function(value, metaData, record, rowIndex, colIndex, store) {
if (renderer) {
if (typeof renderer.fn === 'function') {
@@ -665,7 +906,43 @@ Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
}
,actionsColumnRenderer: function(value, metaData, record, rowIndex, colIndex, store) {
- var actions = this.getActions.apply(this, [record, rowIndex, colIndex, store]);
+
+ /*
+ showActionsMenu will be true if at least one user group-level permission is granted,
+ excluding create/new permissions (since that is not executed by our context/actions menus)
+ */
+ // console.log('actionsColumnRenderer, record', record);
+ if (this.showActionsMenu) {
+ const isProtected = record.json.isProtected;
+ console.log('actionsColumnRenderer, showActionsMenu = true, record:', record);
+ // console.log('actionsColumnRenderer, this', this);
+ // console.log('actionsColumnRenderer, this is policy grid?', this instanceof MODx.grid.AccessPolicy);
+ // console.log('actionsColumnRenderer, gridMenuActions', this.gridMenuActions);
+
+ // Export is always available; only continue filtering if grid does not offer export
+ if (!this.gridMenuActions.includes('export')) {
+ if (!this.hasSavePermissions && isProtected) {
+ return;
+ }
+ // Checking record-level permissions
+ if (record.data.hasOwnProperty('cls')) {
+ if (Ext.isEmpty(record.data.cls)) {
+ return;
+ }
+ }
+ if (record.json.hasOwnProperty('permissions')) {
+ // console.log('perms: ',record.json.permissions);
+ if (
+ Ext.isEmpty(record.json.permissions) ||
+ Object.values(record.json.permissions).every(permission => permission === false) === true
+ ) {
+ return;
+ }
+ }
+ }
+ }
+ const actions = this.getActions.apply(this, arguments);
+
if (this.config.disableContextMenuAction !== true) {
actions.push({
text: _('context_menu'),
@@ -673,24 +950,32 @@ Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
icon: 'gear'
});
}
-
return this._getActionsColumnTpl().apply({
actions: actions
});
}
- ,renderLink: function(v,attr) {
- var el = new Ext.Element(document.createElement('a'));
- el.addClass('x-grid-link');
- el.dom.title = _('edit');
- for (var i in attr) {
- el.dom[i] = attr[i];
- }
- el.dom.innerHTML = Ext.util.Format.htmlEncode(v);
+ /**
+ *
+ */
+ ,renderLink: function(content, attributes = {}, isSimulated = false, isSimulatedTag = 'span') {
+ const tag = isSimulated ? isSimulatedTag : 'a',
+ classes = isSimulated ? 'x-grid-link simulated-link' : 'x-grid-link',
+ el = new Ext.Element(document.createElement(tag))
+ ;
+ el.addClass(classes);
+ // Add default title if none given in attributes
+ if (!attributes.hasOwnProperty('title')) {
+ attributes.title = _('edit');
+ }
+ Object.entries(attributes).forEach(([attr, value]) => {
+ el.dom[attr] = value;
+ });
+ el.dom.innerHTML = Ext.util.Format.htmlEncode(content);
return el.dom.outerHTML;
}
- ,getActions: function(record, rowIndex, colIndex, store) {
+ ,getActions: function(value, metaData, record, rowIndex, colIndex, store) {
return [];
}
@@ -750,6 +1035,7 @@ Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{
window.history.replaceState(this.getStore().baseParams, document.title, this.makeUrl());
}
}
+
});
/* local grid */
@@ -824,7 +1110,8 @@ MODx.grid.LocalGrid = function(config) {
this.on('rowcontextmenu',this._showMenu,this);
};
-Ext.extend(MODx.grid.LocalGrid,Ext.grid.EditorGridPanel,{
+Ext.extend(MODx.grid.LocalGrid, Ext.grid.EditorGridPanel, {
+
windows: {}
,_loadStore: function(config) {
@@ -1005,7 +1292,6 @@ Ext.extend(MODx.grid.LocalGrid,Ext.grid.EditorGridPanel,{
}
}
-
,remove: function(config) {
if (this.destroying) {
return MODx.grid.LocalGrid.superclass.remove.apply(this, arguments);
diff --git a/manager/assets/modext/widgets/security/modx.grid.access.policy.js b/manager/assets/modext/widgets/security/modx.grid.access.policy.js
index 4efca422a18..c6899cdec10 100644
--- a/manager/assets/modext/widgets/security/modx.grid.access.policy.js
+++ b/manager/assets/modext/widgets/security/modx.grid.access.policy.js
@@ -8,30 +8,33 @@
*/
MODx.panel.AccessPolicies = function(config) {
config = config || {};
- Ext.applyIf(config,{
- id: 'modx-panel-access-policies'
- ,bodyStyle: ''
- ,defaults: { collapsible: false ,autoHeight: true }
- ,items: [{
- html: _('policies')
- ,id: 'modx-policies-header'
- ,xtype: 'modx-header'
- },{
- layout: 'form'
- ,cls: 'main-wrapper'
- ,items: [{
- html: '
'+_('policy_management_msg')+'
'
- ,border: false
- },{
- xtype: 'modx-grid-access-policy'
- ,preventRender: true
+ Ext.applyIf(config, {
+ id: 'modx-panel-access-policies',
+ bodyStyle: '',
+ defaults: {
+ collapsible: false,
+ autoHeight: true
+ },
+ items: [{
+ html: _('policies'),
+ id: 'modx-policies-header',
+ xtype: 'modx-header'
+ }, {
+ layout: 'form',
+ cls: 'main-wrapper',
+ items: [{
+ html: '' + _('policy_management_msg') + '
',
+ border: false
+ }, {
+ xtype: 'modx-grid-access-policy',
+ preventRender: true
}]
}]
});
- MODx.panel.AccessPolicies.superclass.constructor.call(this,config);
+ MODx.panel.AccessPolicies.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.panel.AccessPolicies,MODx.FormPanel);
-Ext.reg('modx-panel-access-policies',MODx.panel.AccessPolicies);
+Ext.extend(MODx.panel.AccessPolicies, MODx.FormPanel);
+Ext.reg('modx-panel-access-policies', MODx.panel.AccessPolicies);
/**
* Loads a grid of modAccessPolicies.
@@ -44,237 +47,387 @@ Ext.reg('modx-panel-access-policies',MODx.panel.AccessPolicies);
MODx.grid.AccessPolicy = function(config) {
config = config || {};
this.sm = new Ext.grid.CheckboxSelectionModel();
- Ext.applyIf(config,{
- id: 'modx-grid-access-policy'
- ,url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ id: 'modx-grid-access-policy',
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Security/Access/Policy/GetList'
- }
- ,fields: ['id','name','description', 'description_trans', 'class','data','parent','template','template_name','active_permissions','total_permissions','active_of','cls']
- ,paging: true
- ,autosave: true
- ,save_action: 'Security/Access/Policy/UpdateFromGrid'
- ,remoteSort: true
- ,sm: this.sm
- ,columns: [this.sm,{
- header: _('policy_name')
- ,dataIndex: 'name'
- ,width: 200
- ,editor: { xtype: 'textfield' ,allowBlank: false }
- ,sortable: true
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=security/access/policy/update&id=' + record.data.id
- });
- }, scope: this }
- },{
- header: _('description')
- ,dataIndex: 'description'
- ,width: 375
- ,renderer: function(value, metaData, record) {
- return Ext.util.Format.htmlEncode(record['data']['description_trans']);
+ },
+ fields: [
+ 'id',
+ 'name',
+ 'description',
+ 'description_trans',
+ 'class',
+ 'data',
+ 'parent',
+ 'template',
+ 'template_name',
+ 'active_permissions',
+ 'total_permissions',
+ 'active_of',
+ 'cls'
+ ],
+ paging: true,
+ autosave: true,
+ save_action: 'Security/Access/Policy/UpdateFromGrid',
+ remoteSort: true,
+ sm: this.sm,
+ columns: [this.sm, {
+ header: _('policy_name'),
+ dataIndex: 'name',
+ id: 'modx-policy--policy-name',
+ width: 200,
+ editor: {
+ xtype: 'textfield',
+ allowBlank: false
+ },
+ sortable: true,
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (!this.userCanEdit) {
+ metaData.css = 'editor-disabled';
+ return value;
+ }
+ return this.renderLink(value, {
+ href: '?a=security/access/policy/update&id=' + record.data.id,
+ title: _('policy_edit')
+ });
+ },
+ scope: this
}
- ,editable: false
- },{
- header: _('policy_template')
- ,dataIndex: 'template_name'
- ,width: 375
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=security/access/policy/template/update&id=' + record.data.template
- ,target: '_blank'
- });
- }, scope: this }
- },{
- header: _('active_permissions')
- ,dataIndex: 'active_of'
- ,width: 100
- ,editable: false
- }]
- ,tbar: [{
- text: _('create')
- ,cls:'primary-button'
- ,scope: this
- ,handler: this.createPolicy
- },{
- text: _('import')
- ,scope: this
- ,handler: this.importPolicy
- },{
- text: _('bulk_actions')
- ,menu: [{
- text: _('policy_remove_multiple')
- ,handler: this.removeSelected
- ,scope: this
- }]
- },'->',{
- xtype: 'textfield'
- ,name: 'search'
- ,id: 'modx-policy-search'
- ,cls: 'x-form-filter'
- ,emptyText: _('search_ellipsis')
- ,listeners: {
- 'change': {fn: this.search, scope: this}
- ,'render': {fn: function(cmp) {
- new Ext.KeyMap(cmp.getEl(), {
- key: Ext.EventObject.ENTER
- ,fn: function() {
- this.fireEvent('change',this.getValue());
- this.blur();
- return true;}
- ,scope: cmp
+ }, {
+ header: _('description'),
+ dataIndex: 'description',
+ id: 'modx-policy--policy-description',
+ width: 375,
+ editable: false,
+ renderer: function(value, metaData, record) {
+ // const desc = !Ext.isEmpty(record.data.description_trans) ? record.data.description_trans : record.data.description ;
+ return Ext.util.Format.htmlEncode(record.data.description_trans);
+ }
+ }, {
+ header: _('policy_template'),
+ dataIndex: 'template_name',
+ id: 'modx-policy--template-name',
+ width: 375,
+ sortable: true,
+ renderer: {
+ fn: function(value, metaData, record) {
+ // Directly referencing MODx.perm here, as these permissions are outside of this class
+ if (!MODx.perm.policy_template_save || !MODx.perm.policy_template_edit) {
+ metaData.css = 'editor-disabled';
+ return value;
+ }
+ return this.renderLink(value, {
+ href: '?a=security/access/policy/template/update&id=' + record.data.template,
+ title: _('policy_template_edit')
});
- },scope:this}
+ },
+ scope: this
+ }
+ }, {
+ header: _('active_permissions'),
+ dataIndex: 'active_of',
+ width: 100,
+ align: 'center',
+ editable: false
+ }],
+ tbar: [{
+ text: _('create'),
+ cls: 'primary-button',
+ scope: this,
+ handler: this.createPolicy,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
+ }
+ }, {
+ text: _('import'),
+ scope: this,
+ handler: this.importPolicy,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
}
- },{
- xtype: 'button'
- ,id: 'modx-sacpol-filter-clear'
- ,cls: 'x-form-filter-clear'
- ,text: _('filter_clear')
- ,listeners: {
- 'click': {fn: this.clearFilter, scope: this},
- 'mouseout': { fn: function(evt){
- this.removeClass('x-btn-focus');
+ }, {
+ text: _('bulk_actions'),
+ menu: [{
+ text: _('policy_remove_multiple'),
+ itemId: 'modx-policy--bulk-menu-opt-remove',
+ handler: this.removeSelected,
+ scope: this
+ }],
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanDelete) {
+ btn.hide();
+ }
+ },
+ scope: this
+ },
+ click: {
+ fn: function(btn) {
+ const removableItems = this.getRemovableItemsFromSelection('int'),
+ menuOptRemove = btn.menu.getComponent('modx-policy--bulk-menu-opt-remove')
+ ;
+ if (!removableItems) {
+ menuOptRemove.disable();
+ } else {
+ menuOptRemove.enable();
+ }
+ },
+ scope: this
}
+ }
+ }, '->', {
+ xtype: 'textfield',
+ name: 'search',
+ id: 'modx-policy-search',
+ cls: 'x-form-filter',
+ emptyText: _('search_ellipsis'),
+ listeners: {
+ change: {
+ fn: this.search,
+ scope: this
+ },
+ render: {
+ fn: function(cmp) {
+ new Ext.KeyMap(cmp.getEl(), {
+ key: Ext.EventObject.ENTER,
+ fn: function() {
+ this.fireEvent('change', this.getValue());
+ this.blur();
+ return true;
+ },
+ scope: cmp
+ });
+ },
+ scope: this
+ }
+ }
+ }, {
+ xtype: 'button',
+ id: 'modx-sacpol-filter-clear',
+ cls: 'x-form-filter-clear',
+ text: _('filter_clear'),
+ listeners: {
+ click: {
+ fn: this.clearFilter,
+ scope: this
+ },
+ mouseout: {
+ fn: function(evt) {
+ this.removeClass('x-btn-focus');
+ }
}
}
}]
});
- MODx.grid.AccessPolicy.superclass.constructor.call(this,config);
+
+ MODx.grid.AccessPolicy.superclass.constructor.call(this, config);
+
+ // this.protectedDataIndex = 'id';
+ // this.protectedIdentifiers = ['range', 1, 12];
+ this.gridMenuActions = ['edit', 'delete', 'duplicate', 'export'];
+
+ this.setUserCanEdit(['policy_save', 'policy_edit']);
+ this.setUserCanCreate(['policy_save', 'policy_new']);
+ this.setUserCanDelete(['policy_delete']);
+ this.setShowActionsMenu();
+
+ /*
+ Want to lock or ideally hide checkbox col, or change to row selection model if user has no delete perms,
+ but locking the selModel locks out the context menu as well ... find other solution
+ */
+ // if (!this.userCanDelete) {
+ // this.selModel.lock();
+ // }
+ this.on('beforerender', function() {
+ if (!this.userCanDelete) {
+ // const checkCol = this.getColumnModel().getColumnAt(0);
+ console.log('this', this);
+ // console.log('check col: ', this.getColumnModel().getColumnAt(0));
+ // this.columns = this.columns.shift();
+ // this.getColumnModel().getColumnAt(0).destroy();
+ // checkCol.hideable = true;
+ // checkCol.destroy();
+ // this.refresh();
+ this.cls = 'hide-check-column'
+ }
+ });
+ this.on('render', function() {
+ this.setEditableColumnAccess(
+ ['modx-policy--policy-name', 'modx-policy--policy-description']
+ );
+ if (!this.userCanDelete) {
+ this.cls = 'hide-check-column'
+ }
+ });
};
-Ext.extend(MODx.grid.AccessPolicy,MODx.grid.Grid,{
- search: function(tf,newValue,oldValue) {
+Ext.extend(MODx.grid.AccessPolicy, MODx.grid.Grid, {
+
+ getMenu: function() {
+ const rowData = this.getSelectionModel().getSelected().data,
+ m = []
+ ;
+ if (this.userCanEdit) {
+ m.push({
+ text: _('edit'),
+ handler: this.editPolicy
+ });
+ }
+ if (this.userCanCreate) {
+ m.push({
+ text: _('duplicate'),
+ handler: this.confirm.createDelegate(
+ this, ["Security/Access/Policy/Duplicate", "policy_duplicate_confirm"]
+ )
+ });
+ }
+ if (m.length > 0) {
+ m.push('-');
+ }
+ m.push({
+ text: _('policy_export'),
+ handler: this.exportPolicy
+ });
+ if (this.userCanDelete) {
+ if (m.length > 0) {
+ m.push('-');
+ }
+ m.push({
+ text: _('delete'),
+ handler: this.confirm.createDelegate(
+ this, ["Security/Access/Policy/Remove", "policy_remove_confirm"]
+ )
+ });
+ }
+ if (m.length > 0) {
+ this.addContextMenuItem(m);
+ }
+ },
+
+ search: function(tf, newValue, oldValue) {
var nv = newValue || tf;
this.getStore().baseParams.query = Ext.isEmpty(nv) || Ext.isObject(nv) ? '' : nv;
this.getBottomToolbar().changePage(1);
return true;
- }
- ,clearFilter: function() {
+ },
+
+ clearFilter: function() {
this.getStore().baseParams = {
action: 'Security/Access/Policy/GetList'
};
Ext.getCmp('modx-policy-search').reset();
this.getBottomToolbar().changePage(1);
- }
+ },
- ,editPolicy: function(itm,e) {
- MODx.loadPage('security/access/policy/update', 'id='+this.menu.record.id);
- }
+ editPolicy: function(itm, e) {
+ MODx.loadPage('security/access/policy/update', 'id=' + this.menu.record.id);
+ },
- ,createPolicy: function(btn,e) {
+ createPolicy: function(btn, e) {
var r = this.menu.record;
if (!this.windows.apc) {
this.windows.apc = MODx.load({
- xtype: 'modx-window-access-policy-create'
- ,record: r
- ,plugin: this.config.plugin
- ,listeners: {
- 'success': {fn:function(r) {
- this.refresh();
- },scope:this}
+ xtype: 'modx-window-access-policy-create',
+ record: r,
+ plugin: this.config.plugin,
+ listeners: {
+ success: {
+ fn: function(r) {
+ this.refresh();
+ },
+ scope: this
+ }
}
});
}
this.windows.apc.reset();
this.windows.apc.show(e.target);
- }
- ,exportPolicy: function(btn,e) {
+ },
+
+ exportPolicy: function(btn, e) {
var id = this.menu.record.id;
MODx.Ajax.request({
- url: this.config.url
- ,params: {
- action: 'Security/Access/Policy/Export'
- ,id: id
- }
- ,listeners: {
- 'success': {fn:function(r) {
- location.href = this.config.url+'?action=Security/Access/Policy/Export&download=1&id='+id+'&HTTP_MODAUTH='+MODx.siteId;
- },scope:this}
+ url: this.config.url,
+ params: {
+ action: 'Security/Access/Policy/Export',
+ id: id
+ },
+ listeners: {
+ success: {
+ fn: function(r) {
+ location.href = this.config.url + '?action=Security/Access/Policy/Export&download=1&id=' + id + '&HTTP_MODAUTH=' + MODx.siteId;
+ },
+ scope: this
+ }
}
});
- }
+ },
- ,importPolicy: function(btn,e) {
+ importPolicy: function(btn, e) {
var r = {};
if (!this.windows.importPolicy) {
this.windows.importPolicy = MODx.load({
- xtype: 'modx-window-policy-import'
- ,record: r
- ,listeners: {
- 'success': {fn:function(o) {
- this.refresh();
- },scope:this}
+ xtype: 'modx-window-policy-import',
+ record: r,
+ listeners: {
+ success: {
+ fn: function(o) {
+ this.refresh();
+ },
+ scope: this
+ }
}
});
}
this.windows.importPolicy.reset();
this.windows.importPolicy.setValues(r);
this.windows.importPolicy.show(e.target);
- }
-
- ,getMenu: function() {
- var r = this.getSelectionModel().getSelected();
- var p = r.data.cls;
+ },
- var m = [];
- if (this.getSelectionModel().getCount() > 1) {
- m.push({
- text: _('policy_remove_multiple')
- ,handler: this.removeSelected
- });
- } else {
- if (p.indexOf('pedit') != -1) {
- m.push({
- text: _('edit')
- ,handler: this.editPolicy
- });
- m.push({
- text: _('duplicate')
- ,handler: this.confirm.createDelegate(this,["Security/Access/Policy/Duplicate","policy_duplicate_confirm"])
- });
- }
- if (m.length > 0) { m.push('-'); }
- m.push({
- text: _('policy_export')
- ,handler: this.exportPolicy
- });
- if (p.indexOf('premove') != -1) {
- if (m.length > 0) m.push('-');
- m.push({
- text: _('delete')
- ,handler: this.confirm.createDelegate(this,["Security/Access/Policy/Remove","policy_remove_confirm"])
- });
- }
- }
-
- if (m.length > 0) {
- this.addContextMenuItem(m);
- }
- }
-
- ,removeSelected: function() {
+ removeSelected: function() {
var cs = this.getSelectedAsList();
if (cs === false) return false;
MODx.msg.confirm({
- title: _('policy_remove_multiple')
- ,text: _('policy_remove_multiple_confirm')
- ,url: this.config.url
- ,params: {
- action: 'Security/Access/Policy/RemoveMultiple'
- ,policies: cs
- }
- ,listeners: {
- 'success': {fn:function(r) {
- this.getSelectionModel().clearSelections(true);
- this.refresh();
- },scope:this}
+ title: _('policy_remove_multiple'),
+ text: _('policy_remove_multiple_confirm'),
+ url: this.config.url,
+ params: {
+ action: 'Security/Access/Policy/RemoveMultiple',
+ policies: cs
+ },
+ listeners: {
+ success: {
+ fn: function(r) {
+ this.getSelectionModel().clearSelections(true);
+ this.refresh();
+ },
+ scope: this
+ }
}
});
return true;
}
+
});
-Ext.reg('modx-grid-access-policy',MODx.grid.AccessPolicy);
+Ext.reg('modx-grid-access-policy', MODx.grid.AccessPolicy);
/**
* Generates a window for creating Access Policies.
@@ -286,65 +439,65 @@ Ext.reg('modx-grid-access-policy',MODx.grid.AccessPolicy);
*/
MODx.window.CreateAccessPolicy = function(config) {
config = config || {};
- this.ident = config.ident || 'cacp'+Ext.id();
- Ext.applyIf(config,{
- title: _('create')
- ,url: MODx.config.connector_url
- ,action: 'Security/Access/Policy/Create'
- ,fields: [{
- fieldLabel: _('name')
- ,description: MODx.expandHelp ? '' : _('policy_desc_name')
- ,name: 'name'
- ,id: 'modx-'+this.ident+'-name'
- ,xtype: 'textfield'
- ,allowBlank: false
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-name'
- ,html: _('policy_desc_name')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('policy_template')
- ,description: MODx.expandHelp ? '' : _('policy_desc_template')
- ,name: 'template'
- ,hiddenName: 'template'
- ,id: 'modx-'+this.ident+'-template'
- ,xtype: 'modx-combo-access-policy-template'
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-template'
- ,html: _('policy_desc_template')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('description')
- ,description: MODx.expandHelp ? '' : _('policy_desc_description')
- ,name: 'description'
- ,id: 'modx-'+this.ident+'-description'
- ,xtype: 'textarea'
- ,anchor: '100%'
- ,height: 50
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-description'
- ,html: _('policy_desc_description')
- ,cls: 'desc-under'
- },{
- name: 'class'
- ,id: 'modx-'+this.ident+'-class'
- ,xtype: 'hidden'
- },{
- name: 'id'
- ,id: 'modx-'+this.ident+'-id'
- ,xtype: 'hidden'
- }]
- ,keys: []
+ this.ident = config.ident || 'cacp' + Ext.id();
+ Ext.applyIf(config, {
+ title: _('create'),
+ url: MODx.config.connector_url,
+ action: 'Security/Access/Policy/Create',
+ fields: [{
+ fieldLabel: _('name'),
+ description: MODx.expandHelp ? '' : _('policy_desc_name'),
+ name: 'name',
+ id: 'modx-' + this.ident + '-name',
+ xtype: 'textfield',
+ allowBlank: false,
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-name',
+ html: _('policy_desc_name'),
+ cls: 'desc-under'
+ }, {
+ fieldLabel: _('policy_template'),
+ description: MODx.expandHelp ? '' : _('policy_desc_template'),
+ name: 'template',
+ hiddenName: 'template',
+ id: 'modx-' + this.ident + '-template',
+ xtype: 'modx-combo-access-policy-template',
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-template',
+ html: _('policy_desc_template'),
+ cls: 'desc-under'
+ }, {
+ fieldLabel: _('description'),
+ description: MODx.expandHelp ? '' : _('policy_desc_description'),
+ name: 'description',
+ id: 'modx-' + this.ident + '-description',
+ xtype: 'textarea',
+ anchor: '100%',
+ height: 50
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-description',
+ html: _('policy_desc_description'),
+ cls: 'desc-under'
+ }, {
+ name: 'class',
+ id: 'modx-' + this.ident + '-class',
+ xtype: 'hidden'
+ }, {
+ name: 'id',
+ id: 'modx-' + this.ident + '-id',
+ xtype: 'hidden'
+ }],
+ keys: []
});
- MODx.window.CreateAccessPolicy.superclass.constructor.call(this,config);
+ MODx.window.CreateAccessPolicy.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.CreateAccessPolicy,MODx.Window);
-Ext.reg('modx-window-access-policy-create',MODx.window.CreateAccessPolicy);
+Ext.extend(MODx.window.CreateAccessPolicy, MODx.Window);
+Ext.reg('modx-window-access-policy-create', MODx.window.CreateAccessPolicy);
/**
* @class MODx.window.AccessPolicyTemplate
@@ -354,26 +507,25 @@ Ext.reg('modx-window-access-policy-create',MODx.window.CreateAccessPolicy);
*/
MODx.combo.AccessPolicyTemplate = function(config) {
config = config || {};
- Ext.applyIf(config,{
- name: 'template'
- ,hiddenName: 'template'
- ,fields: ['id','name','description','description_trans']
- ,forceSelection: true
- ,typeAhead: false
- ,editable: false
- ,allowBlank: false
- ,pageSize: 20
- ,url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ name: 'template',
+ hiddenName: 'template',
+ fields: ['id', 'name', 'description', 'description_trans'],
+ forceSelection: true,
+ typeAhead: false,
+ editable: false,
+ allowBlank: false,
+ pageSize: 20,
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Security/Access/Policy/Template/GetList'
- }
- ,tpl: new Ext.XTemplate('{name:htmlEncode}'
- ,'
{description_trans:htmlEncode}
')
+ },
+ tpl: new Ext.XTemplate('{name:htmlEncode}', '
{description_trans:htmlEncode}
')
});
- MODx.combo.AccessPolicyTemplate.superclass.constructor.call(this,config);
+ MODx.combo.AccessPolicyTemplate.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.combo.AccessPolicyTemplate,MODx.combo.ComboBox);
-Ext.reg('modx-combo-access-policy-template',MODx.combo.AccessPolicyTemplate);
+Ext.extend(MODx.combo.AccessPolicyTemplate, MODx.combo.ComboBox);
+Ext.reg('modx-combo-access-policy-template', MODx.combo.AccessPolicyTemplate);
/**
* @class MODx.window.ImportPolicy
@@ -383,29 +535,29 @@ Ext.reg('modx-combo-access-policy-template',MODx.combo.AccessPolicyTemplate);
*/
MODx.window.ImportPolicy = function(config) {
config = config || {};
- this.ident = config.ident || 'imppol-'+Ext.id();
- Ext.applyIf(config,{
- title: _('policy_import')
- ,id: 'modx-window-policy-import'
- ,url: MODx.config.connector_url
- ,action: 'Security/Access/Policy/Import'
- ,fileUpload: true
- ,saveBtnText: _('import')
- ,fields: [{
- html: _('policy_import_msg')
- ,id: this.ident+'-desc'
- ,xtype: 'modx-description'
- ,style: 'margin-bottom: 10px;'
- },{
- xtype: 'fileuploadfield'
- ,fieldLabel: _('file')
- ,buttonText: _('upload.buttons.upload')
- ,name: 'file'
- ,id: this.ident+'-file'
- ,anchor: '100%'
+ this.ident = config.ident || 'imppol-' + Ext.id();
+ Ext.applyIf(config, {
+ title: _('policy_import'),
+ id: 'modx-window-policy-import',
+ url: MODx.config.connector_url,
+ action: 'Security/Access/Policy/Import',
+ fileUpload: true,
+ saveBtnText: _('import'),
+ fields: [{
+ html: _('policy_import_msg'),
+ id: this.ident + '-desc',
+ xtype: 'modx-description',
+ style: 'margin-bottom: 10px;'
+ }, {
+ xtype: 'fileuploadfield',
+ fieldLabel: _('file'),
+ buttonText: _('upload.buttons.upload'),
+ name: 'file',
+ id: this.ident + '-file',
+ anchor: '100%'
}]
});
- MODx.window.ImportPolicy.superclass.constructor.call(this,config);
+ MODx.window.ImportPolicy.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.ImportPolicy,MODx.Window);
-Ext.reg('modx-window-policy-import',MODx.window.ImportPolicy);
+Ext.extend(MODx.window.ImportPolicy, MODx.Window);
+Ext.reg('modx-window-policy-import', MODx.window.ImportPolicy);
diff --git a/manager/assets/modext/widgets/security/modx.grid.access.policy.template.js b/manager/assets/modext/widgets/security/modx.grid.access.policy.template.js
index 22d1f78c8a5..b8f383539d4 100644
--- a/manager/assets/modext/widgets/security/modx.grid.access.policy.template.js
+++ b/manager/assets/modext/widgets/security/modx.grid.access.policy.template.js
@@ -8,30 +8,33 @@
*/
MODx.panel.AccessPolicyTemplates = function(config) {
config = config || {};
- Ext.applyIf(config,{
- id: 'modx-panel-access-policy-templates'
- ,bodyStyle: ''
- ,defaults: { collapsible: false ,autoHeight: true }
- ,items: [{
- html: _('policies')
- ,id: 'modx-policy-templates-header'
- ,xtype: 'modx-header'
- },{
- layout: 'form'
- ,bodyStyle: 'padding: 15px'
- ,items: [{
- html: ''+_('policy_templates.intro_msg')+'
'
- ,border: false
- },{
- xtype: 'modx-grid-access-policy-templates'
- ,preventRender: true
+ Ext.applyIf(config, {
+ id: 'modx-panel-access-policy-templates',
+ bodyStyle: '',
+ defaults: {
+ collapsible: false,
+ autoHeight: true
+ },
+ items: [{
+ html: _('policies'),
+ id: 'modx-policy-templates-header',
+ xtype: 'modx-header'
+ }, {
+ layout: 'form',
+ bodyStyle: 'padding: 15px',
+ items: [{
+ html: '' + _('policy_templates.intro_msg') + '
',
+ border: false
+ }, {
+ xtype: 'modx-grid-access-policy-templates',
+ preventRender: true
}]
}]
});
- MODx.panel.AccessPolicyTemplates.superclass.constructor.call(this,config);
+ MODx.panel.AccessPolicyTemplates.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.panel.AccessPolicyTemplates,MODx.FormPanel);
-Ext.reg('modx-panel-access-policy-templates',MODx.panel.AccessPolicyTemplates);
+Ext.extend(MODx.panel.AccessPolicyTemplates, MODx.FormPanel);
+Ext.reg('modx-panel-access-policy-templates', MODx.panel.AccessPolicyTemplates);
/**
* Loads a grid of modAccessPolicyTemplates.
@@ -44,213 +47,315 @@ Ext.reg('modx-panel-access-policy-templates',MODx.panel.AccessPolicyTemplates);
MODx.grid.AccessPolicyTemplate = function(config) {
config = config || {};
this.sm = new Ext.grid.CheckboxSelectionModel();
- Ext.applyIf(config,{
- id: 'modx-grid-access-policy-template'
- ,url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ id: 'modx-grid-access-policy-template',
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Security/Access/Policy/Template/GetList'
- }
- ,fields: ['id','name','description','description_trans','template_group','template_group_name','total_permissions','policy_count','cls']
- ,paging: true
- ,autosave: true
- ,save_action: 'Security/Access/Policy/Template/UpdateFromGrid'
- ,remoteSort: true
- ,sm: this.sm
- ,columns: [this.sm,{
- header: _('name')
- ,dataIndex: 'name'
- ,width: 200
- ,editor: { xtype: 'textfield' ,allowBlank: false }
- ,sortable: true
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=security/access/policy/template/update&id=' + record.data.id
- });
- }, scope: this }
- },{
- header: _('description')
- ,dataIndex: 'description'
- ,width: 375
- ,editable: false
- ,renderer: function(value, metaData, record) {
+ },
+ fields: [
+ 'id',
+ 'name',
+ 'description',
+ 'description_trans',
+ 'template_group',
+ 'template_group_name',
+ 'total_permissions',
+ 'policy_count',
+ 'cls'
+ ],
+ paging: true,
+ autosave: true,
+ save_action: 'Security/Access/Policy/Template/UpdateFromGrid',
+ remoteSort: true,
+ sm: this.sm,
+ columns: [this.sm, {
+ header: _('name'),
+ dataIndex: 'name',
+ id: 'modx-policy-template--template-name',
+ width: 200,
+ editor: {
+ xtype: 'textfield',
+ allowBlank: false
+ },
+ sortable: true,
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (!MODx.perm.policy_template_save || !MODx.perm.policy_template_edit) {
+ metaData.css = 'editor-disabled';
+ return value;
+ }
+ return this.renderLink(value, {
+ href: '?a=security/access/policy/template/update&id=' + record.data.id,
+ title: _('policy_template_edit')
+ });
+ },
+ scope: this
+ }
+ }, {
+ header: _('description'),
+ dataIndex: 'description',
+ id: 'modx-policy-template--template-description',
+ width: 375,
+ editable: false,
+ renderer: function(value, metaData, record) {
return Ext.util.Format.htmlEncode(record['data']['description_trans']);
+ },
+ sortable: true
+ }, {
+ header: _('template_group'),
+ dataIndex: 'template_group_name',
+ width: 375,
+ sortable: true
+ }, {
+ header: _('policy_count'),
+ dataIndex: 'policy_count',
+ width: 100,
+ align: 'center',
+ editable: false,
+ sortable: true
+ }, {
+ header: _('permissions'),
+ dataIndex: 'total_permissions',
+ width: 100,
+ align: 'center',
+ editable: false,
+ sortable: true
+ }],
+ tbar: [{
+ text: _('create'),
+ cls: 'primary-button',
+ scope: this,
+ handler: this.createPolicyTemplate,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
}
- ,sortable: true
- },{
- header: _('template_group')
- ,dataIndex: 'template_group_name'
- ,width: 375
- ,sortable: true
- },{
- header: _('policy_count')
- ,dataIndex: 'policy_count'
- ,width: 100
- ,editable: false
- ,sortable: true
- },{
- header: _('permissions')
- ,dataIndex: 'total_permissions'
- ,width: 100
- ,editable: false
- ,sortable: true
- }]
- ,tbar: [{
- text: _('create')
- ,cls:'primary-button'
- ,scope: this
- ,handler: this.createPolicyTemplate
- },{
- text: _('import')
- ,scope: this
- ,handler: this.importPolicyTemplate
- },{
- text: _('bulk_actions')
- ,menu: [{
- text: _('policy_remove_multiple')
- ,handler: this.removeSelected
- ,scope: this
- }]
- },'->',{
- xtype: 'textfield'
- ,name: 'search'
- ,id: 'modx-policy-template-search'
- ,cls: 'x-form-filter'
- ,emptyText: _('search_ellipsis')
- ,listeners: {
- 'change': {fn: this.search, scope: this}
- ,'render': {fn: function(cmp) {
- new Ext.KeyMap(cmp.getEl(), {
- key: Ext.EventObject.ENTER
- ,fn: function() {
- this.fireEvent('change',this.getValue());
- this.blur();
- return true;}
- ,scope: cmp
- });
- },scope:this}
+ }, {
+ text: _('import'),
+ scope: this,
+ handler: this.importPolicyTemplate,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
}
- },{
- xtype: 'button'
- ,id: 'modx-sacpoltemp-filter-clear'
- ,cls: 'x-form-filter-clear'
- ,text: _('filter_clear')
- ,listeners: {
- 'click': {fn: this.clearFilter, scope: this},
- 'mouseout': { fn: function(evt){
- this.removeClass('x-btn-focus');
+ }, {
+ text: _('bulk_actions'),
+ menu: [{
+ text: _('policy_template_remove_multiple'),
+ itemId: 'modx-policy-template--bulk-menu-opt-remove',
+ handler: this.removeSelected,
+ scope: this
+ }],
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanDelete) {
+ btn.hide();
+ }
+ },
+ scope: this
+ },
+ click: {
+ fn: function(btn) {
+ const removableItems = this.getRemovableItemsFromSelection('int'),
+ menuOptRemove = btn.menu.getComponent('modx-policy-template--bulk-menu-opt-remove')
+ ;
+ if (!removableItems) {
+ menuOptRemove.disable();
+ } else {
+ menuOptRemove.enable();
+ }
+ },
+ scope: this
}
+ }
+ }, '->', {
+ xtype: 'textfield',
+ name: 'search',
+ id: 'modx-policy-template-search',
+ cls: 'x-form-filter',
+ emptyText: _('search_ellipsis'),
+ listeners: {
+ 'change': {
+ fn: this.search,
+ scope: this
+ },
+ 'render': {
+ fn: function(cmp) {
+ new Ext.KeyMap(cmp.getEl(), {
+ key: Ext.EventObject.ENTER,
+ fn: function() {
+ this.fireEvent('change', this.getValue());
+ this.blur();
+ return true;
+ },
+ scope: cmp
+ });
+ },
+ scope: this
+ }
+ }
+ }, {
+ xtype: 'button',
+ id: 'modx-sacpoltemp-filter-clear',
+ cls: 'x-form-filter-clear',
+ text: _('filter_clear'),
+ listeners: {
+ 'click': {
+ fn: this.clearFilter,
+ scope: this
+ },
+ 'mouseout': {
+ fn: function(evt) {
+ this.removeClass('x-btn-focus');
+ }
}
}
}]
});
- MODx.grid.AccessPolicyTemplate.superclass.constructor.call(this,config);
-};
-Ext.extend(MODx.grid.AccessPolicyTemplate,MODx.grid.Grid,{
- getMenu: function() {
- var r = this.getSelectionModel().getSelected();
- var p = r.data.cls;
+ MODx.grid.AccessPolicyTemplate.superclass.constructor.call(this, config);
- var m = [];
+ // this.protectedDataIndex = 'id';
+ // this.protectedIdentifiers = [1, 3];
+ this.gridMenuActions = ['edit', 'delete', 'duplicate', 'export'];
+
+ this.setUserCanEdit(['policy_template_save', 'policy_template_edit']);
+ this.setUserCanCreate(['policy_template_save', 'policy_template_new']);
+ this.setUserCanDelete(['policy_template_delete']);
+ this.setShowActionsMenu();
+
+ this.on('render', function() {
+ this.setEditableColumnAccess(
+ ['modx-policy-template--template-name', 'modx-policy-template--template-description']
+ );
+ });
+};
+Ext.extend(MODx.grid.AccessPolicyTemplate, MODx.grid.Grid, {
- if (this.getSelectionModel().getCount() > 1) {
+ getMenu: function() {
+ const rowData = this.getSelectionModel().getSelected().data,
+ m = []
+ ;
+ if (this.userCanEdit) {
m.push({
- text: _('policy_template_remove_multiple')
- ,handler: this.removeSelected
+ text: _('edit'),
+ handler: this.editPolicyTemplate
});
- } else {
- if (p.indexOf('pedit') !== -1) {
- m.push({
- text: _('edit')
- ,handler: this.editPolicyTemplate
- });
- m.push({
- text: _('duplicate')
- ,handler: this.confirm.createDelegate(this,["Security/Access/Policy/Template/Duplicate","policy_template_duplicate_confirm"])
- });
- }
- if (m.length > 0) { m.push('-'); }
+ }
+ if (this.userCanCreate) {
m.push({
- text: _('policy_template_export')
- ,handler: this.exportPolicyTemplate
+ text: _('duplicate'),
+ handler: this.confirm.createDelegate(
+ this, ["Security/Access/Policy/Template/Duplicate", "policy_template_duplicate_confirm"]
+ )
});
-
- if (p.indexOf('premove') !== -1) {
- if (m.length > 0) m.push('-');
- m.push({
- text: _('delete'),
- handler: this.removePolicyTemplate
- });
+ }
+ if (m.length > 0) {
+ m.push('-');
+ }
+ m.push({
+ text: _('policy_template_export'),
+ handler: this.exportPolicyTemplate
+ });
+ if (this.userCanDelete) {
+ if (m.length > 0) {
+ m.push('-');
}
+ m.push({
+ text: _('delete'),
+ handler: this.removePolicyTemplate
+ });
}
-
if (m.length > 0) {
this.addContextMenuItem(m);
}
- }
+ },
- ,createPolicyTemplate: function(btn,e) {
+ createPolicyTemplate: function(btn, e) {
var r = this.menu.record;
if (!this.windows.aptc) {
this.windows.aptc = MODx.load({
- xtype: 'modx-window-access-policy-template-create'
- ,record: r
- ,plugin: this.config.plugin
- ,listeners: {
- 'success': {fn:function(r) {
- this.refresh();
- },scope:this}
+ xtype: 'modx-window-access-policy-template-create',
+ record: r,
+ plugin: this.config.plugin,
+ listeners: {
+ success: {
+ fn: function(r) {
+ this.refresh();
+ },
+ scope: this
+ }
}
});
}
this.windows.aptc.reset();
this.windows.aptc.show(e.target);
- }
+ },
- ,importPolicyTemplate: function(btn,e) {
+ importPolicyTemplate: function(btn, e) {
var r = {};
if (!this.windows.importPolicyTemplate) {
this.windows.importPolicyTemplate = MODx.load({
- xtype: 'modx-window-policy-template-import'
- ,record: r
- ,listeners: {
- 'success': {fn:function(o) {
- this.refresh();
- },scope:this}
+ xtype: 'modx-window-policy-template-import',
+ record: r,
+ listeners: {
+ success: {
+ fn: function(o) {
+ this.refresh();
+ },
+ scope: this
+ }
}
});
}
this.windows.importPolicyTemplate.reset();
this.windows.importPolicyTemplate.setValues(r);
this.windows.importPolicyTemplate.show(e.target);
- }
+ },
- ,exportPolicyTemplate: function(btn,e) {
+ exportPolicyTemplate: function(btn, e) {
var id = this.menu.record.id;
MODx.Ajax.request({
- url: this.config.url
- ,params: {
- action: 'Security/Access/Policy/Template/Export'
- ,id: id
- }
- ,listeners: {
- 'success': {fn:function(r) {
- location.href = this.config.url+'?action=Security/Access/Policy/Template/Export&download=1&id='+id+'&HTTP_MODAUTH='+MODx.siteId;
- },scope:this}
+ url: this.config.url,
+ params: {
+ action: 'Security/Access/Policy/Template/Export',
+ id: id
+ },
+ listeners: {
+ success: {
+ fn: function(r) {
+ location.href = this.config.url + '?action=Security/Access/Policy/Template/Export&download=1&id=' + id + '&HTTP_MODAUTH=' + MODx.siteId;
+ },
+ scope: this
+ }
}
});
- }
+ },
- ,editPolicyTemplate: function(itm,e) {
- MODx.loadPage('security/access/policy/template/update', 'id='+this.menu.record.id);
- }
+ editPolicyTemplate: function(itm, e) {
+ MODx.loadPage('security/access/policy/template/update', 'id=' + this.menu.record.id);
+ },
- ,removeSelected: function() {
+ removeSelected: function() {
var cs = this.getSelectedAsList();
if (cs === false) return false;
var store = this.getStore();
var policiesCount = 0;
- cs.split(',').forEach(function(item){
+ cs.split(',').forEach(function(item) {
const record = store.getById(item);
if (record) {
@@ -260,29 +365,36 @@ Ext.extend(MODx.grid.AccessPolicyTemplate,MODx.grid.Grid,{
})
MODx.msg.confirm({
- title: _('policy_template_remove_multiple')
- ,text: policiesCount ? _('policy_template_remove_multiple_confirm_in_use', {count: policiesCount}) : _('policy_template_remove_multiple_confirm')
- ,url: this.config.url
- ,params: {
- action: 'Security/Access/Policy/Template/RemoveMultiple'
- ,templates: cs
- }
- ,listeners: {
- 'success': {fn:function(r) {
- this.getSelectionModel().clearSelections(true);
- this.refresh();
- },scope:this}
+ title: _('policy_template_remove_multiple'),
+ text: policiesCount ? _('policy_template_remove_multiple_confirm_in_use', {
+ count: policiesCount
+ }) : _('policy_template_remove_multiple_confirm'),
+ url: this.config.url,
+ params: {
+ action: 'Security/Access/Policy/Template/RemoveMultiple',
+ templates: cs
+ },
+ listeners: {
+ success: {
+ fn: function(r) {
+ this.getSelectionModel().clearSelections(true);
+ this.refresh();
+ },
+ scope: this
+ }
}
});
return true;
- }
+ },
- ,removePolicyTemplate: function() {
+ removePolicyTemplate: function() {
if (!this.menu.record) return;
MODx.msg.confirm({
title: _('warning'),
- text: parseInt(this.menu.record.policy_count) ? _('policy_template_remove_confirm_in_use', {count: this.menu.record.policy_count}) : _('policy_template_remove_confirm'),
+ text: parseInt(this.menu.record.policy_count) ? _('policy_template_remove_confirm_in_use', {
+ count: this.menu.record.policy_count
+ }) : _('policy_template_remove_confirm'),
url: this.config.url,
params: {
action: 'Security/Access/Policy/Template/Remove',
@@ -291,28 +403,29 @@ Ext.extend(MODx.grid.AccessPolicyTemplate,MODx.grid.Grid,{
listeners: {
success: {
fn: this.refresh,
- scope:this
+ scope: this
}
}
});
- }
+ },
- ,search: function(tf,newValue,oldValue) {
+ search: function(tf, newValue, oldValue) {
var nv = newValue || tf;
this.getStore().baseParams.query = Ext.isEmpty(nv) || Ext.isObject(nv) ? '' : nv;
this.getBottomToolbar().changePage(1);
return true;
- }
+ },
- ,clearFilter: function() {
+ clearFilter: function() {
this.getStore().baseParams = {
action: 'Security/Access/Policy/Template/GetList'
};
Ext.getCmp('modx-policy-template-search').reset();
this.getBottomToolbar().changePage(1);
}
+
});
-Ext.reg('modx-grid-access-policy-templates',MODx.grid.AccessPolicyTemplate);
+Ext.reg('modx-grid-access-policy-templates', MODx.grid.AccessPolicyTemplate);
/**
* Generates a window for creating Access Policies.
@@ -324,53 +437,56 @@ Ext.reg('modx-grid-access-policy-templates',MODx.grid.AccessPolicyTemplate);
*/
MODx.window.CreateAccessPolicyTemplate = function(config) {
config = config || {};
- this.ident = config.ident || 'cacpt'+Ext.id();
- Ext.applyIf(config,{
- title: _('create')
- ,url: MODx.config.connector_url
- ,action: 'Security/Access/Policy/Template/Create'
- ,fields: [{
- fieldLabel: _('name')
- ,name: 'name'
- ,id: 'modx-'+this.ident+'-name'
- ,xtype: 'textfield'
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-name'
- ,html: _('policy_template_desc_name')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('template_group')
- ,name: 'template_group'
- ,id: 'modx-'+this.ident+'-template-group'
- ,xtype: 'modx-combo-access-policy-template-group'
- ,anchor: '100%'
- ,value: 1
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-template-group'
- ,html: _('policy_template_desc_template_group')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('description')
- ,name: 'description'
- ,id: 'modx-'+this.ident+'-description'
- ,xtype: 'textarea'
- ,anchor: '100%'
- ,height: 50
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-description'
- ,html: _('policy_template_desc_description')
- ,cls: 'desc-under'
- }]
- ,keys: []
+ this.ident = config.ident || 'cacpt' + Ext.id();
+ Ext.applyIf(config, {
+ title: _('create'),
+ url: MODx.config.connector_url,
+ action: 'Security/Access/Policy/Template/Create',
+ fields: [{
+ fieldLabel: _('name'),
+ name: 'name',
+ id: 'modx-' + this.ident + '-name',
+ xtype: 'textfield',
+ anchor: '100%',
+ allowBlank: false,
+ blankText: _('policy_template_err_name_ns')
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-name',
+ html: _('policy_template_desc_name'),
+ cls: 'desc-under'
+ }, {
+ fieldLabel: _('template_group'),
+ name: 'template_group',
+ id: 'modx-' + this.ident + '-template-group',
+ xtype: 'modx-combo-access-policy-template-group',
+ anchor: '100%',
+ value: 1,
+ blankText: _('policy_template_group_err_ns')
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-template-group',
+ html: _('policy_template_desc_template_group'),
+ cls: 'desc-under'
+ }, {
+ fieldLabel: _('description'),
+ name: 'description',
+ id: 'modx-' + this.ident + '-description',
+ xtype: 'textarea',
+ anchor: '100%',
+ height: 50
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-description',
+ html: _('policy_template_desc_description'),
+ cls: 'desc-under'
+ }],
+ keys: []
});
- MODx.window.CreateAccessPolicyTemplate.superclass.constructor.call(this,config);
+ MODx.window.CreateAccessPolicyTemplate.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.CreateAccessPolicyTemplate,MODx.Window);
-Ext.reg('modx-window-access-policy-template-create',MODx.window.CreateAccessPolicyTemplate);
+Ext.extend(MODx.window.CreateAccessPolicyTemplate, MODx.Window);
+Ext.reg('modx-window-access-policy-template-create', MODx.window.CreateAccessPolicyTemplate);
/**
* @class MODx.window.ImportPolicyTemplate
@@ -380,29 +496,29 @@ Ext.reg('modx-window-access-policy-template-create',MODx.window.CreateAccessPoli
*/
MODx.window.ImportPolicyTemplate = function(config) {
config = config || {};
- this.ident = config.ident || 'imppt-'+Ext.id();
- Ext.applyIf(config,{
- title: _('policy_template_import')
- ,id: 'modx-window-policy-template-import'
- ,url: MODx.config.connector_url
- ,action: 'Security/Access/Policy/Template/Import'
- ,fileUpload: true
- ,saveBtnText: _('import')
- ,fields: [{
- html: _('policy_template_import_msg')
- ,id: this.ident+'-desc'
- ,xtype: 'modx-description'
- ,style: 'margin-bottom: 10px;'
- },{
- xtype: 'fileuploadfield'
- ,fieldLabel: _('file')
- ,buttonText: _('upload.buttons.upload')
- ,name: 'file'
- ,id: this.ident+'-file'
- ,anchor: '100%'
+ this.ident = config.ident || 'imppt-' + Ext.id();
+ Ext.applyIf(config, {
+ title: _('policy_template_import'),
+ id: 'modx-window-policy-template-import',
+ url: MODx.config.connector_url,
+ action: 'Security/Access/Policy/Template/Import',
+ fileUpload: true,
+ saveBtnText: _('import'),
+ fields: [{
+ html: _('policy_template_import_msg'),
+ id: this.ident + '-desc',
+ xtype: 'modx-description',
+ style: 'margin-bottom: 10px;'
+ }, {
+ xtype: 'fileuploadfield',
+ fieldLabel: _('file'),
+ buttonText: _('upload.buttons.upload'),
+ name: 'file',
+ id: this.ident + '-file',
+ anchor: '100%'
}]
});
- MODx.window.ImportPolicyTemplate.superclass.constructor.call(this,config);
+ MODx.window.ImportPolicyTemplate.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.ImportPolicyTemplate,MODx.Window);
-Ext.reg('modx-window-policy-template-import',MODx.window.ImportPolicyTemplate);
+Ext.extend(MODx.window.ImportPolicyTemplate, MODx.Window);
+Ext.reg('modx-window-policy-template-import', MODx.window.ImportPolicyTemplate);
diff --git a/manager/assets/modext/widgets/security/modx.grid.role.js b/manager/assets/modext/widgets/security/modx.grid.role.js
index ac47fbf628b..0ec817b0162 100644
--- a/manager/assets/modext/widgets/security/modx.grid.role.js
+++ b/manager/assets/modext/widgets/security/modx.grid.role.js
@@ -1,5 +1,5 @@
/**
- * Loads a grid of roles.
+ * Loads a grid of Roles.
*
* @class MODx.grid.Role
* @extends MODx.grid.Grid
@@ -9,81 +9,195 @@
*/
MODx.grid.Role = function(config) {
config = config || {};
- Ext.applyIf(config,{
- title: _('roles')
- ,id: 'modx-grid-role'
- ,url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ title: _('roles'),
+ id: 'modx-grid-role',
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Security/Role/GetList'
+ },
+ fields: [
+ 'id',
+ 'name',
+ 'description',
+ 'authority',
+ 'creator'
+ ],
+ paging: true,
+ autosave: true,
+ save_action: 'Security/Role/UpdateFromGrid',
+ stateful: true,
+ stateId: 'modx-grid-role-state',
+ columns: [{
+ header: _('id'),
+ dataIndex: 'id',
+ width: 50,
+ sortable: true
+ }, {
+ header: _('name'),
+ dataIndex: 'name',
+ id: 'modx-role--name',
+ width: 150,
+ sortable: true,
+ editor: {
+ xtype: 'textfield',
+ allowBlank: false,
+ blankText: _('role_err_ns_name'),
+ validationEvent: 'change',
+ validator: function(value) {
+ const grid = Ext.getCmp('modx-grid-role'),
+ reserved = this.gridEditor.record.json.reserved.name
+ ;
+ if (grid.valueIsReserved(reserved, value)) {
+ const msg = _('role_err_name_reserved', { reservedName: value });
+ Ext.Msg.alert(_('error'), msg);
+ return false;
+ } else {
+ return true;
+ }
+ }
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (!this.userCanEdit || record.json.isProtected) {
+ metaData.css = 'editor-disabled';
+ }
+ value = record.json.isProtected ? record.json.name_trans : value ;
+ return Ext.util.Format.htmlEncode(value);
+ },
+ scope: this
+ }
+ }, {
+ header: _('description'),
+ dataIndex: 'description',
+ id: 'modx-role--description',
+ width: 350,
+ editor: {
+ xtype: 'textarea'
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (!this.userCanEdit || record.json.isProtected) {
+ metaData.css = 'editor-disabled';
+ }
+ value = record.json.isProtected ? record.json.description_trans : value ;
+ return Ext.util.Format.htmlEncode(value);
+ },
+ scope: this
+ }
+ }, {
+ header: _('creator'),
+ dataIndex: 'creator',
+ id: 'modx-role--creator',
+ width: 70,
+ align: 'center',
+ sortable: true
+ }, {
+ header: _('authority'),
+ dataIndex: 'authority',
+ id: 'modx-role--authority',
+ width: 60,
+ align: 'center',
+ sortable: true,
+ editor: {
+ xtype: 'numberfield',
+ allowNegative: false,
+ allowDecimals: false,
+ allowBlank: false,
+ blankText: _('role_err_ns_authority'),
+ maxValue: 9999
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (!this.userCanEdit || record.json.isProtected) {
+ metaData.css = 'editor-disabled';
+ }
+ return value;
+ },
+ scope: this
+ }
+ }],
+ tbar: [{
+ text: _('create'),
+ cls: 'primary-button',
+ handler: this.createRole,
+ scope: this,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
+ }
+ }],
+ viewConfig: {
+ forceFit: true,
+ scrollOffset: 0,
+ getRowClass: function(record, index, rowParams, store) {
+ // Adds the returned class to the row container's css classes
+ return record.json.isProtected ? 'modx-protected-row' : '';
+ }
}
- ,fields: ['id','name','description','authority','perm']
- ,paging: true
- ,autosave: true
- ,save_action: 'Security/Role/UpdateFromGrid'
- ,columns: [{
- header: _('id')
- ,dataIndex: 'id'
- ,width: 50
- ,sortable: true
- },{
- header: _('name')
- ,dataIndex: 'name'
- ,width: 150
- ,sortable: true
- ,editor: { xtype: 'textfield' }
- },{
- header: _('description')
- ,dataIndex: 'description'
- ,width: 350
- ,editor: { xtype: 'textarea' }
- },{
- header: _('authority')
- ,dataIndex: 'authority'
- ,width: 60
- ,editor: { xtype: 'textfield' }
- ,sortable: true
- }]
- ,tbar: [{
- text: _('create')
- ,cls:'primary-button'
- ,handler: this.createRole
- ,scope: this
- }]
});
- MODx.grid.Role.superclass.constructor.call(this,config);
- this.on('beforeedit',this.checkEditable,this);
+ MODx.grid.Role.superclass.constructor.call(this, config);
+
+ this.protectedDataIndex = 'name';
+ this.protectedIdentifiers = ['Super User', 'Member'];
+ this.gridMenuActions = ['delete'];
+
+ this.setUserCanEdit(['save_role', 'edit_role']);
+ this.setUserCanCreate(['save_role', 'new_role']);
+ this.setUserCanDelete(['delete_role']);
+ this.setShowActionsMenu();
+
+ this.on({
+ render: function() {
+ this.setEditableColumnAccess(
+ ['modx-role--name', 'modx-role--description', 'modx-role--authority']
+ );
+ },
+ beforeedit: function(e) {
+ if (e.record.json.isProtected) {
+ return false;
+ }
+ }
+ });
+
};
-Ext.extend(MODx.grid.Role,MODx.grid.Grid,{
- checkEditable: function(o) {
- var p = o.record.data.perm || '';
- return p.indexOf('edit') != -1;
- }
+Ext.extend(MODx.grid.Role, MODx.grid.Grid, {
- ,getMenu: function() {
- var r = this.getSelectionModel().getSelected();
- var p = r.data.perm || '';
- var m = [];
- if (p.indexOf('remove') != -1) {
+ getMenu: function() {
+ const record = this.getSelectionModel().getSelected(),
+ m = []
+ ;
+ if (this.userCanDelete && !record.json.isProtected) {
m.push({
- text: _('delete')
- ,handler: this.remove.createDelegate(this,['role_remove_confirm', 'Security/Role/Remove'])
+ text: _('delete'),
+ handler: this.remove.createDelegate(this, ['role_remove_confirm', 'Security/Role/Remove'])
});
}
return m;
- }
+ },
- ,createRole: function(btn,e) {
- this.loadWindow(btn,e,{
- xtype: 'modx-window-role-create'
- ,listeners: {
- 'success': {fn: function() {
- this.refresh();
- },scope:this}
+ createRole: function(btn, e) {
+ this.loadWindow(btn, e, {
+ xtype: 'modx-window-role-create',
+ listeners: {
+ success: {
+ fn: function() {
+ this.refresh();
+ },
+ scope: this
+ }
}
});
}
+
});
-Ext.reg('modx-grid-role',MODx.grid.Role);
+Ext.reg('modx-grid-role', MODx.grid.Role);
/**
* @class MODx.window.CreateRole
@@ -93,53 +207,56 @@ Ext.reg('modx-grid-role',MODx.grid.Role);
*/
MODx.window.CreateRole = function(config) {
config = config || {};
- this.ident = config.ident || 'crole'+Ext.id();
- Ext.applyIf(config,{
- title: _('create')
- ,url: MODx.config.connector_url
- ,action: 'Security/Role/Create'
- ,fields: [{
- name: 'name'
- ,fieldLabel: _('name')
- ,id: 'modx-'+this.ident+'-name'
- ,xtype: 'textfield'
- ,allowBlank: false
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-name'
- ,html: _('role_desc_name')
- ,cls: 'desc-under'
- },{
- name: 'authority'
- ,fieldLabel: _('authority')
- ,xtype: 'textfield'
- ,id: 'modx-'+this.ident+'-authority'
- ,allowBlank: false
- ,allowNegative: false
- ,value: 0
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-authority'
- ,html: _('role_desc_authority')
- ,cls: 'desc-under'
- },{
- name: 'description'
- ,fieldLabel: _('description')
- ,id: 'modx-'+this.ident+'-description'
- ,xtype: 'textarea'
- ,anchor: '100%'
- ,grow: true
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-description'
- ,html: _('role_desc_description')
- ,cls: 'desc-under'
- }]
- ,keys: []
+ this.ident = config.ident || 'crole' + Ext.id();
+ Ext.applyIf(config, {
+ title: _('create'),
+ url: MODx.config.connector_url,
+ action: 'Security/Role/Create',
+ fields: [{
+ name: 'name',
+ fieldLabel: _('name'),
+ id: 'modx-' + this.ident + '-name',
+ xtype: 'textfield',
+ allowBlank: false,
+ blankText: _('role_err_ns_name'),
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-name',
+ html: _('role_desc_name'),
+ cls: 'desc-under'
+ }, {
+ name: 'authority',
+ fieldLabel: _('authority'),
+ xtype: 'numberfield',
+ id: 'modx-' + this.ident + '-authority',
+ allowBlank: false,
+ blankText: _('role_err_ns_authority'),
+ allowNegative: false,
+ value: 0,
+ maxValue: 9999,
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-authority',
+ html: _('role_desc_authority'),
+ cls: 'desc-under'
+ }, {
+ name: 'description',
+ fieldLabel: _('description'),
+ id: 'modx-' + this.ident + '-description',
+ xtype: 'textarea',
+ anchor: '100%',
+ grow: true
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-description',
+ html: _('role_desc_description'),
+ cls: 'desc-under'
+ }],
+ keys: []
});
- MODx.window.CreateRole.superclass.constructor.call(this,config);
+ MODx.window.CreateRole.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.CreateRole,MODx.Window);
-Ext.reg('modx-window-role-create',MODx.window.CreateRole);
+Ext.extend(MODx.window.CreateRole, MODx.Window);
+Ext.reg('modx-window-role-create', MODx.window.CreateRole);
diff --git a/manager/assets/modext/widgets/security/modx.grid.user.group.js b/manager/assets/modext/widgets/security/modx.grid.user.group.js
index 26a56481394..b73ad2b28dc 100644
--- a/manager/assets/modext/widgets/security/modx.grid.user.group.js
+++ b/manager/assets/modext/widgets/security/modx.grid.user.group.js
@@ -20,7 +20,16 @@ MODx.grid.UserGroups = function(config) {
,baseParams: {
action: 'Security/Group/GetList'
}
- ,fields: ['usergroup','name','member','role','rolename','primary_group','rank','user_group_desc']
+ ,fields: [
+ 'usergroup',
+ 'name',
+ 'member',
+ 'role',
+ 'rolename',
+ 'primary_group',
+ 'rank',
+ 'user_group_desc'
+ ]
,cls: 'modx-grid modx-grid-draggable'
,columns: [this.exp,
{
@@ -54,8 +63,8 @@ MODx.grid.UserGroups = function(config) {
,scrollable: true
,targetCfg: {}
,listeners: {
- 'afterrowmove': {fn:this.onAfterRowMove,scope:this}
- ,'beforerowmove': {fn:this.onBeforeRowMove,scope:this}
+ afterrowmove: {fn:this.onAfterRowMove,scope:this}
+ ,beforerowmove: {fn:this.onBeforeRowMove,scope:this}
}
}),
this.exp]
@@ -66,6 +75,9 @@ MODx.grid.UserGroups = function(config) {
}]
});
MODx.grid.UserGroups.superclass.constructor.call(this,config);
+
+ console.log('MODx.grid.UserGroups loading...');
+
this.userRecord = new Ext.data.Record.create(['usergroup','name','member','role','rolename','primary_group']);
this.addEvents('beforeUpdateRole','afterUpdateRole','beforeAddGroup','afterAddGroup','beforeReorderGroup','afterReorderGroup');
};
diff --git a/manager/assets/modext/widgets/security/modx.grid.user.group.settings.js b/manager/assets/modext/widgets/security/modx.grid.user.group.settings.js
index bc441fbb53e..1302779287d 100644
--- a/manager/assets/modext/widgets/security/modx.grid.user.group.settings.js
+++ b/manager/assets/modext/widgets/security/modx.grid.user.group.settings.js
@@ -36,6 +36,7 @@ MODx.grid.GroupSettings = function(config) {
}]
});
MODx.grid.GroupSettings.superclass.constructor.call(this,config);
+ console.log(`MODx.grid.GroupSettings called`);
};
Ext.extend(MODx.grid.GroupSettings,MODx.grid.SettingsGrid, {
_showMenu: function(g,ri,e) {
diff --git a/manager/assets/modext/widgets/security/modx.panel.user.group.js b/manager/assets/modext/widgets/security/modx.panel.user.group.js
index e64dfe9b5bf..964458daa39 100644
--- a/manager/assets/modext/widgets/security/modx.panel.user.group.js
+++ b/manager/assets/modext/widgets/security/modx.panel.user.group.js
@@ -6,248 +6,305 @@
*/
MODx.panel.UserGroup = function(config) {
config = config || {};
- Ext.applyIf(config,{
- id: 'modx-panel-user-group'
- ,cls: 'container form-with-labels'
- ,url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ id: 'modx-panel-user-group',
+ cls: 'container form-with-labels',
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Security/Group/Update'
- }
- ,defaults: { collapsible: false ,autoHeight: true }
- ,items: [this.getPageHeader(config),{
- xtype: 'modx-tabs'
- ,defaults: {
- autoHeight: true
- ,border: true
- ,bodyCssClass: 'tab-panel-wrapper'
- ,hideMode: 'offsets'
- }
- ,id: 'modx-usergroup-tabs'
- ,forceLayout: true
- ,deferredRender: false
- ,stateful: true
- ,stateId: 'modx-usergroup-tabpanel'
- ,stateEvents: ['tabchange']
- ,getState:function() {
- return {activeTab:this.items.indexOf(this.getActiveTab())};
- }
- ,items: [{
- title: _('general_information')
- ,defaults: {
- border: false
- ,msgTarget: 'side'
- }
- ,layout: 'form'
- ,itemId: 'modx-usergroup-general-panel'
- ,labelAlign: 'top'
- ,labelSeparator: ''
- ,items: [{
- xtype: 'panel'
- ,border: false
- ,cls: 'main-wrapper'
- ,layout: 'form'
- ,items: [{
- layout: 'column'
- ,border: false
- ,defaults: {
- layout: 'form'
- ,labelAlign: 'top'
- ,labelSeparator: ''
- ,anchor: '100%'
- ,border: false
- }
- ,items: [{
- columnWidth: .6
- ,items: [{
- xtype: 'hidden'
- ,name: 'id'
- ,id: 'modx-usergroup-id'
- ,value: config.record.id
- },{
- name: 'name'
- ,id: 'modx-usergroup-name'
- ,xtype: config.record && (config.record.name === 'Administrator' || config.record.id === 0) ? 'statictextfield' : 'textfield'
- ,fieldLabel: _('name')
- ,allowBlank: false
- ,enableKeyEvents: true
- ,disabled: config.record.id === 0
- ,anchor: '100%'
- ,listeners: {
- 'keyup': {scope:this,fn:function(f,e) {
- Ext.getCmp('modx-header-breadcrumbs').updateHeader(Ext.util.Format.htmlEncode(f.getValue()));
- }}
+ },
+ defaults: {
+ collapsible: false,
+ autoHeight: true
+ },
+ items: [this.getPageHeader(config), {
+ xtype: 'modx-tabs',
+ defaults: {
+ autoHeight: true,
+ border: true,
+ bodyCssClass: 'tab-panel-wrapper',
+ hideMode: 'offsets'
+ },
+ id: 'modx-usergroup-tabs',
+ forceLayout: true,
+ deferredRender: false,
+ stateful: true,
+ stateId: 'modx-usergroup-tabpanel',
+ stateEvents: ['tabchange'],
+ getState: function() {
+ return {
+ activeTab: this.items.indexOf(this.getActiveTab())
+ };
+ },
+ items: [{
+ title: _('general_information'),
+ defaults: {
+ border: false,
+ msgTarget: 'side'
+ },
+ layout: 'form',
+ itemId: 'modx-usergroup-general-panel',
+ labelAlign: 'top',
+ labelSeparator: '',
+ items: [{
+ xtype: 'panel',
+ border: false,
+ cls: 'main-wrapper',
+ layout: 'form',
+ items: [{
+ layout: 'column',
+ border: false,
+ defaults: {
+ layout: 'form',
+ labelAlign: 'top',
+ labelSeparator: '',
+ anchor: '100%',
+ border: false
+ },
+ items: [{
+ columnWidth: .6,
+ items: [{
+ xtype: 'hidden',
+ name: 'id',
+ id: 'modx-usergroup-id',
+ value: config.record.id
+ }, {
+ name: 'name',
+ id: 'modx-usergroup-name',
+ xtype: config.record && (config.record.name === 'Administrator' || config.record.id === 0) ? 'statictextfield' : 'textfield',
+ fieldLabel: _('name'),
+ allowBlank: false,
+ enableKeyEvents: true,
+ disabled: config.record.id === 0,
+ anchor: '100%',
+ listeners: {
+ keyup: {
+ scope: this,
+ fn: function(f, e) {
+ Ext.getCmp('modx-header-breadcrumbs').updateHeader(Ext.util.Format.htmlEncode(f.getValue()));
+ }
+ }
}
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-usergroup-name'
- ,html: _('user_group_desc_name')
- ,cls: 'desc-under'
- },{
- name: 'description'
- ,id: 'modx-usergroup-description'
- ,xtype: 'textarea'
- ,fieldLabel: _('description')
- ,anchor: '100%'
- ,grow: true
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-usergroup-description'
- ,html: _('user_group_desc_description')
- ,cls: 'desc-under'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-usergroup-name',
+ html: _('user_group_desc_name'),
+ cls: 'desc-under'
+ }, {
+ name: 'description',
+ id: 'modx-usergroup-description',
+ xtype: 'textarea',
+ fieldLabel: _('description'),
+ anchor: '100%',
+ grow: true
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-usergroup-description',
+ html: _('user_group_desc_description'),
+ cls: 'desc-under'
}]
- },{
- columnWidth: .4
- ,items: [{
- name: 'parent'
- ,hiddenName: 'parent'
- ,id: 'modx-usergroup-parent'
- ,xtype: 'modx-combo-usergroup'
- ,fieldLabel: _('user_group_parent')
- ,editable: false
- ,anchor: '100%'
- ,disabled: config.record.id === 0
- ,baseParams: {
- action: 'Security/Group/GetList'
- ,addNone: true
- ,exclude: config.record.id
+ }, {
+ columnWidth: .4,
+ items: [{
+ name: 'parent',
+ hiddenName: 'parent',
+ id: 'modx-usergroup-parent',
+ xtype: 'modx-combo-usergroup',
+ fieldLabel: _('user_group_parent'),
+ editable: false,
+ anchor: '100%',
+ disabled: config.record.id === 0,
+ baseParams: {
+ action: 'Security/Group/GetList',
+ addNone: true,
+ exclude: config.record.id
}
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-usergroup-parent'
- ,html: _('user_group_desc_parent')
- ,cls: 'desc-under'
- },{
- name: 'dashboard'
- ,id: 'modx-usergroup-dashboard'
- ,xtype: 'modx-combo-dashboard'
- ,fieldLabel: _('dashboard')
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-usergroup-dashboard'
- ,html: _('user_group_desc_dashboard')
- ,cls: 'desc-under'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-usergroup-parent',
+ html: _('user_group_desc_parent'),
+ cls: 'desc-under'
+ }, {
+ name: 'dashboard',
+ id: 'modx-usergroup-dashboard',
+ xtype: 'modx-combo-dashboard',
+ fieldLabel: _('dashboard'),
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-usergroup-dashboard',
+ html: _('user_group_desc_dashboard'),
+ cls: 'desc-under'
}]
}]
}]
}]
- },{
- title: _('access_permissions')
- ,itemId: 'modx-usergroup-permissions-panel'
- ,items: [{
- xtype: 'modx-vtabs'
- ,items: [{
- title: _('user_group_context_access')
- ,itemId: 'user-group-context-access'
- // ,forceLayout: true
- ,hideMode: 'offsets'
- ,layout: 'form'
- ,items: [{
- html: ''+_('user_group_context_access_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-user-group-context'
- ,preventRender: true
- ,usergroup: config.record.id
- ,autoHeight: true
- ,cls: 'main-wrapper'
- ,listeners: {
- 'afterRemoveRow': {fn:this.markDirty,scope:this}
- ,'afteredit': {fn:this.markDirty,scope:this}
- ,'updateAcl': {fn:this.markDirty,scope:this}
- ,'createAcl': {fn:this.markDirty,scope:this}
+ }, {
+ title: _('access_permissions'),
+ itemId: 'modx-usergroup-permissions-panel',
+ items: [{
+ xtype: 'modx-vtabs',
+ items: [{
+ title: _('user_group_context_access'),
+ itemId: 'user-group-context-access'
+ // ,forceLayout: true
+ ,
+ hideMode: 'offsets',
+ layout: 'form',
+ items: [{
+ html: '' + _('user_group_context_access_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-user-group-context',
+ preventRender: true,
+ usergroup: config.record.id,
+ autoHeight: true,
+ cls: 'main-wrapper',
+ listeners: {
+ afterRemoveRow: {
+ fn: this.markDirty,
+ scope: this
+ },
+ afteredit: {
+ fn: this.markDirty,
+ scope: this
+ },
+ updateAcl: {
+ fn: this.markDirty,
+ scope: this
+ },
+ createAcl: {
+ fn: this.markDirty,
+ scope: this
+ }
}
}]
- },{
- title: _('user_group_resourcegroup_access')
- ,itemId: 'user-group-resourcegroup-access'
- ,hideMode: 'offsets'
- ,layout: 'form'
- ,items: [{
- html: ''+_('user_group_resourcegroup_access_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-user-group-resource-group'
- ,cls: 'main-wrapper'
- ,preventRender: true
- ,usergroup: config.record.id
- ,autoHeight: true
- ,width: '97%'
- ,listeners: {
- 'afterRemoveRow': {fn:this.markDirty,scope:this}
- ,'afteredit': {fn:this.markDirty,scope:this}
- ,'updateAcl': {fn:this.markDirty,scope:this}
- ,'createAcl': {fn:this.markDirty,scope:this}
+ }, {
+ title: _('user_group_resourcegroup_access'),
+ itemId: 'user-group-resourcegroup-access',
+ hideMode: 'offsets',
+ layout: 'form',
+ items: [{
+ html: '' + _('user_group_resourcegroup_access_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-user-group-resource-group',
+ cls: 'main-wrapper',
+ preventRender: true,
+ usergroup: config.record.id,
+ autoHeight: true,
+ width: '97%',
+ listeners: {
+ afterRemoveRow: {
+ fn: this.markDirty,
+ scope: this
+ },
+ afteredit: {
+ fn: this.markDirty,
+ scope: this
+ },
+ updateAcl: {
+ fn: this.markDirty,
+ scope: this
+ },
+ createAcl: {
+ fn: this.markDirty,
+ scope: this
+ }
}
}]
- },{
- title: _('user_group_category_access')
- ,itemId: 'user-group-category-access'
- ,hideMode: 'offsets'
- ,layout: 'form'
- ,items: [{
- html: ''+_('user_group_category_access_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-user-group-category'
- ,cls: 'main-wrapper'
- ,preventRender: true
- ,usergroup: config.record.id
- ,autoHeight: true
- ,width: '97%'
- ,listeners: {
- 'afterRemoveRow': {fn:this.markDirty,scope:this}
- ,'afteredit': {fn:this.markDirty,scope:this}
- ,'updateAcl': {fn:this.markDirty,scope:this}
- ,'createAcl': {fn:this.markDirty,scope:this}
+ }, {
+ title: _('user_group_category_access'),
+ itemId: 'user-group-category-access',
+ hideMode: 'offsets',
+ layout: 'form',
+ items: [{
+ html: '' + _('user_group_category_access_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-user-group-category',
+ cls: 'main-wrapper',
+ preventRender: true,
+ usergroup: config.record.id,
+ autoHeight: true,
+ width: '97%',
+ listeners: {
+ afterRemoveRow: {
+ fn: this.markDirty,
+ scope: this
+ },
+ afteredit: {
+ fn: this.markDirty,
+ scope: this
+ },
+ updateAcl: {
+ fn: this.markDirty,
+ scope: this
+ },
+ createAcl: {
+ fn: this.markDirty,
+ scope: this
+ }
}
}]
- },{
- title: _('user_group_source_access')
- ,itemId: 'user-group-source-access'
- ,hideMode: 'offsets'
- ,layout: 'form'
- ,items: [{
- html: ''+_('user_group_source_access_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-user-group-source'
- ,cls: 'main-wrapper'
- ,preventRender: true
- ,usergroup: config.record.id
- ,autoHeight: true
- ,width: '97%'
- ,listeners: {
- 'afterRemoveRow': {fn:this.markDirty,scope:this}
- ,'afteredit': {fn:this.markDirty,scope:this}
- ,'updateAcl': {fn:this.markDirty,scope:this}
- ,'createAcl': {fn:this.markDirty,scope:this}
+ }, {
+ title: _('user_group_source_access'),
+ itemId: 'user-group-source-access',
+ hideMode: 'offsets',
+ layout: 'form',
+ items: [{
+ html: '' + _('user_group_source_access_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-user-group-source',
+ cls: 'main-wrapper',
+ preventRender: true,
+ usergroup: config.record.id,
+ autoHeight: true,
+ width: '97%',
+ listeners: {
+ afterRemoveRow: {
+ fn: this.markDirty,
+ scope: this
+ },
+ afteredit: {
+ fn: this.markDirty,
+ scope: this
+ },
+ updateAcl: {
+ fn: this.markDirty,
+ scope: this
+ },
+ createAcl: {
+ fn: this.markDirty,
+ scope: this
+ }
}
}]
- },{
- title: _('user_group_namespace_access')
- ,itemId: 'user-group-namespace-access'
- ,hideMode: 'offsets'
- ,layout: 'form'
- ,items: [{
- html: '' + _('user_group_namespace_access_desc') + '
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-user-group-namespace'
- ,cls: 'main-wrapper'
- ,preventRender: true
- ,usergroup: config.record.id
- ,autoHeight: true
- ,width: '97%'
+ }, {
+ title: _('user_group_namespace_access'),
+ itemId: 'user-group-namespace-access',
+ hideMode: 'offsets',
+ layout: 'form',
+ items: [{
+ html: '' + _('user_group_namespace_access_desc') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-user-group-namespace',
+ cls: 'main-wrapper',
+ preventRender: true,
+ usergroup: config.record.id,
+ autoHeight: true,
+ width: '97%'
}]
- }]
- ,listeners: {
+ }],
+ listeners: {
render: function(vtabPanel) {
- var elCatsPanelKey = vtabPanel.items.keys.indexOf('user-group-category-access'),
- mediaSrcPanelKey = vtabPanel.items.keys.indexOf('user-group-source-access'),
- namespacePanelKey = vtabPanel.items.keys.indexOf('user-group-namespace-access')
- form = Ext.getCmp('modx-panel-user-group').getForm()
- ;
+ const elCatsPanelKey = vtabPanel.items.keys.indexOf('user-group-category-access'),
+ mediaSrcPanelKey = vtabPanel.items.keys.indexOf('user-group-source-access'),
+ namespacePanelKey = vtabPanel.items.keys.indexOf('user-group-namespace-access'),
+ form = Ext.getCmp('modx-panel-user-group').getForm()
+ ;
if (form.record.id === 0) {
vtabPanel.hideTabStripItem(elCatsPanelKey);
vtabPanel.hideTabStripItem(mediaSrcPanelKey);
@@ -256,48 +313,57 @@ MODx.panel.UserGroup = function(config) {
}
}
}]
- },{
- title: _('users')
- ,itemId: 'modx-usergroup-users-panel'
- ,items: [{
- html: ''+_('user_group_user_access_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-user-group-users'
- ,cls: 'main-wrapper'
- ,preventRender: true
- ,usergroup: config.record.id
- ,autoHeight: true
- ,width: '97%'
- ,listeners: {
- 'afterRemoveRow': {fn:this.markDirty,scope:this}
- ,'updateRole': {fn:this.markDirty,scope:this}
- ,'addUser': {fn:this.markDirty,scope:this}
+ }, {
+ title: _('users'),
+ itemId: 'modx-usergroup-users-panel',
+ items: [{
+ html: '' + _('user_group_user_access_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-user-group-users',
+ cls: 'main-wrapper',
+ preventRender: true,
+ usergroup: config.record.id,
+ autoHeight: true,
+ width: '97%',
+ listeners: {
+ afterRemoveRow: {
+ fn: this.markDirty,
+ scope: this
+ },
+ updateRole: {
+ fn: this.markDirty,
+ scope: this
+ },
+ addUser: {
+ fn: this.markDirty,
+ scope: this
+ }
}
}]
- },{
- title: _('settings')
- ,itemId: 'modx-usergroup-settings-panel'
- ,layout: 'form'
- ,items: [{
- html: ''+_('user_group_settings_desc')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-group-settings'
- ,urlFilters: ['namespace', 'area', 'query']
- ,cls: 'main-wrapper'
- ,preventRender: true
- ,group: config.record.id
- ,autoHeight: true
- ,width: '97%'
+ }, {
+ title: _('settings'),
+ itemId: 'modx-usergroup-settings-panel',
+ layout: 'form',
+ items: [{
+ html: '' + _('user_group_settings_desc') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-group-settings',
+ urlFilters: ['namespace', 'area', 'query'],
+ cls: 'main-wrapper',
+ preventRender: true,
+ group: config.record.id,
+ autoHeight: true,
+ width: '97%'
}]
- }]
- ,listeners: {
+ }],
+ listeners: {
render: function(tabPanel) {
- var usersPanelKey = tabPanel.items.keys.indexOf('modx-usergroup-users-panel'),
- settingsPanelKey = tabPanel.items.keys.indexOf('modx-usergroup-settings-panel'),
- form = Ext.getCmp('modx-panel-user-group').getForm()
- ;
+ const usersPanelKey = tabPanel.items.keys.indexOf('modx-usergroup-users-panel'),
+ settingsPanelKey = tabPanel.items.keys.indexOf('modx-usergroup-settings-panel'),
+ form = Ext.getCmp('modx-panel-user-group').getForm()
+ ;
if (form.record.id === 0) {
tabPanel.hideTabStripItem(usersPanelKey);
tabPanel.hideTabStripItem(settingsPanelKey);
@@ -307,19 +373,28 @@ MODx.panel.UserGroup = function(config) {
}
}
}
- }]
- ,useLoadingMask: false
- ,listeners: {
- 'setup': {fn:this.setup,scope:this}
- ,'success': {fn:this.success,scope:this}
- ,'beforeSubmit': {fn:this.beforeSubmit,scope:this}
+ }],
+ useLoadingMask: false,
+ listeners: {
+ setup: {
+ fn: this.setup,
+ scope: this
+ },
+ success: {
+ fn: this.success,
+ scope: this
+ },
+ beforeSubmit: {
+ fn: this.beforeSubmit,
+ scope: this
+ }
}
});
- MODx.panel.UserGroup.superclass.constructor.call(this,config);
+ MODx.panel.UserGroup.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.panel.UserGroup,MODx.FormPanel,{
- initialized: false
- ,setup: function() {
+Ext.extend(MODx.panel.UserGroup, MODx.FormPanel, {
+ initialized: false,
+ setup: function() {
if (this.initialized || this.config.usergroup === '' || this.config.usergroup == undefined) {
this.fireEvent('ready');
return false;
@@ -328,20 +403,20 @@ Ext.extend(MODx.panel.UserGroup,MODx.FormPanel,{
this.getForm().setValues(r);
Ext.getCmp('modx-header-breadcrumbs').updateHeader(Ext.util.Format.htmlEncode(r.name));
- this.fireEvent('ready',r);
+ this.fireEvent('ready', r);
MODx.fireEvent('ready');
this.initialized = true;
- }
- ,beforeSubmit: function(o) {}
- ,success: function(o) {}
- ,getPageHeader: function(config) {
+ },
+ beforeSubmit: function(o) {},
+ success: function(o) {},
+ getPageHeader: function(config) {
return MODx.util.getHeaderBreadCrumbs('modx-user-group-header', [{
text: _('user_group_management'),
href: MODx.getPage('security/permission')
}]);
}
});
-Ext.reg('modx-panel-user-group',MODx.panel.UserGroup);
+Ext.reg('modx-panel-user-group', MODx.panel.UserGroup);
/**
* @class MODx.grid.FCProfileUserGroups
@@ -351,175 +426,274 @@ Ext.reg('modx-panel-user-group',MODx.panel.UserGroup);
*/
MODx.grid.UserGroupUsers = function(config) {
config = config || {};
- Ext.applyIf(config,{
- title: ''
- ,id: 'modx-grid-user-group-users'
- ,url: MODx.config.connector_url
- ,baseParams: {
- action: 'Security/Group/User/GetList'
- ,usergroup: config.usergroup
- }
- ,paging: true
- ,grouping: true
- ,remoteSort: true
- ,groupBy: 'role_name'
- ,singleText: _('user')
- ,pluralText: _('users')
- ,sortBy: 'authority'
- ,sortDir: 'ASC'
- ,fields: ['id','username','role','role_name','authority']
- ,columns: [{
- header: _('username')
- ,dataIndex: 'username'
- ,width: 175
- ,sortable: true
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=security/user/update&id=' + record.data.id
- ,target: '_blank'
- });
- }, scope: this }
- },{
- header: _('role')
- ,dataIndex: 'role_name'
- ,width: 175
- ,sortable: true
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=security/permission'
- ,target: '_blank'
- });
- }, scope: this }
- }]
- ,tbar: [{
- text: _('user_group_update')
- ,cls: 'primary-button'
- ,handler: this.updateUserGroup
- ,hidden: (MODx.perm.usergroup_edit == 0 || config.ownerCt.id != 'modx-tree-panel-usergroup')
- },'->',{
- text: _('user_group_user_add')
- ,cls: 'primary-button'
- ,handler: this.addUser
- ,hidden: MODx.perm.usergroup_user_edit == 0
- },{
- xtype: 'textfield'
- ,id: 'modx-ugu-filter-username'
- ,cls: 'x-form-filter'
- ,listeners: {
- 'change': {fn:this.searchUser,scope:this}
- ,'render': {fn: function(cmp) {
- new Ext.KeyMap(cmp.getEl(), {
- key: Ext.EventObject.ENTER
- ,fn: function() {
- this.fireEvent('change',this.getValue());
- this.blur();
- return true; }
- ,scope: cmp
+ Ext.applyIf(config, {
+ title: '',
+ id: 'modx-grid-user-group-users',
+ url: MODx.config.connector_url,
+ baseParams: {
+ action: 'Security/Group/User/GetList',
+ usergroup: config.usergroup
+ },
+ paging: true,
+ grouping: true,
+ remoteSort: true,
+ groupBy: 'role_name',
+ singleText: _('user'),
+ pluralText: _('users'),
+ sortBy: 'authority',
+ sortDir: 'ASC',
+ fields: [
+ 'id',
+ 'username',
+ 'role',
+ 'role_name',
+ 'authority'
+ ],
+ columns: [{
+ header: _('username'),
+ dataIndex: 'username',
+ width: 175,
+ sortable: true,
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (!this.userCanEditUser) {
+ return value;
+ }
+ return this.renderLink(value, {
+ href: '?a=security/user/update&id=' + record.data.id,
+ title: _('user_edit_account')
});
- }}
+ },
+ scope: this
+ },
+ groupRenderer: function(value) {
+ return value;
}
- ,emptyText: _('search')
- ,scope: this
- },{
- text: _('clear_filter')
- ,id: 'modx-ugu-clear-filter'
- ,cls: 'x-form-filter-clear'
- ,handler: this.clearFilter
- ,scope: this
+ }, {
+ header: _('role'),
+ dataIndex: 'role_name',
+ width: 175,
+ sortable: true,
+ renderer: {
+ fn: function(value, metaData, record) {
+ if (this.userCanChangeRole) {
+ const attributes = {
+ title: _('user_role_update')
+ };
+ return this.renderLink(value, attributes, true);
+ }
+ return value;
+ },
+ scope: this
+ },
+ groupRenderer: function(value) {
+ return value;
+ }
+ }],
+ tbar: [{
+ text: _('user_group_user_add'),
+ cls: 'primary-button',
+ handler: this.addUser,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanAssignUserToGroups || this.ownerCt.id != 'modx-tree-panel-usergroup') {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
+ }
+ }, {
+ text: _('user_group_update'),
+ cls: 'secondary-button',
+ handler: this.updateUserGroup,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanEditUserGroup || this.ownerCt.id != 'modx-tree-panel-usergroup') {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
+ }
+ }, '->', {
+ xtype: 'textfield',
+ id: 'modx-ugu-filter-username',
+ cls: 'x-form-filter',
+ listeners: {
+ change: {
+ fn: this.searchUser,
+ scope: this
+ },
+ render: {
+ fn: function(cmp) {
+ new Ext.KeyMap(cmp.getEl(), {
+ key: Ext.EventObject.ENTER,
+ fn: function() {
+ this.fireEvent('change', this.getValue());
+ this.blur();
+ return true;
+ },
+ scope: cmp
+ });
+ }
+ }
+ },
+ emptyText: _('search'),
+ scope: this
+ }, {
+ text: _('clear_filter'),
+ id: 'modx-ugu-clear-filter',
+ cls: 'x-form-filter-clear',
+ handler: this.clearFilter,
+ scope: this
}]
});
- MODx.grid.UserGroupUsers.superclass.constructor.call(this,config);
- this.addEvents('updateRole','addUser');
+ MODx.grid.UserGroupUsers.superclass.constructor.call(this, config);
+
+ this.addEvents('updateRole', 'addUser');
+
+ this.userCanEditUser = MODx.perm.edit_user && MODx.perm.save_user;
+ this.userCanChangeRole = MODx.perm.usergroup_user_edit;
+ this.userCanAssignUserToGroups = MODx.perm.usergroup_user_edit;
+ this.userCanEditUserGroup = MODx.perm.usergroup_edit && MODx.perm.usergroup_save;
+
+ // Allows for simulated link functionality
+ this.on('cellclick', function(grid, rowIndex, columnIndex, e) {
+ const record = grid.getStore().getAt(rowIndex),
+ fieldName = grid.getColumnModel().getDataIndex(columnIndex);
+ if (this.userCanChangeRole && fieldName === 'role_name') {
+ this.updateRole(record, e)
+ }
+ });
+ // console.log(`MODx.grid.UserGroupUsers loading...`);
};
-Ext.extend(MODx.grid.UserGroupUsers,MODx.grid.Grid,{
+Ext.extend(MODx.grid.UserGroupUsers, MODx.grid.Grid, {
+
+ actionsColumnRenderer: function(value, metaData, record, rowIndex, colIndex, store) {
+ if (!this.userCanEditUserGroup && !this.userCanChangeRole) {
+ return;
+ }
+ return this.superclass().actionsColumnRenderer.apply(this, arguments);
+ },
+
getMenu: function() {
var m = [];
if (MODx.perm.usergroup_user_edit) {
m.push({
- text: _('user_role_update')
- ,handler: this.updateRole
+ text: _('user_role_update'),
+ handler: this.updateRole
});
m.push('-');
m.push({
- text: _('user_group_user_remove')
- ,handler: this.removeUser
+ text: _('user_group_user_remove'),
+ handler: this.removeUser
});
}
return m;
- }
+ },
- ,updateUserGroup: function() {
+ updateUserGroup: function() {
var id = this.config.usergroup;
MODx.loadPage('security/usergroup/update', 'id=' + id);
- }
+ },
- ,updateRole: function(btn,e) {
- var r = this.menu.record;
- r.usergroup = this.config.usergroup;
- r.user = r.id;
-
- this.loadWindow(btn,e,{
- xtype: 'modx-window-user-group-role-update'
- ,record: r
- ,listeners: {
- 'success': {fn:function(r) {
- this.refresh();
- this.fireEvent('updateRole',r);
- },scope:this}
+ /**
+ * @property {Function} updateRole - Change user's role from an Ext menu or a simulated link
+ *
+ * @param {Object} source - Either a record object explicitly passed or the Ext menu item
+ * component, which is implicity passed into this handler
+ * @param {Ext.EventObjectImpl} e - The event triggering this handler (pass explicitly when
+ * triggering from an element other than an Ext menu
+ *
+ * @return void
+ */
+ updateRole: function(source, e) {
+ const isMenu = source.hasOwnProperty('parentMenu') ? true : false,
+ record = isMenu ? this.menu.record : source,
+ arg1 = isMenu ? source : null,
+ data = {
+ user: record.id,
+ usergroup: this.config.usergroup,
+ role: isMenu ? record.role : record.data.role
+ }
+ ;
+ this.loadWindow(arg1, e, {
+ xtype: 'modx-window-user-group-role-update',
+ record: data,
+ listeners: {
+ success: {
+ fn: function(response) {
+ this.refresh();
+ this.fireEvent('updateRole', response);
+ },
+ scope: this
+ }
}
});
- }
+ },
- ,addUser: function(btn,e) {
- var r = {usergroup:this.config.usergroup};
+ addUser: function(btn, e) {
+ var r = {
+ usergroup: this.config.usergroup
+ };
if (!this.windows['modx-window-user-group-adduser']) {
this.windows['modx-window-user-group-adduser'] = Ext.ComponentMgr.create({
- xtype: 'modx-window-user-group-adduser'
- ,record: r
- ,grid: this
- ,listeners: {
- 'success': {fn:function(r) {
- this.refresh();
- this.fireEvent('addUser',r);
- },scope:this}
+ xtype: 'modx-window-user-group-adduser',
+ record: r,
+ grid: this,
+ listeners: {
+ 'success': {
+ fn: function(r) {
+ this.refresh();
+ this.fireEvent('addUser', r);
+ },
+ scope: this
+ }
}
});
}
this.windows['modx-window-user-group-adduser'].setValues(r);
this.windows['modx-window-user-group-adduser'].show(e.target);
- }
+ },
- ,removeUser: function(btn,e) {
+ removeUser: function(btn, e) {
var r = this.menu.record;
MODx.msg.confirm({
- title: _('warning')
- ,text: _('user_group_user_remove_confirm') || _('confirm_remove')
- ,url: this.config.url
- ,params: {
- action: 'Security/Group/User/Remove'
- ,user: r.id
- ,usergroup: this.config.usergroup
- }
- ,listeners: {
- 'success': {fn:this.refresh,scope:this}
+ title: _('warning'),
+ text: _('user_group_user_remove_confirm') || _('confirm_remove'),
+ url: this.config.url,
+ params: {
+ action: 'Security/Group/User/Remove',
+ user: r.id,
+ usergroup: this.config.usergroup
+ },
+ listeners: {
+ success: {
+ fn: this.refresh,
+ scope: this
+ }
}
});
- }
+ },
- ,searchUser: function(tf,nv,ov) {
+ searchUser: function(tf, nv, ov) {
this.getStore().baseParams['username'] = Ext.getCmp('modx-ugu-filter-username').getValue();
this.getBottomToolbar().changePage(1);
- }
+ },
- ,clearFilter: function(btn,e) {
+ clearFilter: function(btn, e) {
Ext.getCmp('modx-ugu-filter-username').setValue('');
this.getStore().baseParams['username'] = '';
this.getBottomToolbar().changePage(1);
}
+
});
-Ext.reg('modx-grid-user-group-users',MODx.grid.UserGroupUsers);
+Ext.reg('modx-grid-user-group-users', MODx.grid.UserGroupUsers);
/**
* @class MODx.window.UpdateUserGroupRole
@@ -529,30 +703,31 @@ Ext.reg('modx-grid-user-group-users',MODx.grid.UserGroupUsers);
*/
MODx.window.UpdateUserGroupRole = function(config) {
config = config || {};
- Ext.applyIf(config,{
- id: 'modx-window-user-group-role-update'
- ,title: _('user_group_user_update_role')
- ,url: MODx.config.connector_url
- ,action: 'Security/Group/User/Update'
- ,fields: [{
- xtype: 'hidden'
- ,name: 'usergroup'
- ,value: config.usergroup
- },{
- xtype: 'hidden'
- ,name: 'user'
- ,value: config.user
- },{
- xtype: 'modx-combo-usergrouprole'
- ,id: 'modx-uugr-role'
- ,name: 'role'
- ,fieldLabel: _('role')
+ Ext.applyIf(config, {
+ id: 'modx-window-user-group-role-update',
+ title: _('user_group_user_update_role'),
+ url: MODx.config.connector_url,
+ action: 'Security/Group/User/Update',
+ fields: [{
+ xtype: 'hidden',
+ name: 'usergroup',
+ value: config.usergroup
+ }, {
+ xtype: 'hidden',
+ name: 'user',
+ value: config.user
+ }, {
+ xtype: 'modx-combo-usergrouprole',
+ id: 'modx-uugr-role',
+ name: 'role',
+ fieldLabel: _('role'),
+ anchor: '100%'
}]
});
- MODx.window.UpdateUserGroupRole.superclass.constructor.call(this,config);
+ MODx.window.UpdateUserGroupRole.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.UpdateUserGroupRole,MODx.Window);
-Ext.reg('modx-window-user-group-role-update',MODx.window.UpdateUserGroupRole);
+Ext.extend(MODx.window.UpdateUserGroupRole, MODx.Window);
+Ext.reg('modx-window-user-group-role-update', MODx.window.UpdateUserGroupRole);
/**
* @class MODx.window.AddUserToUserGroup
@@ -562,47 +737,47 @@ Ext.reg('modx-window-user-group-role-update',MODx.window.UpdateUserGroupRole);
*/
MODx.window.AddUserToUserGroup = function(config) {
config = config || {};
- this.ident = config.ident || 'auug'+Ext.id();
- Ext.applyIf(config,{
- title: _('user_group_user_add')
- ,url: MODx.config.connector_url
- ,action: 'Security/Group/User/Create'
- ,fields: [{
- fieldLabel: _('user')
- ,description: MODx.expandHelp ? '' : _('user_group_user_add_user_desc')
- ,name: 'user'
- ,hiddenName: 'user'
- ,id: 'modx-auug-user'
- ,xtype: 'modx-combo-user'
- ,editable: true
- ,typeAhead: true
- ,allowBlank: false
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-user'
- ,html: _('user_group_user_add_user_desc')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('role')
- ,description: MODx.expandHelp ? '' : _('user_group_user_add_role_desc')
- ,name: 'role'
- ,hiddenName: 'role'
- ,id: 'modx-auug-role'
- ,xtype: 'modx-combo-role'
- ,allowBlank: false
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-role'
- ,html: _('user_group_user_add_role_desc')
- ,cls: 'desc-under'
- },{
- name: 'usergroup'
- ,xtype: 'hidden'
+ this.ident = config.ident || 'auug' + Ext.id();
+ Ext.applyIf(config, {
+ title: _('user_group_user_add'),
+ url: MODx.config.connector_url,
+ action: 'Security/Group/User/Create',
+ fields: [{
+ fieldLabel: _('user'),
+ description: MODx.expandHelp ? '' : _('user_group_user_add_user_desc'),
+ name: 'user',
+ hiddenName: 'user',
+ id: 'modx-auug-user',
+ xtype: 'modx-combo-user',
+ editable: true,
+ typeAhead: true,
+ allowBlank: false,
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-user',
+ html: _('user_group_user_add_user_desc'),
+ cls: 'desc-under'
+ }, {
+ fieldLabel: _('role'),
+ description: MODx.expandHelp ? '' : _('user_group_user_add_role_desc'),
+ name: 'role',
+ hiddenName: 'role',
+ id: 'modx-auug-role',
+ xtype: 'modx-combo-role',
+ allowBlank: false,
+ anchor: '100%'
+ }, {
+ xtype: MODx.expandHelp ? 'label' : 'hidden',
+ forId: 'modx-' + this.ident + '-role',
+ html: _('user_group_user_add_role_desc'),
+ cls: 'desc-under'
+ }, {
+ name: 'usergroup',
+ xtype: 'hidden'
}]
});
- MODx.window.AddUserToUserGroup.superclass.constructor.call(this,config);
+ MODx.window.AddUserToUserGroup.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.AddUserToUserGroup,MODx.Window);
-Ext.reg('modx-window-user-group-adduser',MODx.window.AddUserToUserGroup);
+Ext.extend(MODx.window.AddUserToUserGroup, MODx.Window);
+Ext.reg('modx-window-user-group-adduser', MODx.window.AddUserToUserGroup);
diff --git a/manager/assets/modext/widgets/security/modx.tree.user.group.js b/manager/assets/modext/widgets/security/modx.tree.user.group.js
index 2a9f631c9bf..0776aeaa82a 100644
--- a/manager/assets/modext/widgets/security/modx.tree.user.group.js
+++ b/manager/assets/modext/widgets/security/modx.tree.user.group.js
@@ -30,6 +30,8 @@ MODx.tree.UserGroup = function(config) {
}]
});
MODx.tree.UserGroup.superclass.constructor.call(this,config);
+
+ // console.log('MODx.tree.UserGroup loading...');
};
Ext.extend(MODx.tree.UserGroup,MODx.tree.Tree,{
windows: {}
diff --git a/manager/assets/modext/widgets/source/modx.panel.sources.js b/manager/assets/modext/widgets/source/modx.panel.sources.js
index 92bf21277b5..28f2cf3abb2 100644
--- a/manager/assets/modext/widgets/source/modx.panel.sources.js
+++ b/manager/assets/modext/widgets/source/modx.panel.sources.js
@@ -8,51 +8,56 @@
*/
MODx.panel.Sources = function(config) {
config = config || {};
- Ext.applyIf(config,{
- id: 'modx-panel-sources'
- ,cls: 'container'
- ,bodyStyle: ''
- ,defaults: { collapsible: false ,autoHeight: true }
- ,items: [{
- html: _('sources')
- ,id: 'modx-sources-header'
- ,xtype: 'modx-header'
- },MODx.getPageStructure([{
- title: _('sources')
- ,layout: 'form'
- ,items: [{
- html: ''+_('sources.intro_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-sources'
- ,urlFilters: ['query']
- ,cls: 'main-wrapper'
- ,preventRender: true
+ Ext.applyIf(config, {
+ id: 'modx-panel-sources',
+ cls: 'container',
+ bodyStyle: '',
+ defaults: {
+ collapsible: false,
+ autoHeight: true
+ },
+ items: [{
+ html: _('sources'),
+ id: 'modx-sources-header',
+ xtype: 'modx-header'
+ }, MODx.getPageStructure([{
+ title: _('sources'),
+ layout: 'form',
+ items: [{
+ html: '' + _('sources.intro_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-sources',
+ urlFilters: ['query'],
+ cls: 'main-wrapper',
+ preventRender: true
}]
- },{
- layout: 'form'
- ,title: _('source_types')
- ,items: [{
- html: ''+_('source_types.intro_msg')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-source-types'
- ,cls: 'main-wrapper'
- ,preventRender: true
+ }, {
+ layout: 'form',
+ title: _('source_types'),
+ items: [{
+ html: '' + _('source_types.intro_msg') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-source-types',
+ cls: 'main-wrapper',
+ preventRender: true
}]
- }],{
- stateful: true
- ,stateId: 'modx-sources-tabpanel'
- ,stateEvents: ['tabchange']
- ,getState:function() {
- return {activeTab:this.items.indexOf(this.getActiveTab())};
+ }], {
+ stateful: true,
+ stateId: 'modx-sources-tabpanel',
+ stateEvents: ['tabchange'],
+ getState: function() {
+ return {
+ activeTab: this.items.indexOf(this.getActiveTab())
+ };
}
})]
});
- MODx.panel.Sources.superclass.constructor.call(this,config);
+ MODx.panel.Sources.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.panel.Sources,MODx.FormPanel);
-Ext.reg('modx-panel-sources',MODx.panel.Sources);
+Ext.extend(MODx.panel.Sources, MODx.FormPanel);
+Ext.reg('modx-panel-sources', MODx.panel.Sources);
/**
* Loads a grid of Sources.
@@ -63,212 +68,373 @@ Ext.reg('modx-panel-sources',MODx.panel.Sources);
* @xtype modx-grid-sources
*/
MODx.grid.Sources = function(config) {
- config = config || {};
+ config = config || {};
this.sm = new Ext.grid.CheckboxSelectionModel();
- Ext.applyIf(config,{
- url: MODx.config.connector_url
- ,baseParams: {
+
+ Ext.applyIf(config, {
+ id: 'modx-grid-sources',
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Source/GetList'
- }
- ,fields: ['id','name','description','class_key','cls']
- ,paging: true
- ,autosave: true
- ,save_action: 'Source/UpdateFromGrid'
- ,remoteSort: true
- ,sm: this.sm
- ,columns: [this.sm,{
- header: _('id')
- ,dataIndex: 'id'
- ,width: 50
- ,sortable: true
- },{
- header: _('name')
- ,dataIndex: 'name'
- ,width: 150
- ,sortable: true
- ,editor: { xtype: 'textfield' ,allowBlank: false }
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=source/update&id=' + record.data.id
- });
- }, scope: this }
- },{
- header: _('description')
- ,dataIndex: 'description'
- ,width: 300
- ,sortable: false
- ,editor: { xtype: 'textarea' }
- ,renderer: Ext.util.Format.htmlEncode
- }]
- ,tbar: [{
- text: _('create')
- ,handler: { xtype: 'modx-window-source-create' ,blankValues: true }
- ,cls:'primary-button'
- },{
- text: _('bulk_actions')
- ,menu: [{
- text: _('selected_remove')
- ,handler: this.removeSelected
- ,scope: this
- }]
- },'->',{
- xtype: 'textfield'
- ,name: 'search'
- ,id: 'modx-source-search'
- ,cls: 'x-form-filter'
- ,emptyText: _('search_ellipsis')
- ,value: MODx.request.query
- ,listeners: {
- 'change': {
- fn: function (cb, rec, ri) {
- this.sourceSearch(cb, rec, ri);
+ },
+ fields: [
+ 'id',
+ 'name',
+ 'description',
+ 'class_key',
+ 'creator'
+ ],
+ paging: true,
+ autosave: true,
+ save_action: 'Source/UpdateFromGrid',
+ remoteSort: true,
+ sm: this.sm,
+ stateful: true,
+ stateId: 'modx-grid-sources-state',
+ columns: [this.sm, {
+ header: _('id'),
+ dataIndex: 'id',
+ width: 50,
+ sortable: true
+ }, {
+ header: _('name'),
+ dataIndex: 'name',
+ id: 'modx-source--name',
+ width: 150,
+ sortable: true,
+ editor: {
+ xtype: 'textfield',
+ allowBlank: false,
+ blankText: _('source_err_ns_name'),
+ validationEvent: 'change',
+ validator: function(value) {
+ const grid = Ext.getCmp('modx-grid-sources'),
+ reserved = this.gridEditor.record.json.reserved.name
+ ;
+ if (grid.valueIsReserved(reserved, value)) {
+ const msg = _('source_err_name_reserved', { reservedName: value });
+ Ext.Msg.alert(_('error'), msg);
+ return false;
+ } else {
+ return true;
}
- ,scope: this
},
- 'afterrender': {
- fn: function (cb){
+ listeners: {
+ change: function(e) {
+ console.log('listener, change, args', arguments);
+ }
+ }
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ value = value || record.json.name_trans;
+ const userCanEdit = this.userCanEdit && this.userCanEditRecord(record);
+ if (!userCanEdit || record.json.name === 'Filesystem') {
+ metaData.css = 'editor-disabled';
+ if (!userCanEdit) {
+ return value;
+ }
+ }
+ return this.renderLink(value, {
+ href: '?a=source/update&id=' + record.data.id,
+ title: _('source_edit')
+ });
+ },
+ scope: this
+ }
+ }, {
+ header: _('description'),
+ dataIndex: 'description',
+ id: 'modx-source--description',
+ width: 300,
+ sortable: false,
+ editor: {
+ xtype: 'textarea'
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ value = value || record.json.description_trans;
+ const userCanEdit = this.userCanEdit && this.userCanEditRecord(record);
+ if (!userCanEdit || record.json.name === 'Filesystem') {
+ metaData.css = 'editor-disabled';
+ }
+ return value;
+ },
+ scope: this
+ }
+ }, {
+ header: _('creator'),
+ dataIndex: 'creator',
+ id: 'modx-source--creator',
+ width: 70,
+ align: 'center',
+ sortable: true
+ }],
+ tbar: [{
+ text: _('create'),
+ cls: 'primary-button',
+ handler: {
+ xtype: 'modx-window-source-create',
+ blankValues: true
+ },
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
+ }
+ }, {
+ text: _('bulk_actions'),
+ menu: [{
+ text: _('selected_remove'),
+ itemId: 'modx-bulk-menu-opt-remove',
+ handler: this.removeSelected,
+ scope: this
+ }],
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanDelete) {
+ btn.hide();
+ }
+ },
+ scope: this
+ },
+ click: {
+ fn: function(btn) {
+ const removableSources = this.getRemovableItemsFromSelection('int'),
+ menuOptRemove = btn.menu.getComponent('modx-bulk-menu-opt-remove')
+ ;
+ if (!removableSources) {
+ menuOptRemove.disable();
+ } else {
+ menuOptRemove.enable();
+ }
+ },
+ scope: this
+ }
+ }
+ }, '->', {
+ xtype: 'textfield',
+ name: 'search',
+ id: 'modx-source-search',
+ cls: 'x-form-filter',
+ emptyText: _('search_ellipsis'),
+ value: MODx.request.query,
+ listeners: {
+ change: {
+ fn: function(cb, rec, ri) {
+ this.sourceSearch(cb, rec, ri);
+ },
+ scope: this
+ },
+ afterrender: {
+ fn: function(cb) {
if (MODx.request.query) {
this.sourceSearch(cb, cb.value);
MODx.request.query = '';
}
- }
- ,scope: this
- }
- ,'render': {
+ },
+ scope: this
+ },
+ render: {
fn: function(cmp) {
new Ext.KeyMap(cmp.getEl(), {
- key: Ext.EventObject.ENTER
- ,fn: this.blur
- ,scope: cmp
+ key: Ext.EventObject.ENTER,
+ fn: this.blur,
+ scope: cmp
});
- }
- ,scope: this
+ },
+ scope: this
}
}
- },{
- xtype: 'button'
- ,text: _('filter_clear')
- ,id: 'modx-filter-clear'
- ,cls: 'x-form-filter-clear'
- ,listeners: {
- 'click': {fn: this.clearFilter, scope: this},
- 'mouseout': { fn: function(evt){
- this.removeClass('x-btn-focus');
- }
+ }, {
+ xtype: 'button',
+ text: _('filter_clear'),
+ id: 'modx-filter-clear',
+ cls: 'x-form-filter-clear',
+ listeners: {
+ click: {
+ fn: this.clearFilter,
+ scope: this
+ },
+ mouseout: {
+ fn: function(evt) {
+ this.removeClass('x-btn-focus');
+ }
}
}
- }]
+ }],
+ viewConfig: {
+ forceFit: true,
+ scrollOffset: 0,
+ getRowClass: function(record, index, rowParams, store) {
+ // Adds the returned class to the row container's css classes
+ const disableClasses = record.json.isProtected ? 'modx-protected-row disable-selection' : 'disable-selection' ;
+ return !this.grid.userCanDeleteRecord(record) ? disableClasses : '';
+ }
+ }
+ });
+ MODx.grid.Sources.superclass.constructor.call(this, config);
+
+ this.protectedDataIndex = 'id';
+ this.protectedIdentifiers = [1];
+ this.nonRemoveableRecords = [];
+ this.gridMenuActions = ['edit', 'delete', 'duplicate'];
+
+ this.setUserCanEdit(['source_save', 'source_edit']);
+ this.setUserCanCreate(['source_save']);
+ this.setUserCanDelete(['source_delete']);
+ this.setShowActionsMenu();
+
+ this.on({
+ render: function(grid) {
+ this.setEditableColumnAccess(
+ ['modx-source--name', 'modx-source--description']
+ );
+ },
+ beforeedit: function(e){
+ if (e.record.json.name === 'Filesystem' || !this.userCanEditRecord(e.record)) {
+ return false;
+ }
+ }
+ });
+
+ this.getStore().on({
+ load: function(store, records, params){
+ records.forEach(record => {
+ if (!this.userCanDeleteRecord(record)) {
+ this.nonRemoveableRecords.push(record.id);
+ }
+ });
+ // console.log('records that can not be removed: ',this.nonRemoveableRecords);
+ },
+ scope: this
});
- MODx.grid.Sources.superclass.constructor.call(this,config);
+
};
-Ext.extend(MODx.grid.Sources,MODx.grid.Grid,{
- getMenu: function() {
- var r = this.getSelectionModel().getSelected();
- var p = r.data.cls;
+Ext.extend(MODx.grid.Sources, MODx.grid.Grid, {
- var m = [];
- if (this.getSelectionModel().getCount() > 1) {
+ getMenu: function() {
+ const record = this.getSelectionModel().getSelected(),
+ m = []
+ ;
+ if (this.userCanEdit && this.userCanEditRecord(record)) {
m.push({
- text: _('selected_remove')
- ,handler: this.removeSelected
- ,scope: this
+ text: _('edit'),
+ handler: this.updateSource
});
- } else {
- if (p.indexOf('pupdate') != -1) {
- m.push({
- text: _('edit')
- ,handler: this.updateSource
- });
- }
- if (p.indexOf('pduplicate') != -1) {
- m.push({
- text: _('duplicate')
- ,handler: this.duplicateSource
- });
- }
- if (p.indexOf('premove') != -1 && r.data.id != 1 && r.data.name != 'Filesystem') {
- if (m.length > 0) m.push('-');
- m.push({
- text: _('delete')
- ,handler: this.removeSource
- });
+ }
+ if (this.userCanCreate && this.userCanDuplicateRecord(record)) {
+ m.push({
+ text: _('duplicate'),
+ handler: this.duplicateSource
+ });
+ }
+ if (this.userCanDelete && this.userCanDeleteRecord(record)) {
+ if (m.length > 0) {
+ m.push('-');
}
+ m.push({
+ text: _('delete'),
+ handler: this.removeSource
+ });
}
if (m.length > 0) {
this.addContextMenuItem(m);
}
- }
+ },
- ,createSource: function() {
+ createSource: function() {
MODx.loadPage('system/source/create');
- }
+ },
- ,updateSource: function() {
- MODx.loadPage('source/update', 'id='+this.menu.record.id);
- }
+ updateSource: function() {
+ MODx.loadPage('source/update', 'id=' + this.menu.record.id);
+ },
- ,duplicateSource: function(btn,e) {
+ duplicateSource: function(btn, e) {
MODx.Ajax.request({
- url: this.config.url
- ,params: {
- action: 'Source/Duplicate'
- ,id: this.menu.record.id
- }
- ,listeners: {
- 'success': {fn:this.refresh,scope:this}
+ url: this.config.url,
+ params: {
+ action: 'Source/Duplicate',
+ id: this.menu.record.id
+ },
+ listeners: {
+ 'success': {
+ fn: this.refresh,
+ scope: this
+ }
}
});
- }
+ },
- ,removeSource: function() {
+ removeSource: function() {
MODx.msg.confirm({
- title: _('delete')
- ,text: _('source_remove_confirm')
- ,url: this.config.url
- ,params: {
- action: 'Source/Remove'
- ,id: this.menu.record.id
- }
- ,listeners: {
- 'success': {fn:this.refresh,scope:this}
+ title: _('delete'),
+ text: _('source_remove_confirm'),
+ url: this.config.url,
+ params: {
+ action: 'Source/Remove',
+ id: this.menu.record.id
+ },
+ listeners: {
+ 'success': {
+ fn: this.refresh,
+ scope: this
+ }
}
});
- }
-
- ,removeSelected: function() {
- var cs = this.getSelectedAsList();
- if (cs === false) return false;
+ },
+ removeSelected: function() {
+ /*
+ getRemovableItemsFromSelection must be run here, as any non-removeable rows
+ that get selected (simply by clicking anywhere on the row) can not be de-selected
+ programmatically. This ensures that non-removeables are discarded before sending
+ to the processor.
+ */
+ const removableSources = this.getRemovableItemsFromSelection('int');
+ if (!removableSources) {
+ return false;
+ }
MODx.msg.confirm({
- title: _('source_remove_multiple')
- ,text: _('source_remove_multiple_confirm')
- ,url: this.config.url
- ,params: {
- action: 'Source/RemoveMultiple'
- ,sources: cs
- }
- ,listeners: {
- 'success': {fn:function(r) {
- this.getSelectionModel().clearSelections(true);
- this.refresh();
- },scope:this}
+ title: _('source_remove_multiple'),
+ text: _('source_remove_multiple_confirm'),
+ url: this.config.url,
+ params: {
+ action: 'Source/RemoveMultiple',
+ sources: removableSources.join(',')
+ },
+ listeners: {
+ success: {
+ fn: function(r) {
+ this.getSelectionModel().clearSelections(true);
+ this.refresh();
+ },
+ scope: this
+ }
}
});
return true;
- }
+ },
- ,sourceSearch: function(tf,newValue,oldValue) {
+ sourceSearch: function(tf, newValue, oldValue) {
var s = this.getStore();
s.baseParams.query = newValue;
this.replaceState();
this.getBottomToolbar().changePage(1);
- }
+ },
- ,clearFilter: function() {
- var s = this.getStore();
- var sourceSearch = Ext.getCmp('modx-source-search');
- s.baseParams = {
+ clearFilter: function() {
+ const store = this.getStore(),
+ sourceSearch = Ext.getCmp('modx-source-search');
+ store.baseParams = {
action: 'Source/GetList'
};
MODx.request.query = '';
@@ -276,8 +442,9 @@ Ext.extend(MODx.grid.Sources,MODx.grid.Grid,{
this.replaceState();
this.getBottomToolbar().changePage(1);
}
+
});
-Ext.reg('modx-grid-sources',MODx.grid.Sources);
+Ext.reg('modx-grid-sources', MODx.grid.Sources);
/**
* Generates the create Source window.
@@ -289,66 +456,73 @@ Ext.reg('modx-grid-sources',MODx.grid.Sources);
*/
MODx.window.CreateSource = function(config) {
config = config || {};
- Ext.applyIf(config,{
- title: _('create')
- ,url: MODx.config.connector_url
- ,autoHeight: true
- ,action: 'Source/Create'
- ,fields: [{
- xtype: 'textfield'
- ,fieldLabel: _('name')
- ,name: 'name'
- ,anchor: '100%'
- ,allowBlank: false
- },{
- xtype: 'textarea'
- ,fieldLabel: _('description')
- ,name: 'description'
- ,anchor: '100%'
- ,grow: true
- },{
- name: 'class_key'
- ,hiddenName: 'class_key'
- ,xtype: 'modx-combo-source-type'
- ,fieldLabel: _('source_type')
- ,anchor: '100%'
- ,allowBlank: false
- ,value: MODx.config.default_media_source_type
- }]
- ,keys: []
+ Ext.applyIf(config, {
+ title: _('create'),
+ url: MODx.config.connector_url,
+ autoHeight: true,
+ action: 'Source/Create',
+ fields: [{
+ xtype: 'textfield',
+ fieldLabel: _('name'),
+ name: 'name',
+ anchor: '100%',
+ allowBlank: false,
+ blankText: _('source_err_ns_name'),
+ validationEvent: 'change'
+ }, {
+ xtype: 'textarea',
+ fieldLabel: _('description'),
+ name: 'description',
+ anchor: '100%',
+ grow: true
+ }, {
+ name: 'class_key',
+ hiddenName: 'class_key',
+ xtype: 'modx-combo-source-type',
+ fieldLabel: _('source_type'),
+ anchor: '100%',
+ allowBlank: false,
+ validationEvent: 'change',
+ value: MODx.config.default_media_source_type
+ }],
+ keys: []
});
- MODx.window.CreateSource.superclass.constructor.call(this,config);
+ MODx.window.CreateSource.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.CreateSource,MODx.Window);
-Ext.reg('modx-window-source-create',MODx.window.CreateSource);
+Ext.extend(MODx.window.CreateSource, MODx.Window);
+Ext.reg('modx-window-source-create', MODx.window.CreateSource);
MODx.grid.SourceTypes = function(config) {
config = config || {};
- Ext.applyIf(config,{
- url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Source/Type/GetList'
- }
- ,fields: ['class','name','description']
- ,showActionsColumn: false
- ,paging: true
- ,remoteSort: true
- ,columns: [{
- header: _('name')
- ,dataIndex: 'name'
- ,width: 150
- ,sortable: true
- ,renderer: Ext.util.Format.htmlEncode
- },{
- header: _('description')
- ,dataIndex: 'description'
- ,width: 300
- ,sortable: false
- ,renderer: Ext.util.Format.htmlEncode
+ },
+ fields: [
+ 'class',
+ 'name',
+ 'description'
+ ],
+ showActionsColumn: false,
+ paging: true,
+ remoteSort: true,
+ columns: [{
+ header: _('name'),
+ dataIndex: 'name',
+ width: 150,
+ sortable: true,
+ renderer: Ext.util.Format.htmlEncode
+ }, {
+ header: _('description'),
+ dataIndex: 'description',
+ width: 300,
+ sortable: false,
+ renderer: Ext.util.Format.htmlEncode
}]
});
- MODx.grid.SourceTypes.superclass.constructor.call(this,config);
+ MODx.grid.SourceTypes.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.grid.SourceTypes,MODx.grid.Grid);
-Ext.reg('modx-grid-source-types',MODx.grid.SourceTypes);
+Ext.extend(MODx.grid.SourceTypes, MODx.grid.Grid);
+Ext.reg('modx-grid-source-types', MODx.grid.SourceTypes);
diff --git a/manager/assets/modext/widgets/system/modx.grid.context.js b/manager/assets/modext/widgets/system/modx.grid.context.js
index c4de4effded..41ea7e56fd9 100644
--- a/manager/assets/modext/widgets/system/modx.grid.context.js
+++ b/manager/assets/modext/widgets/system/modx.grid.context.js
@@ -8,33 +8,36 @@
*/
MODx.panel.Contexts = function(config) {
config = config || {};
- Ext.applyIf(config,{
- id: 'modx-panel-contexts'
- ,cls: 'container'
- ,bodyStyle: ''
- ,defaults: { collapsible: false ,autoHeight: true }
- ,items: [{
- html: _('contexts')
- ,id: 'modx-contexts-header'
- ,xtype: 'modx-header'
- },MODx.getPageStructure([{
- title: _('contexts')
- ,layout: 'form'
- ,items: [{
- html: ''+_('context_management_message')+'
'
- ,xtype: 'modx-description'
- },{
- xtype: 'modx-grid-contexts'
- ,urlFilters: ['search']
- ,cls:'main-wrapper'
- ,preventRender: true
+ Ext.applyIf(config, {
+ id: 'modx-panel-contexts',
+ cls: 'container',
+ bodyStyle: '',
+ defaults: {
+ collapsible: false,
+ autoHeight: true
+ },
+ items: [{
+ html: _('contexts'),
+ id: 'modx-contexts-header',
+ xtype: 'modx-header'
+ }, MODx.getPageStructure([{
+ title: _('contexts'),
+ layout: 'form',
+ items: [{
+ html: '' + _('context_management_message') + '
',
+ xtype: 'modx-description'
+ }, {
+ xtype: 'modx-grid-contexts',
+ urlFilters: ['search'],
+ cls: 'main-wrapper',
+ preventRender: true
}]
}])]
});
- MODx.panel.Contexts.superclass.constructor.call(this,config);
+ MODx.panel.Contexts.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.panel.Contexts,MODx.FormPanel);
-Ext.reg('modx-panel-contexts',MODx.panel.Contexts);
+Ext.extend(MODx.panel.Contexts, MODx.FormPanel);
+Ext.reg('modx-panel-contexts', MODx.panel.Contexts);
/**
* Loads a grid of modContexts.
@@ -46,143 +49,264 @@ Ext.reg('modx-panel-contexts',MODx.panel.Contexts);
*/
MODx.grid.Context = function(config) {
config = config || {};
- Ext.applyIf(config,{
- title: _('contexts')
- ,id: 'modx-grid-context'
- ,url: MODx.config.connector_url
- ,baseParams: {
+ Ext.applyIf(config, {
+ title: _('contexts'),
+ id: 'modx-grid-context',
+ url: MODx.config.connector_url,
+ baseParams: {
action: 'Context/GetList'
- }
- ,fields: ['key','name','description','perm', 'rank']
- ,paging: true
- ,autosave: true
- ,save_action: 'Context/UpdateFromGrid'
- ,remoteSort: true
- ,primaryKey: 'key'
- ,columns: [{
- header: _('key')
- ,dataIndex: 'key'
- ,width: 100
- ,sortable: true
- },{
- header: _('name')
- ,dataIndex: 'name'
- ,width: 150
- ,sortable: true
- ,editor: { xtype: 'textfield' }
- ,renderer: { fn: function(v,md,record) {
- return this.renderLink(v, {
- href: '?a=context/update&key=' + record.data.key
- });
- }, scope: this }
- },{
- header: _('description')
- ,dataIndex: 'description'
- ,width: 575
- ,sortable: false
- ,editor: { xtype: 'textarea' }
- },{
- header: _('rank')
- ,dataIndex: 'rank'
- ,width: 100
- ,sortable: true
- ,editor: { xtype: 'numberfield' }
- }]
- ,tbar: [{
- text: _('create')
- ,cls:'primary-button'
- ,handler: this.create
- ,scope: this
- },'->',{
- xtype: 'textfield'
- ,name: 'search'
- ,id: 'modx-ctx-search'
- ,cls: 'x-form-filter'
- ,emptyText: _('search_ellipsis')
- ,value: MODx.request.search
- ,listeners: {
- 'change': {
- fn: function (cb, rec, ri) {
- this.ctxSearch(cb, rec, ri);
+ },
+ fields: [
+ 'key',
+ 'name',
+ 'description',
+ 'rank',
+ 'creator'
+ ],
+ paging: true,
+ autosave: true,
+ save_action: 'Context/UpdateFromGrid',
+ remoteSort: true,
+ primaryKey: 'key',
+ stateful: true,
+ stateId: 'modx-grid-context-state',
+ columns: [{
+ header: _('key'),
+ dataIndex: 'key',
+ width: 100,
+ sortable: true
+ }, {
+ header: _('name'),
+ dataIndex: 'name',
+ id: 'modx-context--name',
+ width: 150,
+ sortable: true,
+ editor: {
+ xtype: 'textfield',
+ allowBlank: false,
+ blankText: _('context_err_ns_name'),
+ validationEvent: 'change',
+ validator: function(value) {
+ const grid = Ext.getCmp('modx-grid-context'),
+ reserved = this.gridEditor.record.json.reserved.name
+ ;
+ if (grid.valueIsReserved(reserved, value)) {
+ const msg = _('context_err_name_reserved', { reservedName: value });
+ Ext.Msg.alert(_('error'), msg);
+ return false;
+ } else {
+ return true;
+ }
+ }
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ value = value || record.json.name_trans;
+ const userCanEdit = this.userCanEdit && this.userCanEditRecord(record);
+ if (!userCanEdit || record.json.key === 'mgr') {
+ metaData.css = 'editor-disabled';
+ if (!userCanEdit) {
+ return value;
+ }
+ }
+ return this.renderLink(value, {
+ href: '?a=context/update&key=' + record.data.key,
+ title: _('context_edit')
+ });
+ },
+ scope: this
+ }
+ }, {
+ header: _('description'),
+ dataIndex: 'description',
+ id: 'modx-context--description',
+ width: 575,
+ sortable: false,
+ editor: {
+ xtype: 'textarea'
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ value = value || record.json.description_trans;
+ const userCanEdit = this.userCanEdit && this.userCanEditRecord(record);
+ if (!userCanEdit || record.json.key === 'mgr') {
+ metaData.css = 'editor-disabled';
+ }
+ return value;
+ },
+ scope: this
+ }
+ }, {
+ header: _('creator'),
+ dataIndex: 'creator',
+ id: 'modx-context--creator',
+ width: 70,
+ align: 'center',
+ sortable: true
+ }, {
+ header: _('rank'),
+ dataIndex: 'rank',
+ id: 'modx-context--rank',
+ width: 100,
+ align: 'center',
+ sortable: true,
+ editor: {
+ xtype: 'numberfield'
+ },
+ renderer: {
+ fn: function(value, metaData, record) {
+ const userCanEdit = this.userCanEdit && this.userCanEditRecord(record);
+ if (!userCanEdit || record.json.key === 'mgr') {
+ metaData.css = 'editor-disabled';
}
- ,scope: this
+ return value;
+ },
+ scope: this
+ }
+ }],
+ tbar: [{
+ text: _('create'),
+ cls: 'primary-button',
+ handler: this.create,
+ scope: this,
+ listeners: {
+ render: {
+ fn: function(btn) {
+ if (!this.userCanCreate) {
+ btn.hide();
+ }
+ },
+ scope: this
+ }
+ }
+ }, '->', {
+ xtype: 'textfield',
+ name: 'search',
+ id: 'modx-ctx-search',
+ cls: 'x-form-filter',
+ emptyText: _('search_ellipsis'),
+ value: MODx.request.search,
+ listeners: {
+ change: {
+ fn: function(cb, rec, ri) {
+ this.ctxSearch(cb, rec, ri);
+ },
+ scope: this
},
- 'afterrender': {
- fn: function (cb){
+ afterrender: {
+ fn: function(cb) {
if (MODx.request.search) {
this.ctxSearch(cb, cb.value);
MODx.request.search = '';
}
- }
- ,scope: this
- }
- ,'render': {
+ },
+ scope: this
+ },
+ render: {
fn: function(cmp) {
new Ext.KeyMap(cmp.getEl(), {
- key: Ext.EventObject.ENTER
- ,fn: this.blur
- ,scope: cmp
+ key: Ext.EventObject.ENTER,
+ fn: this.blur,
+ scope: cmp
});
- }
- ,scope: this
+ },
+ scope: this
}
}
- },{
- xtype: 'button'
- ,id: 'modx-filter-clear'
- ,cls: 'x-form-filter-clear'
- ,text: _('filter_clear')
- ,listeners: {
- 'click': {fn: this.clearFilter, scope: this},
- 'mouseout': { fn: function(evt){
- this.removeClass('x-btn-focus');
- }
+ }, {
+ xtype: 'button',
+ id: 'modx-filter-clear',
+ cls: 'x-form-filter-clear',
+ text: _('filter_clear'),
+ listeners: {
+ click: {
+ fn: this.clearFilter,
+ scope: this
+ },
+ mouseout: {
+ fn: function(evt) {
+ this.removeClass('x-btn-focus');
+ }
}
}
- }]
+ }],
+ viewConfig: {
+ forceFit: true,
+ scrollOffset: 0,
+ getRowClass: function(record, index, rowParams, store) {
+ // Adds the returned class to the row container's css classes
+ return record.json.isProtected ? 'modx-protected-row' : '';
+ }
+ }
+ });
+ MODx.grid.Context.superclass.constructor.call(this, config);
+
+ this.protectedDataIndex = 'key';
+ this.protectedIdentifiers = ['mgr', 'web'];
+ this.gridMenuActions = ['edit', 'delete', 'duplicate'];
+
+ this.setUserCanEdit(['save_context', 'edit_context']);
+ this.setUserCanCreate(['save_context', 'new_context']);
+ this.setUserCanDelete(['delete_context']);
+ this.setShowActionsMenu();
+
+ this.on({
+ render: function() {
+ this.setEditableColumnAccess(
+ ['modx-context--name', 'modx-context--description', 'modx-context--rank']
+ );
+ },
+ beforeedit: function(e) {
+ if (e.record.json.key === 'mgr' || !this.userCanEditRecord(e.record)) {
+ return false;
+ }
+ }
});
- MODx.grid.Context.superclass.constructor.call(this,config);
};
-Ext.extend(MODx.grid.Context,MODx.grid.Grid,{
+Ext.extend(MODx.grid.Context, MODx.grid.Grid, {
+
getMenu: function() {
- var r = this.getSelectionModel().getSelected();
- var p = r.data.perm;
- var m = [];
- if (p.indexOf('pnew') != -1) {
+ const record = this.getSelectionModel().getSelected(),
+ m = []
+ ;
+
+ if (this.userCanCreate && this.userCanDuplicateRecord(record)) {
m.push({
- text: _('duplicate')
- ,handler: this.duplicateContext
- ,scope: this
+ text: _('duplicate'),
+ handler: this.duplicateContext,
+ scope: this
});
}
- if (p.indexOf('pedit') != -1) {
+ if (this.userCanEdit && this.userCanEditRecord(record)) {
m.push({
- text: _('edit')
- ,handler: this.updateContext
+ text: _('edit'),
+ handler: this.updateContext
});
}
- if (p.indexOf('premove') != -1) {
- m.push('-');
+ if (this.userCanDelete && this.userCanDeleteRecord(record)) {
+ if (m.length > 0) {
+ m.push('-');
+ }
m.push({
- text: _('delete')
- ,handler: this.remove
- ,scope: this
+ text: _('delete'),
+ handler: this.remove,
+ scope: this
});
}
return m;
- }
+ },
- ,create: function(btn, e) {
+ create: function(btn, e) {
if (this.createWindow) {
this.createWindow.destroy();
}
this.createWindow = MODx.load({
xtype: 'modx-window-context-create',
- closeAction:'close',
+ closeAction: 'close',
listeners: {
- 'success': {
+ success: {
fn: function() {
this.afterAction();
},
@@ -191,34 +315,37 @@ Ext.extend(MODx.grid.Context,MODx.grid.Grid,{
}
});
this.createWindow.show(e.target);
- }
+ },
- ,updateContext: function(itm,e) {
- MODx.loadPage('context/update', 'key='+this.menu.record.key);
- }
+ updateContext: function(itm, e) {
+ MODx.loadPage('context/update', 'key=' + this.menu.record.key);
+ },
- ,duplicateContext: function() {
+ duplicateContext: function() {
var r = {
- key: this.menu.record.key
- ,newkey: ''
+ key: this.menu.record.key,
+ newkey: ''
};
var w = MODx.load({
- xtype: 'modx-window-context-duplicate'
- ,record: r
- ,listeners: {
- 'success': {fn:function() {
- this.refresh();
- var tree = Ext.getCmp('modx-resource-tree');
- if (tree) {
- tree.refresh();
- }
- },scope:this}
+ xtype: 'modx-window-context-duplicate',
+ record: r,
+ listeners: {
+ success: {
+ fn: function() {
+ this.refresh();
+ var tree = Ext.getCmp('modx-resource-tree');
+ if (tree) {
+ tree.refresh();
+ }
+ },
+ scope: this
+ }
}
});
w.show();
- }
+ },
- ,remove: function(btn, e) {
+ remove: function(btn, e) {
MODx.msg.confirm({
title: _('warning'),
text: _('context_remove_confirm'),
@@ -228,7 +355,7 @@ Ext.extend(MODx.grid.Context,MODx.grid.Grid,{
key: this.menu.record.key
},
listeners: {
- 'success': {
+ success: {
fn: function() {
this.afterAction();
},
@@ -236,16 +363,16 @@ Ext.extend(MODx.grid.Context,MODx.grid.Grid,{
}
}
});
- }
+ },
- ,ctxSearch: function(tf,newValue,oldValue) {
+ ctxSearch: function(tf, newValue, oldValue) {
var s = this.getStore();
s.baseParams.search = newValue;
this.replaceState();
this.getBottomToolbar().changePage(1);
- }
+ },
- ,clearFilter: function() {
+ clearFilter: function() {
var s = this.getStore();
var ctxSearch = Ext.getCmp('modx-ctx-search');
s.baseParams = {
@@ -255,9 +382,9 @@ Ext.extend(MODx.grid.Context,MODx.grid.Grid,{
ctxSearch.setValue('');
this.replaceState();
this.getBottomToolbar().changePage(1);
- }
+ },
- ,afterAction: function() {
+ afterAction: function() {
var cmp = Ext.getCmp('modx-resource-tree');
if (cmp) {
cmp.refresh();
@@ -266,30 +393,8 @@ Ext.extend(MODx.grid.Context,MODx.grid.Grid,{
this.refresh();
}
- ,getActions: function(record, rowIndex, colIndex, store) {
- var permissions = record.data.perm;
- var actions = [];
-
- if (~permissions.indexOf('pedit')) {
- actions.push({
- action: 'updateContext',
- icon: 'pencil-square-o',
- text: _('edit')
- });
- }
-
- if (~permissions.indexOf('premove')) {
- actions.push({
- action: 'remove',
- icon: 'trash-o',
- text: _('delete')
- });
- }
-
- return actions;
- }
});
-Ext.reg('modx-grid-contexts',MODx.grid.Context);
+Ext.reg('modx-grid-contexts', MODx.grid.Context);
/**
* Generates the create context window.
@@ -301,38 +406,41 @@ Ext.reg('modx-grid-contexts',MODx.grid.Context);
*/
MODx.window.CreateContext = function(config) {
config = config || {};
- Ext.applyIf(config,{
- title: _('create')
- ,url: MODx.config.connector_url
- ,action: 'Context/Create'
- ,fields: [{
- xtype: 'textfield'
- ,fieldLabel: _('context_key')
- ,name: 'key'
- ,anchor: '100%'
- ,maxLength: 100
- },{
- xtype: 'textfield'
- ,fieldLabel: _('name')
- ,name: 'name'
- ,anchor: '100%'
- ,maxLength: 100
- },{
- xtype: 'textarea'
- ,fieldLabel: _('description')
- ,name: 'description'
- ,anchor: '100%'
- ,grow: true
- },{
- xtype: 'numberfield'
- ,fieldLabel: _('rank')
- ,name: 'rank'
- ,allowBlank: true
- ,anchor: '100%'
- }]
- ,keys: []
+ Ext.applyIf(config, {
+ title: _('create'),
+ url: MODx.config.connector_url,
+ action: 'Context/Create',
+ fields: [{
+ xtype: 'textfield',
+ fieldLabel: _('context_key'),
+ name: 'key',
+ anchor: '100%',
+ maxLength: 100,
+ allowBlank: false,
+ blankText: _('context_err_ns_key')
+ }, {
+ xtype: 'textfield',
+ fieldLabel: _('name'),
+ name: 'name',
+ anchor: '100%',
+ maxLength: 100,
+ allowBlank: false,
+ blankText: _('context_err_ns_name')
+ }, {
+ xtype: 'textarea',
+ fieldLabel: _('description'),
+ name: 'description',
+ anchor: '100%',
+ grow: true
+ }, {
+ xtype: 'numberfield',
+ fieldLabel: _('rank'),
+ name: 'rank',
+ anchor: '100%'
+ }],
+ keys: []
});
- MODx.window.CreateContext.superclass.constructor.call(this,config);
+ MODx.window.CreateContext.superclass.constructor.call(this, config);
};
-Ext.extend(MODx.window.CreateContext,MODx.Window);
-Ext.reg('modx-window-context-create',MODx.window.CreateContext);
+Ext.extend(MODx.window.CreateContext, MODx.Window);
+Ext.reg('modx-window-context-create', MODx.window.CreateContext);
diff --git a/manager/assets/modext/workspace/lexicon/lexicon.grid.js b/manager/assets/modext/workspace/lexicon/lexicon.grid.js
index 70336a9b9f7..890f055bab9 100644
--- a/manager/assets/modext/workspace/lexicon/lexicon.grid.js
+++ b/manager/assets/modext/workspace/lexicon/lexicon.grid.js
@@ -13,14 +13,15 @@ MODx.grid.Lexicon = function(config) {
,url: MODx.config.connector_url
,fields: ['name','value','namespace','topic','language','editedon','overridden']
,baseParams: {
- action: 'Workspace/Lexicon/GetList'
- ,'namespace': MODx.request['ns'] ? MODx.request['ns'] : 'core'
- ,topic: ''
- ,language: MODx.config.cultureKey || 'en'
+ action: 'Workspace/Lexicon/GetList',
+ namespace: MODx.request['ns'] ? MODx.request['ns'] : 'core',
+ topic: '',
+ language: MODx.config.cultureKey || 'en'
}
,width: '98%'
,paging: true
,autosave: true
+ ,preventSaveRefresh: false
,save_action: 'Workspace/Lexicon/UpdateFromGrid'
,columns: [{
header: _('name')
@@ -33,7 +34,9 @@ MODx.grid.Lexicon = function(config) {
,dataIndex: 'value'
,width: 500
,sortable: false
- ,editor: {xtype: 'textarea'}
+ ,editor: {
+ xtype: 'textarea'
+ }
,renderer: this._renderStatus
},{
header: _('last_modified')
@@ -59,7 +62,10 @@ MODx.grid.Lexicon = function(config) {
,preselectValue: MODx.request['ns'] ? MODx.request['ns'] : ''
,width: 150
,listeners: {
- 'select': {fn: this.changeNamespace,scope:this}
+ select: {
+ fn: this.changeNamespace,
+ scope: this
+ }
}
},{
xtype: 'tbtext'
@@ -71,12 +77,15 @@ MODx.grid.Lexicon = function(config) {
,value: 'default'
,width: 150
,baseParams: {
- action: 'Workspace/Lexicon/Topic/GetList'
- ,'namespace': MODx.request['ns'] ? MODx.request['ns'] : ''
- ,'language': 'en'
+ action: 'Workspace/Lexicon/Topic/GetList',
+ namespace: MODx.request['ns'] ? MODx.request['ns'] : '',
+ language: 'en'
}
,listeners: {
- 'select': {fn:this.changeTopic,scope:this}
+ select: {
+ fn: this.changeTopic,
+ scope: this
+ }
}
},{
xtype: 'tbtext'
@@ -90,10 +99,13 @@ MODx.grid.Lexicon = function(config) {
,width: 100
,baseParams: {
action: 'System/Language/GetList'
- ,'namespace': MODx.request['ns'] ? MODx.request['ns'] : ''
+ ,namespace: MODx.request['ns'] ? MODx.request['ns'] : ''
}
,listeners: {
- 'select': {fn:this.changeLanguage,scope:this}
+ select: {
+ fn: this.changeLanguage,
+ scope: this
+ }
}
},{
xtype: 'textfield'
@@ -103,14 +115,20 @@ MODx.grid.Lexicon = function(config) {
,itemId: 'search'
,emptyText: _('search_by_key')
,listeners: {
- 'change': {fn:this.filter.createDelegate(this,['search'],true),scope:this}
- ,'render': {fn: function(cmp) {
- new Ext.KeyMap(cmp.getEl(), {
- key: Ext.EventObject.ENTER
- ,fn: this.blur
- ,scope: cmp
- });
- },scope:this}
+ change: {
+ fn: this.filter.createDelegate(this,['search'],true),
+ scope: this
+ },
+ render: {
+ fn: function(cmp) {
+ new Ext.KeyMap(cmp.getEl(), {
+ key: Ext.EventObject.ENTER,
+ fn: this.blur,
+ scope: cmp
+ });
+ },
+ scope:this
+ }
}
},{
xtype: 'button'
@@ -119,11 +137,15 @@ MODx.grid.Lexicon = function(config) {
,itemId: 'clear'
,text: _('filter_clear')
,listeners: {
- 'click': {fn: this.clearFilter, scope: this},
- 'mouseout': { fn: function(evt){
+ click: {
+ fn: this.clearFilter,
+ scope: this
+ },
+ mouseout: {
+ fn: function(evt){
this.removeClass('x-btn-focus');
}
- }
+ }
}
}]
,pagingItems: [{
@@ -135,6 +157,7 @@ MODx.grid.Lexicon = function(config) {
MODx.grid.Lexicon.superclass.constructor.call(this,config);
};
Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
+
console: null
,_renderStatus: function(v,md,rec,ri) {
@@ -152,7 +175,6 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
if (Ext.isEmpty(value)) {
return '—';
}
-
return new Date(value*1000).format(MODx.config.manager_date_format + ' ' + MODx.config.manager_time_format);
}
@@ -162,6 +184,7 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
this.getBottomToolbar().changePage(1);
return true;
}
+
,clearFilter: function() {
this.store.baseParams = {
action: 'Workspace/Lexicon/GetList'
@@ -185,12 +208,15 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
tb.getComponent('search').setValue('');
}
+
,changeNamespace: function(cb,nv,ov) {
this.setFilterParams(cb.getValue(),'default','en');
}
+
,changeTopic: function(cb,nv,ov) {
this.setFilterParams(null,cb.getValue());
}
+
,changeLanguage: function(cb,nv,ov) {
this.setFilterParams(null,null,cb.getValue());
}
@@ -236,6 +262,7 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
}
this.getBottomToolbar().changePage(1);
}
+
,loadWindow2: function(btn,e,o) {
var tb = this.getTopToolbar();
this.menu.record = {
@@ -247,6 +274,7 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
}
this.loadWindow(btn, e, o);
}
+
,reloadFromBase: function() {
Ext.Ajax.timeout = 0;
var topic = '/workspace/lexicon/reload/';
@@ -272,6 +300,12 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
});
}
+ ,actionsColumnRenderer: function(value, metaData, record, rowIndex, colIndex, store) {
+ if (record.data.overridden) {
+ return this.superclass().actionsColumnRenderer.apply(this, arguments);
+ }
+ }
+
,revertEntry: function() {
var p = this.menu.record;
p.action = 'Workspace/Lexicon/Revert';
@@ -286,9 +320,11 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
}
});
}
+
,getMenu: function() {
var r = this.getSelectionModel().getSelected();
var m = [];
+ console.log('getMenu, r: ', r);
if (r.data.overridden) {
m.push({
text: _('entry_revert')
@@ -321,6 +357,7 @@ Ext.extend(MODx.grid.Lexicon,MODx.grid.Grid,{
this.createEntryWindow.setValues(r);
this.createEntryWindow.show(e.target);
}
+
});
Ext.reg('modx-grid-lexicon',MODx.grid.Lexicon);
diff --git a/manager/assets/modext/workspace/package/package.versions.grid.js b/manager/assets/modext/workspace/package/package.versions.grid.js
index 0223981dd67..69d9c01daa8 100644
--- a/manager/assets/modext/workspace/package/package.versions.grid.js
+++ b/manager/assets/modext/workspace/package/package.versions.grid.js
@@ -14,21 +14,33 @@ MODx.grid.PackageVersions = function(config) {
,signature: config.signature
,package_name: MODx.request.package_name
}
- ,fields: ['signature','name','version','release','created','updated','installed','state'
- ,'workspace','provider','provider_name','disabled','source'
- ,'readme','menu']
+ ,fields: [
+ 'signature','name','version','release','created','updated','installed','state',
+ 'workspace','provider','provider_name','disabled','source','readme','menu'
+ ]
,plugins: [this.exp]
,pageSize: 20
- ,columns: [this.exp,{
- header: _('name') ,dataIndex: 'name' }
- ,{ header: _('version') ,dataIndex: 'version' }
- ,{ header: _('release') ,dataIndex: 'release' }
- ,{ header: _('installed') ,dataIndex: 'installed' ,renderer: this._rins }
- ,{
- header: _('provider')
- ,dataIndex: 'provider_name'
- ,editable: false
- }]
+ ,columns: [
+ this.exp,
+ {
+ header: _('name'),
+ dataIndex: 'name'
+ },{
+ header: _('version'),
+ dataIndex: 'version'
+ },{
+ header: _('release'),
+ dataIndex: 'release'
+ },{
+ header: _('installed'),
+ dataIndex: 'installed',
+ renderer: this._rins
+ },{
+ header: _('provider'),
+ dataIndex: 'provider_name',
+ editable: false
+ }
+ ]
,primaryKey: 'signature'
,paging: true
,autosave: true
@@ -53,6 +65,20 @@ Ext.extend(MODx.grid.PackageVersions,MODx.grid.Grid,{
}
}
+ ,actionsColumnRenderer: function(value, metaData, record, rowIndex, colIndex, store) {
+ // var actions = this.getActions.apply(this, [record, rowIndex, colIndex, store]);
+ // console.log('actionsColumnRenderer store: ',store);
+ // console.log('actionsColumnRenderer value: ',value);
+ // console.log('actionsColumnRenderer rowIndex: ',rowIndex);
+ // console.log('actionsColumnRenderer record: ',record);
+ // console.log('actionsColumnRenderer in lexicon.grid, rowIndex: ',rowIndex);
+ // console.log('actionsColumnRenderer in lexicon.grid, arguments: ',arguments);
+ // console.log('actionsColumnRenderer metaData: ',metaData);
+ if (record.data.menu) {
+ return this.superclass().actionsColumnRenderer.apply(this, arguments);
+ }
+ }
+
,removePriorVersion: function(btn,e) {
var r = this.menu.record;
MODx.msg.confirm({
diff --git a/manager/templates/default/css/index.css b/manager/templates/default/css/index.css
deleted file mode 100644
index 8bc20660fde..00000000000
--- a/manager/templates/default/css/index.css
+++ /dev/null
@@ -1,28104 +0,0 @@
-/*
-*
-* Copyright (C) 2021 MODX LLC
-*
-* This file is part of MODX Revolution and was compiled using Grunt.
-*
-* MODX Revolution is free software: you can redistribute it and/or modify it under the terms of the
-* GNU General Public License as published by the Free Software Foundation, either version 2 of the
-* License, or (at your option) any later version.
-*
-* MODX Revolution is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*
-* See the GNU General Public License for more details. You should have received a copy of the GNU
-* General Public License along with MODX Revolution. If not, see .
-*
-*/
-/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
-/* Document
- ========================================================================== */
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in
- * IE on Windows Phone and in iOS.
- */
-html {
- line-height: 1.15;
- /* 1 */
- -ms-text-size-adjust: 100%;
- /* 2 */
- -webkit-text-size-adjust: 100%;
- /* 2 */
-}
-
-/* Sections
- ========================================================================== */
-/**
- * Remove the margin in all browsers (opinionated).
- */
-body {
- margin: 0;
-}
-
-/**
- * Add the correct display in IE 9-.
- */
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-/* Grouping content
- ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- */
-figcaption,
-figure {
- display: block;
-}
-
-/**
- * Add the correct margin in IE 8.
- */
-figure {
- margin: 1em 40px;
-}
-
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-hr {
- box-sizing: content-box;
- /* 1 */
- height: 0;
- /* 1 */
- overflow: visible;
- /* 2 */
-}
-
-/**
- * Add the correct display in IE.
- */
-main {
- display: block;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-pre {
- font-family: monospace, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
-}
-
-/* Links
- ========================================================================== */
-/**
- * 1. Remove the gray background on active links in IE 10.
- * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
- */
-a {
- background-color: transparent;
- /* 1 */
- -webkit-text-decoration-skip: objects;
- /* 2 */
-}
-
-/* Text-level semantics
- ========================================================================== */
-/**
- * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-abbr[title] {
- border-bottom: none;
- /* 1 */
- text-decoration: underline;
- /* 2 */
- text-decoration: underline dotted;
- /* 2 */
-}
-
-/**
- * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
- */
-b,
-strong {
- font-weight: inherit;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b,
-strong {
- font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code,
-kbd,
-samp {
- font-family: monospace, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
-}
-
-/**
- * Add the correct font style in Android 4.3-.
- */
-dfn {
- font-style: italic;
-}
-
-/**
- * Add the correct background and color in IE 9-.
- */
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
- font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-/* Embedded content
- ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- */
-audio,
-video {
- display: inline-block;
-}
-
-/**
- * Add the correct display in iOS 4-7.
- */
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Remove the border on images inside links in IE 10-.
- */
-img {
- border-style: none;
-}
-
-/**
- * Hide the overflow in IE.
- */
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Forms
- ========================================================================== */
-/**
- * 1. Change the font styles in all browsers (opinionated).
- * 2. Remove the margin in Firefox and Safari.
- */
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif;
- /* 1 */
- font-size: 100%;
- /* 1 */
- line-height: 1.15;
- /* 1 */
- margin: 0;
- /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- */
-button {
- overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-button,
-select {
- /* 1 */
- text-transform: none;
-}
-
-/**
- * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
- * controls in Android 4.
- * 2. Correct the inability to style clickable types in iOS and Safari.
- */
-button,
-html [type=button],
-[type=reset],
-[type=submit] {
- -webkit-appearance: button;
- /* 2 */
-}
-
-button,
-[type=button],
-[type=reset],
-[type=submit] {
- /**
- * Remove the inner border and padding in Firefox.
- */
- /**
- * Restore the focus styles unset by the previous rule.
- */
-}
-button::-moz-focus-inner,
-[type=button]::-moz-focus-inner,
-[type=reset]::-moz-focus-inner,
-[type=submit]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-button:-moz-focusring,
-[type=button]:-moz-focusring,
-[type=reset]:-moz-focusring,
-[type=submit]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-/**
- * Show the overflow in Edge.
- */
-input {
- overflow: visible;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10-.
- * 2. Remove the padding in IE 10-.
- */
-[type=checkbox],
-[type=radio] {
- box-sizing: border-box;
- /* 1 */
- padding: 0;
- /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-[type=number]::-webkit-inner-spin-button,
-[type=number]::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type=search] {
- -webkit-appearance: textfield;
- /* 1 */
- outline-offset: -2px;
- /* 2 */
- /**
- * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
- */
-}
-[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- /* 1 */
- font: inherit;
- /* 2 */
-}
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
- padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- * `fieldset` elements in all browsers.
- */
-legend {
- box-sizing: border-box;
- /* 1 */
- display: table;
- /* 1 */
- max-width: 100%;
- /* 1 */
- padding: 0;
- /* 3 */
- color: inherit;
- /* 2 */
- white-space: normal;
- /* 1 */
-}
-
-/**
- * 1. Add the correct display in IE 9-.
- * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-progress {
- display: inline-block;
- /* 1 */
- vertical-align: baseline;
- /* 2 */
-}
-
-/**
- * Remove the default vertical scrollbar in IE.
- */
-textarea {
- overflow: auto;
-}
-
-/* Interactive
- ========================================================================== */
-/*
- * Add the correct display in Edge, IE, and Firefox.
- */
-details {
- display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-summary {
- display: list-item;
-}
-
-/*
- * Add the correct display in IE 9-.
- */
-menu {
- display: block;
-}
-
-/* Scripting
- ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- */
-canvas {
- display: inline-block;
-}
-
-/**
- * Add the correct display in IE.
- */
-template {
- display: none;
-}
-
-/* Hidden
- ========================================================================== */
-/**
- * Add the correct display in IE 10-.
- */
-[hidden] {
- display: none;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa,
-.fas,
-.far,
-.fal,
-.fad,
-.fab {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: inline-block;
- font-style: normal;
- font-variant: normal;
- text-rendering: auto;
- line-height: 1;
-}
-
-.fa-lg, .fa-large {
- font-size: 1.3333333333em;
- line-height: 0.75em;
- vertical-align: -0.0667em;
-}
-
-.fa-xs {
- font-size: 0.75em;
-}
-
-.fa-sm {
- font-size: 0.875em;
-}
-
-.fa-1x {
- font-size: 1em;
-}
-
-.fa-2x {
- font-size: 2em;
-}
-
-.fa-3x {
- font-size: 3em;
-}
-
-.fa-4x {
- font-size: 4em;
-}
-
-.fa-5x {
- font-size: 5em;
-}
-
-.fa-6x {
- font-size: 6em;
-}
-
-.fa-7x {
- font-size: 7em;
-}
-
-.fa-8x {
- font-size: 8em;
-}
-
-.fa-9x {
- font-size: 9em;
-}
-
-.fa-10x {
- font-size: 10em;
-}
-
-.fa-fw {
- text-align: center;
- width: 1.25em;
-}
-
-.fa-ul {
- list-style-type: none;
- margin-left: 2.5em;
- padding-left: 0;
-}
-.fa-ul > li {
- position: relative;
-}
-
-.fa-li {
- left: -2em;
- position: absolute;
- text-align: center;
- width: 2em;
- line-height: inherit;
-}
-
-.fa-border {
- border: solid 0.08em #eee;
- border-radius: 0.1em;
- padding: 0.2em 0.25em 0.15em;
-}
-
-.fa-pull-left {
- float: left;
-}
-
-.fa-pull-right {
- float: right;
-}
-
-.fa.fa-pull-left,
-.fas.fa-pull-left,
-.far.fa-pull-left,
-.fal.fa-pull-left,
-.fab.fa-pull-left {
- margin-right: 0.3em;
-}
-.fa.fa-pull-right,
-.fas.fa-pull-right,
-.far.fa-pull-right,
-.fal.fa-pull-right,
-.fab.fa-pull-right {
- margin-left: 0.3em;
-}
-
-.fa-spin, .modx-manager-search-results .loading-indicator:before {
- animation: fa-spin 2s infinite linear;
-}
-
-.fa-pulse {
- animation: fa-spin 1s infinite steps(8);
-}
-
-@keyframes fa-spin {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
-.fa-rotate-90 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
- transform: rotate(90deg);
-}
-
-.fa-rotate-180 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
- transform: rotate(180deg);
-}
-
-.fa-rotate-270 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
- transform: rotate(270deg);
-}
-
-.fa-flip-horizontal {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
- transform: scale(-1, 1);
-}
-
-.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- transform: scale(1, -1);
-}
-
-.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- transform: scale(-1, -1);
-}
-
-:root .fa-rotate-90,
-:root .fa-rotate-180,
-:root .fa-rotate-270,
-:root .fa-flip-horizontal,
-:root .fa-flip-vertical,
-:root .fa-flip-both {
- filter: none;
-}
-
-.fa-stack {
- display: inline-block;
- height: 2em;
- line-height: 2em;
- position: relative;
- vertical-align: middle;
- width: 2.5em;
-}
-
-.fa-stack-1x,
-.fa-stack-2x {
- left: 0;
- position: absolute;
- text-align: center;
- width: 100%;
-}
-
-.fa-stack-1x {
- line-height: inherit;
-}
-
-.fa-stack-2x {
- font-size: 2em;
-}
-
-.fa-inverse {
- color: #fff;
-}
-
-/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
-readers do not read off random characters that represent icons */
-.fa-500px:before {
- content: "\f26e";
-}
-
-.fa-accessible-icon:before {
- content: "\f368";
-}
-
-.fa-accusoft:before {
- content: "\f369";
-}
-
-.fa-acquisitions-incorporated:before {
- content: "\f6af";
-}
-
-.fa-ad:before {
- content: "\f641";
-}
-
-.fa-address-book:before {
- content: "\f2b9";
-}
-
-.fa-address-card:before {
- content: "\f2bb";
-}
-
-.fa-adjust:before {
- content: "\f042";
-}
-
-.fa-adn:before {
- content: "\f170";
-}
-
-.fa-adversal:before {
- content: "\f36a";
-}
-
-.fa-affiliatetheme:before {
- content: "\f36b";
-}
-
-.fa-air-freshener:before {
- content: "\f5d0";
-}
-
-.fa-airbnb:before {
- content: "\f834";
-}
-
-.fa-algolia:before {
- content: "\f36c";
-}
-
-.fa-align-center:before {
- content: "\f037";
-}
-
-.fa-align-justify:before {
- content: "\f039";
-}
-
-.fa-align-left:before {
- content: "\f036";
-}
-
-.fa-align-right:before {
- content: "\f038";
-}
-
-.fa-alipay:before {
- content: "\f642";
-}
-
-.fa-allergies:before {
- content: "\f461";
-}
-
-.fa-amazon:before {
- content: "\f270";
-}
-
-.fa-amazon-pay:before {
- content: "\f42c";
-}
-
-.fa-ambulance:before {
- content: "\f0f9";
-}
-
-.fa-american-sign-language-interpreting:before {
- content: "\f2a3";
-}
-
-.fa-amilia:before {
- content: "\f36d";
-}
-
-.fa-anchor:before {
- content: "\f13d";
-}
-
-.fa-android:before {
- content: "\f17b";
-}
-
-.fa-angellist:before {
- content: "\f209";
-}
-
-.fa-angle-double-down:before {
- content: "\f103";
-}
-
-.fa-angle-double-left:before {
- content: "\f100";
-}
-
-.fa-angle-double-right:before {
- content: "\f101";
-}
-
-.fa-angle-double-up:before {
- content: "\f102";
-}
-
-.fa-angle-down:before {
- content: "\f107";
-}
-
-.fa-angle-left:before {
- content: "\f104";
-}
-
-.fa-angle-right:before {
- content: "\f105";
-}
-
-.fa-angle-up:before {
- content: "\f106";
-}
-
-.fa-angry:before {
- content: "\f556";
-}
-
-.fa-angrycreative:before {
- content: "\f36e";
-}
-
-.fa-angular:before {
- content: "\f420";
-}
-
-.fa-ankh:before {
- content: "\f644";
-}
-
-.fa-app-store:before {
- content: "\f36f";
-}
-
-.fa-app-store-ios:before {
- content: "\f370";
-}
-
-.fa-apper:before {
- content: "\f371";
-}
-
-.fa-apple:before {
- content: "\f179";
-}
-
-.fa-apple-alt:before {
- content: "\f5d1";
-}
-
-.fa-apple-pay:before {
- content: "\f415";
-}
-
-.fa-archive:before {
- content: "\f187";
-}
-
-.fa-archway:before {
- content: "\f557";
-}
-
-.fa-arrow-alt-circle-down:before {
- content: "\f358";
-}
-
-.fa-arrow-alt-circle-left:before {
- content: "\f359";
-}
-
-.fa-arrow-alt-circle-right:before {
- content: "\f35a";
-}
-
-.fa-arrow-alt-circle-up:before {
- content: "\f35b";
-}
-
-.fa-arrow-circle-down:before {
- content: "\f0ab";
-}
-
-.fa-arrow-circle-left:before {
- content: "\f0a8";
-}
-
-.fa-arrow-circle-right:before {
- content: "\f0a9";
-}
-
-.fa-arrow-circle-up:before {
- content: "\f0aa";
-}
-
-.fa-arrow-down:before {
- content: "\f063";
-}
-
-.fa-arrow-left:before {
- content: "\f060";
-}
-
-.fa-arrow-right:before {
- content: "\f061";
-}
-
-.fa-arrow-up:before {
- content: "\f062";
-}
-
-.fa-arrows-alt:before {
- content: "\f0b2";
-}
-
-.fa-arrows-alt-h:before {
- content: "\f337";
-}
-
-.fa-arrows-alt-v:before {
- content: "\f338";
-}
-
-.fa-artstation:before {
- content: "\f77a";
-}
-
-.fa-assistive-listening-systems:before {
- content: "\f2a2";
-}
-
-.fa-asterisk:before {
- content: "\f069";
-}
-
-.fa-asymmetrik:before {
- content: "\f372";
-}
-
-.fa-at:before {
- content: "\f1fa";
-}
-
-.fa-atlas:before {
- content: "\f558";
-}
-
-.fa-atlassian:before {
- content: "\f77b";
-}
-
-.fa-atom:before {
- content: "\f5d2";
-}
-
-.fa-audible:before {
- content: "\f373";
-}
-
-.fa-audio-description:before {
- content: "\f29e";
-}
-
-.fa-autoprefixer:before {
- content: "\f41c";
-}
-
-.fa-avianex:before {
- content: "\f374";
-}
-
-.fa-aviato:before {
- content: "\f421";
-}
-
-.fa-award:before {
- content: "\f559";
-}
-
-.fa-aws:before {
- content: "\f375";
-}
-
-.fa-baby:before {
- content: "\f77c";
-}
-
-.fa-baby-carriage:before {
- content: "\f77d";
-}
-
-.fa-backspace:before {
- content: "\f55a";
-}
-
-.fa-backward:before {
- content: "\f04a";
-}
-
-.fa-bacon:before {
- content: "\f7e5";
-}
-
-.fa-bacteria:before {
- content: "\e059";
-}
-
-.fa-bacterium:before {
- content: "\e05a";
-}
-
-.fa-bahai:before {
- content: "\f666";
-}
-
-.fa-balance-scale:before {
- content: "\f24e";
-}
-
-.fa-balance-scale-left:before {
- content: "\f515";
-}
-
-.fa-balance-scale-right:before {
- content: "\f516";
-}
-
-.fa-ban:before {
- content: "\f05e";
-}
-
-.fa-band-aid:before {
- content: "\f462";
-}
-
-.fa-bandcamp:before {
- content: "\f2d5";
-}
-
-.fa-barcode:before {
- content: "\f02a";
-}
-
-.fa-bars:before {
- content: "\f0c9";
-}
-
-.fa-baseball-ball:before {
- content: "\f433";
-}
-
-.fa-basketball-ball:before {
- content: "\f434";
-}
-
-.fa-bath:before {
- content: "\f2cd";
-}
-
-.fa-battery-empty:before {
- content: "\f244";
-}
-
-.fa-battery-full:before {
- content: "\f240";
-}
-
-.fa-battery-half:before {
- content: "\f242";
-}
-
-.fa-battery-quarter:before {
- content: "\f243";
-}
-
-.fa-battery-three-quarters:before {
- content: "\f241";
-}
-
-.fa-battle-net:before {
- content: "\f835";
-}
-
-.fa-bed:before {
- content: "\f236";
-}
-
-.fa-beer:before {
- content: "\f0fc";
-}
-
-.fa-behance:before {
- content: "\f1b4";
-}
-
-.fa-behance-square:before {
- content: "\f1b5";
-}
-
-.fa-bell:before {
- content: "\f0f3";
-}
-
-.fa-bell-slash:before {
- content: "\f1f6";
-}
-
-.fa-bezier-curve:before {
- content: "\f55b";
-}
-
-.fa-bible:before {
- content: "\f647";
-}
-
-.fa-bicycle:before {
- content: "\f206";
-}
-
-.fa-biking:before {
- content: "\f84a";
-}
-
-.fa-bimobject:before {
- content: "\f378";
-}
-
-.fa-binoculars:before {
- content: "\f1e5";
-}
-
-.fa-biohazard:before {
- content: "\f780";
-}
-
-.fa-birthday-cake:before {
- content: "\f1fd";
-}
-
-.fa-bitbucket:before {
- content: "\f171";
-}
-
-.fa-bitcoin:before {
- content: "\f379";
-}
-
-.fa-bity:before {
- content: "\f37a";
-}
-
-.fa-black-tie:before {
- content: "\f27e";
-}
-
-.fa-blackberry:before {
- content: "\f37b";
-}
-
-.fa-blender:before {
- content: "\f517";
-}
-
-.fa-blender-phone:before {
- content: "\f6b6";
-}
-
-.fa-blind:before {
- content: "\f29d";
-}
-
-.fa-blog:before {
- content: "\f781";
-}
-
-.fa-blogger:before {
- content: "\f37c";
-}
-
-.fa-blogger-b:before {
- content: "\f37d";
-}
-
-.fa-bluetooth:before {
- content: "\f293";
-}
-
-.fa-bluetooth-b:before {
- content: "\f294";
-}
-
-.fa-bold:before {
- content: "\f032";
-}
-
-.fa-bolt:before {
- content: "\f0e7";
-}
-
-.fa-bomb:before {
- content: "\f1e2";
-}
-
-.fa-bone:before {
- content: "\f5d7";
-}
-
-.fa-bong:before {
- content: "\f55c";
-}
-
-.fa-book:before {
- content: "\f02d";
-}
-
-.fa-book-dead:before {
- content: "\f6b7";
-}
-
-.fa-book-medical:before {
- content: "\f7e6";
-}
-
-.fa-book-open:before {
- content: "\f518";
-}
-
-.fa-book-reader:before {
- content: "\f5da";
-}
-
-.fa-bookmark:before {
- content: "\f02e";
-}
-
-.fa-bootstrap:before {
- content: "\f836";
-}
-
-.fa-border-all:before {
- content: "\f84c";
-}
-
-.fa-border-none:before {
- content: "\f850";
-}
-
-.fa-border-style:before {
- content: "\f853";
-}
-
-.fa-bowling-ball:before {
- content: "\f436";
-}
-
-.fa-box:before {
- content: "\f466";
-}
-
-.fa-box-open:before {
- content: "\f49e";
-}
-
-.fa-box-tissue:before {
- content: "\e05b";
-}
-
-.fa-boxes:before {
- content: "\f468";
-}
-
-.fa-braille:before {
- content: "\f2a1";
-}
-
-.fa-brain:before {
- content: "\f5dc";
-}
-
-.fa-bread-slice:before {
- content: "\f7ec";
-}
-
-.fa-briefcase:before {
- content: "\f0b1";
-}
-
-.fa-briefcase-medical:before {
- content: "\f469";
-}
-
-.fa-broadcast-tower:before {
- content: "\f519";
-}
-
-.fa-broom:before {
- content: "\f51a";
-}
-
-.fa-brush:before {
- content: "\f55d";
-}
-
-.fa-btc:before {
- content: "\f15a";
-}
-
-.fa-buffer:before {
- content: "\f837";
-}
-
-.fa-bug:before {
- content: "\f188";
-}
-
-.fa-building:before {
- content: "\f1ad";
-}
-
-.fa-bullhorn:before {
- content: "\f0a1";
-}
-
-.fa-bullseye:before {
- content: "\f140";
-}
-
-.fa-burn:before {
- content: "\f46a";
-}
-
-.fa-buromobelexperte:before {
- content: "\f37f";
-}
-
-.fa-bus:before {
- content: "\f207";
-}
-
-.fa-bus-alt:before {
- content: "\f55e";
-}
-
-.fa-business-time:before {
- content: "\f64a";
-}
-
-.fa-buy-n-large:before {
- content: "\f8a6";
-}
-
-.fa-buysellads:before {
- content: "\f20d";
-}
-
-.fa-calculator:before {
- content: "\f1ec";
-}
-
-.fa-calendar:before {
- content: "\f133";
-}
-
-.fa-calendar-alt:before {
- content: "\f073";
-}
-
-.fa-calendar-check:before {
- content: "\f274";
-}
-
-.fa-calendar-day:before {
- content: "\f783";
-}
-
-.fa-calendar-minus:before {
- content: "\f272";
-}
-
-.fa-calendar-plus:before {
- content: "\f271";
-}
-
-.fa-calendar-times:before {
- content: "\f273";
-}
-
-.fa-calendar-week:before {
- content: "\f784";
-}
-
-.fa-camera:before {
- content: "\f030";
-}
-
-.fa-camera-retro:before {
- content: "\f083";
-}
-
-.fa-campground:before {
- content: "\f6bb";
-}
-
-.fa-canadian-maple-leaf:before {
- content: "\f785";
-}
-
-.fa-candy-cane:before {
- content: "\f786";
-}
-
-.fa-cannabis:before {
- content: "\f55f";
-}
-
-.fa-capsules:before {
- content: "\f46b";
-}
-
-.fa-car:before {
- content: "\f1b9";
-}
-
-.fa-car-alt:before {
- content: "\f5de";
-}
-
-.fa-car-battery:before {
- content: "\f5df";
-}
-
-.fa-car-crash:before {
- content: "\f5e1";
-}
-
-.fa-car-side:before {
- content: "\f5e4";
-}
-
-.fa-caravan:before {
- content: "\f8ff";
-}
-
-.fa-caret-down:before {
- content: "\f0d7";
-}
-
-.fa-caret-left:before {
- content: "\f0d9";
-}
-
-.fa-caret-right:before {
- content: "\f0da";
-}
-
-.fa-caret-square-down:before {
- content: "\f150";
-}
-
-.fa-caret-square-left:before {
- content: "\f191";
-}
-
-.fa-caret-square-right:before {
- content: "\f152";
-}
-
-.fa-caret-square-up:before {
- content: "\f151";
-}
-
-.fa-caret-up:before {
- content: "\f0d8";
-}
-
-.fa-carrot:before {
- content: "\f787";
-}
-
-.fa-cart-arrow-down:before {
- content: "\f218";
-}
-
-.fa-cart-plus:before {
- content: "\f217";
-}
-
-.fa-cash-register:before {
- content: "\f788";
-}
-
-.fa-cat:before {
- content: "\f6be";
-}
-
-.fa-cc-amazon-pay:before {
- content: "\f42d";
-}
-
-.fa-cc-amex:before {
- content: "\f1f3";
-}
-
-.fa-cc-apple-pay:before {
- content: "\f416";
-}
-
-.fa-cc-diners-club:before {
- content: "\f24c";
-}
-
-.fa-cc-discover:before {
- content: "\f1f2";
-}
-
-.fa-cc-jcb:before {
- content: "\f24b";
-}
-
-.fa-cc-mastercard:before {
- content: "\f1f1";
-}
-
-.fa-cc-paypal:before {
- content: "\f1f4";
-}
-
-.fa-cc-stripe:before {
- content: "\f1f5";
-}
-
-.fa-cc-visa:before {
- content: "\f1f0";
-}
-
-.fa-centercode:before {
- content: "\f380";
-}
-
-.fa-centos:before {
- content: "\f789";
-}
-
-.fa-certificate:before {
- content: "\f0a3";
-}
-
-.fa-chair:before {
- content: "\f6c0";
-}
-
-.fa-chalkboard:before {
- content: "\f51b";
-}
-
-.fa-chalkboard-teacher:before {
- content: "\f51c";
-}
-
-.fa-charging-station:before {
- content: "\f5e7";
-}
-
-.fa-chart-area:before {
- content: "\f1fe";
-}
-
-.fa-chart-bar:before {
- content: "\f080";
-}
-
-.fa-chart-line:before {
- content: "\f201";
-}
-
-.fa-chart-pie:before {
- content: "\f200";
-}
-
-.fa-check:before {
- content: "\f00c";
-}
-
-.fa-check-circle:before {
- content: "\f058";
-}
-
-.fa-check-double:before {
- content: "\f560";
-}
-
-.fa-check-square:before {
- content: "\f14a";
-}
-
-.fa-cheese:before {
- content: "\f7ef";
-}
-
-.fa-chess:before {
- content: "\f439";
-}
-
-.fa-chess-bishop:before {
- content: "\f43a";
-}
-
-.fa-chess-board:before {
- content: "\f43c";
-}
-
-.fa-chess-king:before {
- content: "\f43f";
-}
-
-.fa-chess-knight:before {
- content: "\f441";
-}
-
-.fa-chess-pawn:before {
- content: "\f443";
-}
-
-.fa-chess-queen:before {
- content: "\f445";
-}
-
-.fa-chess-rook:before {
- content: "\f447";
-}
-
-.fa-chevron-circle-down:before {
- content: "\f13a";
-}
-
-.fa-chevron-circle-left:before {
- content: "\f137";
-}
-
-.fa-chevron-circle-right:before {
- content: "\f138";
-}
-
-.fa-chevron-circle-up:before {
- content: "\f139";
-}
-
-.fa-chevron-down:before {
- content: "\f078";
-}
-
-.fa-chevron-left:before {
- content: "\f053";
-}
-
-.fa-chevron-right:before {
- content: "\f054";
-}
-
-.fa-chevron-up:before {
- content: "\f077";
-}
-
-.fa-child:before {
- content: "\f1ae";
-}
-
-.fa-chrome:before {
- content: "\f268";
-}
-
-.fa-chromecast:before {
- content: "\f838";
-}
-
-.fa-church:before {
- content: "\f51d";
-}
-
-.fa-circle:before {
- content: "\f111";
-}
-
-.fa-circle-notch:before {
- content: "\f1ce";
-}
-
-.fa-city:before {
- content: "\f64f";
-}
-
-.fa-clinic-medical:before {
- content: "\f7f2";
-}
-
-.fa-clipboard:before {
- content: "\f328";
-}
-
-.fa-clipboard-check:before {
- content: "\f46c";
-}
-
-.fa-clipboard-list:before {
- content: "\f46d";
-}
-
-.fa-clock:before {
- content: "\f017";
-}
-
-.fa-clone:before {
- content: "\f24d";
-}
-
-.fa-closed-captioning:before {
- content: "\f20a";
-}
-
-.fa-cloud:before {
- content: "\f0c2";
-}
-
-.fa-cloud-download-alt:before {
- content: "\f381";
-}
-
-.fa-cloud-meatball:before {
- content: "\f73b";
-}
-
-.fa-cloud-moon:before {
- content: "\f6c3";
-}
-
-.fa-cloud-moon-rain:before {
- content: "\f73c";
-}
-
-.fa-cloud-rain:before {
- content: "\f73d";
-}
-
-.fa-cloud-showers-heavy:before {
- content: "\f740";
-}
-
-.fa-cloud-sun:before {
- content: "\f6c4";
-}
-
-.fa-cloud-sun-rain:before {
- content: "\f743";
-}
-
-.fa-cloud-upload-alt:before {
- content: "\f382";
-}
-
-.fa-cloudflare:before {
- content: "\e07d";
-}
-
-.fa-cloudscale:before {
- content: "\f383";
-}
-
-.fa-cloudsmith:before {
- content: "\f384";
-}
-
-.fa-cloudversify:before {
- content: "\f385";
-}
-
-.fa-cocktail:before {
- content: "\f561";
-}
-
-.fa-code:before {
- content: "\f121";
-}
-
-.fa-code-branch:before {
- content: "\f126";
-}
-
-.fa-codepen:before {
- content: "\f1cb";
-}
-
-.fa-codiepie:before {
- content: "\f284";
-}
-
-.fa-coffee:before {
- content: "\f0f4";
-}
-
-.fa-cog:before {
- content: "\f013";
-}
-
-.fa-cogs:before {
- content: "\f085";
-}
-
-.fa-coins:before {
- content: "\f51e";
-}
-
-.fa-columns:before {
- content: "\f0db";
-}
-
-.fa-comment:before {
- content: "\f075";
-}
-
-.fa-comment-alt:before {
- content: "\f27a";
-}
-
-.fa-comment-dollar:before {
- content: "\f651";
-}
-
-.fa-comment-dots:before {
- content: "\f4ad";
-}
-
-.fa-comment-medical:before {
- content: "\f7f5";
-}
-
-.fa-comment-slash:before {
- content: "\f4b3";
-}
-
-.fa-comments:before {
- content: "\f086";
-}
-
-.fa-comments-dollar:before {
- content: "\f653";
-}
-
-.fa-compact-disc:before {
- content: "\f51f";
-}
-
-.fa-compass:before {
- content: "\f14e";
-}
-
-.fa-compress:before {
- content: "\f066";
-}
-
-.fa-compress-alt:before {
- content: "\f422";
-}
-
-.fa-compress-arrows-alt:before {
- content: "\f78c";
-}
-
-.fa-concierge-bell:before {
- content: "\f562";
-}
-
-.fa-confluence:before {
- content: "\f78d";
-}
-
-.fa-connectdevelop:before {
- content: "\f20e";
-}
-
-.fa-contao:before {
- content: "\f26d";
-}
-
-.fa-cookie:before {
- content: "\f563";
-}
-
-.fa-cookie-bite:before {
- content: "\f564";
-}
-
-.fa-copy:before {
- content: "\f0c5";
-}
-
-.fa-copyright:before {
- content: "\f1f9";
-}
-
-.fa-cotton-bureau:before {
- content: "\f89e";
-}
-
-.fa-couch:before {
- content: "\f4b8";
-}
-
-.fa-cpanel:before {
- content: "\f388";
-}
-
-.fa-creative-commons:before {
- content: "\f25e";
-}
-
-.fa-creative-commons-by:before {
- content: "\f4e7";
-}
-
-.fa-creative-commons-nc:before {
- content: "\f4e8";
-}
-
-.fa-creative-commons-nc-eu:before {
- content: "\f4e9";
-}
-
-.fa-creative-commons-nc-jp:before {
- content: "\f4ea";
-}
-
-.fa-creative-commons-nd:before {
- content: "\f4eb";
-}
-
-.fa-creative-commons-pd:before {
- content: "\f4ec";
-}
-
-.fa-creative-commons-pd-alt:before {
- content: "\f4ed";
-}
-
-.fa-creative-commons-remix:before {
- content: "\f4ee";
-}
-
-.fa-creative-commons-sa:before {
- content: "\f4ef";
-}
-
-.fa-creative-commons-sampling:before {
- content: "\f4f0";
-}
-
-.fa-creative-commons-sampling-plus:before {
- content: "\f4f1";
-}
-
-.fa-creative-commons-share:before {
- content: "\f4f2";
-}
-
-.fa-creative-commons-zero:before {
- content: "\f4f3";
-}
-
-.fa-credit-card:before {
- content: "\f09d";
-}
-
-.fa-critical-role:before {
- content: "\f6c9";
-}
-
-.fa-crop:before {
- content: "\f125";
-}
-
-.fa-crop-alt:before {
- content: "\f565";
-}
-
-.fa-cross:before {
- content: "\f654";
-}
-
-.fa-crosshairs:before {
- content: "\f05b";
-}
-
-.fa-crow:before {
- content: "\f520";
-}
-
-.fa-crown:before {
- content: "\f521";
-}
-
-.fa-crutch:before {
- content: "\f7f7";
-}
-
-.fa-css3:before {
- content: "\f13c";
-}
-
-.fa-css3-alt:before {
- content: "\f38b";
-}
-
-.fa-cube:before {
- content: "\f1b2";
-}
-
-.fa-cubes:before {
- content: "\f1b3";
-}
-
-.fa-cut:before {
- content: "\f0c4";
-}
-
-.fa-cuttlefish:before {
- content: "\f38c";
-}
-
-.fa-d-and-d:before {
- content: "\f38d";
-}
-
-.fa-d-and-d-beyond:before {
- content: "\f6ca";
-}
-
-.fa-dailymotion:before {
- content: "\e052";
-}
-
-.fa-dashcube:before {
- content: "\f210";
-}
-
-.fa-database:before {
- content: "\f1c0";
-}
-
-.fa-deaf:before {
- content: "\f2a4";
-}
-
-.fa-deezer:before {
- content: "\e077";
-}
-
-.fa-delicious:before {
- content: "\f1a5";
-}
-
-.fa-democrat:before {
- content: "\f747";
-}
-
-.fa-deploydog:before {
- content: "\f38e";
-}
-
-.fa-deskpro:before {
- content: "\f38f";
-}
-
-.fa-desktop:before {
- content: "\f108";
-}
-
-.fa-dev:before {
- content: "\f6cc";
-}
-
-.fa-deviantart:before {
- content: "\f1bd";
-}
-
-.fa-dharmachakra:before {
- content: "\f655";
-}
-
-.fa-dhl:before {
- content: "\f790";
-}
-
-.fa-diagnoses:before {
- content: "\f470";
-}
-
-.fa-diaspora:before {
- content: "\f791";
-}
-
-.fa-dice:before {
- content: "\f522";
-}
-
-.fa-dice-d20:before {
- content: "\f6cf";
-}
-
-.fa-dice-d6:before {
- content: "\f6d1";
-}
-
-.fa-dice-five:before {
- content: "\f523";
-}
-
-.fa-dice-four:before {
- content: "\f524";
-}
-
-.fa-dice-one:before {
- content: "\f525";
-}
-
-.fa-dice-six:before {
- content: "\f526";
-}
-
-.fa-dice-three:before {
- content: "\f527";
-}
-
-.fa-dice-two:before {
- content: "\f528";
-}
-
-.fa-digg:before {
- content: "\f1a6";
-}
-
-.fa-digital-ocean:before {
- content: "\f391";
-}
-
-.fa-digital-tachograph:before {
- content: "\f566";
-}
-
-.fa-directions:before {
- content: "\f5eb";
-}
-
-.fa-discord:before {
- content: "\f392";
-}
-
-.fa-discourse:before {
- content: "\f393";
-}
-
-.fa-disease:before {
- content: "\f7fa";
-}
-
-.fa-divide:before {
- content: "\f529";
-}
-
-.fa-dizzy:before {
- content: "\f567";
-}
-
-.fa-dna:before {
- content: "\f471";
-}
-
-.fa-dochub:before {
- content: "\f394";
-}
-
-.fa-docker:before {
- content: "\f395";
-}
-
-.fa-dog:before {
- content: "\f6d3";
-}
-
-.fa-dollar-sign:before {
- content: "\f155";
-}
-
-.fa-dolly:before {
- content: "\f472";
-}
-
-.fa-dolly-flatbed:before {
- content: "\f474";
-}
-
-.fa-donate:before {
- content: "\f4b9";
-}
-
-.fa-door-closed:before {
- content: "\f52a";
-}
-
-.fa-door-open:before {
- content: "\f52b";
-}
-
-.fa-dot-circle:before {
- content: "\f192";
-}
-
-.fa-dove:before {
- content: "\f4ba";
-}
-
-.fa-download:before {
- content: "\f019";
-}
-
-.fa-draft2digital:before {
- content: "\f396";
-}
-
-.fa-drafting-compass:before {
- content: "\f568";
-}
-
-.fa-dragon:before {
- content: "\f6d5";
-}
-
-.fa-draw-polygon:before {
- content: "\f5ee";
-}
-
-.fa-dribbble:before {
- content: "\f17d";
-}
-
-.fa-dribbble-square:before {
- content: "\f397";
-}
-
-.fa-dropbox:before {
- content: "\f16b";
-}
-
-.fa-drum:before {
- content: "\f569";
-}
-
-.fa-drum-steelpan:before {
- content: "\f56a";
-}
-
-.fa-drumstick-bite:before {
- content: "\f6d7";
-}
-
-.fa-drupal:before {
- content: "\f1a9";
-}
-
-.fa-dumbbell:before {
- content: "\f44b";
-}
-
-.fa-dumpster:before {
- content: "\f793";
-}
-
-.fa-dumpster-fire:before {
- content: "\f794";
-}
-
-.fa-dungeon:before {
- content: "\f6d9";
-}
-
-.fa-dyalog:before {
- content: "\f399";
-}
-
-.fa-earlybirds:before {
- content: "\f39a";
-}
-
-.fa-ebay:before {
- content: "\f4f4";
-}
-
-.fa-edge:before {
- content: "\f282";
-}
-
-.fa-edge-legacy:before {
- content: "\e078";
-}
-
-.fa-edit:before {
- content: "\f044";
-}
-
-.fa-egg:before {
- content: "\f7fb";
-}
-
-.fa-eject:before {
- content: "\f052";
-}
-
-.fa-elementor:before {
- content: "\f430";
-}
-
-.fa-ellipsis-h:before {
- content: "\f141";
-}
-
-.fa-ellipsis-v:before {
- content: "\f142";
-}
-
-.fa-ello:before {
- content: "\f5f1";
-}
-
-.fa-ember:before {
- content: "\f423";
-}
-
-.fa-empire:before {
- content: "\f1d1";
-}
-
-.fa-envelope:before {
- content: "\f0e0";
-}
-
-.fa-envelope-open:before {
- content: "\f2b6";
-}
-
-.fa-envelope-open-text:before {
- content: "\f658";
-}
-
-.fa-envelope-square:before {
- content: "\f199";
-}
-
-.fa-envira:before {
- content: "\f299";
-}
-
-.fa-equals:before {
- content: "\f52c";
-}
-
-.fa-eraser:before {
- content: "\f12d";
-}
-
-.fa-erlang:before {
- content: "\f39d";
-}
-
-.fa-ethereum:before {
- content: "\f42e";
-}
-
-.fa-ethernet:before {
- content: "\f796";
-}
-
-.fa-etsy:before {
- content: "\f2d7";
-}
-
-.fa-euro-sign:before {
- content: "\f153";
-}
-
-.fa-evernote:before {
- content: "\f839";
-}
-
-.fa-exchange-alt:before {
- content: "\f362";
-}
-
-.fa-exclamation:before {
- content: "\f12a";
-}
-
-.fa-exclamation-circle:before {
- content: "\f06a";
-}
-
-.fa-exclamation-triangle:before {
- content: "\f071";
-}
-
-.fa-expand:before {
- content: "\f065";
-}
-
-.fa-expand-alt:before {
- content: "\f424";
-}
-
-.fa-expand-arrows-alt:before {
- content: "\f31e";
-}
-
-.fa-expeditedssl:before {
- content: "\f23e";
-}
-
-.fa-external-link-alt:before {
- content: "\f35d";
-}
-
-.fa-external-link-square-alt:before {
- content: "\f360";
-}
-
-.fa-eye:before {
- content: "\f06e";
-}
-
-.fa-eye-dropper:before {
- content: "\f1fb";
-}
-
-.fa-eye-slash:before {
- content: "\f070";
-}
-
-.fa-facebook:before {
- content: "\f09a";
-}
-
-.fa-facebook-f:before {
- content: "\f39e";
-}
-
-.fa-facebook-messenger:before {
- content: "\f39f";
-}
-
-.fa-facebook-square:before {
- content: "\f082";
-}
-
-.fa-fan:before {
- content: "\f863";
-}
-
-.fa-fantasy-flight-games:before {
- content: "\f6dc";
-}
-
-.fa-fast-backward:before {
- content: "\f049";
-}
-
-.fa-fast-forward:before {
- content: "\f050";
-}
-
-.fa-faucet:before {
- content: "\e005";
-}
-
-.fa-fax:before {
- content: "\f1ac";
-}
-
-.fa-feather:before {
- content: "\f52d";
-}
-
-.fa-feather-alt:before {
- content: "\f56b";
-}
-
-.fa-fedex:before {
- content: "\f797";
-}
-
-.fa-fedora:before {
- content: "\f798";
-}
-
-.fa-female:before {
- content: "\f182";
-}
-
-.fa-fighter-jet:before {
- content: "\f0fb";
-}
-
-.fa-figma:before {
- content: "\f799";
-}
-
-.fa-file:before {
- content: "\f15b";
-}
-
-.fa-file-alt:before {
- content: "\f15c";
-}
-
-.fa-file-archive:before {
- content: "\f1c6";
-}
-
-.fa-file-audio:before {
- content: "\f1c7";
-}
-
-.fa-file-code:before {
- content: "\f1c9";
-}
-
-.fa-file-contract:before {
- content: "\f56c";
-}
-
-.fa-file-csv:before {
- content: "\f6dd";
-}
-
-.fa-file-download:before {
- content: "\f56d";
-}
-
-.fa-file-excel:before {
- content: "\f1c3";
-}
-
-.fa-file-export:before {
- content: "\f56e";
-}
-
-.fa-file-image:before {
- content: "\f1c5";
-}
-
-.fa-file-import:before {
- content: "\f56f";
-}
-
-.fa-file-invoice:before {
- content: "\f570";
-}
-
-.fa-file-invoice-dollar:before {
- content: "\f571";
-}
-
-.fa-file-medical:before {
- content: "\f477";
-}
-
-.fa-file-medical-alt:before {
- content: "\f478";
-}
-
-.fa-file-pdf:before {
- content: "\f1c1";
-}
-
-.fa-file-powerpoint:before {
- content: "\f1c4";
-}
-
-.fa-file-prescription:before {
- content: "\f572";
-}
-
-.fa-file-signature:before {
- content: "\f573";
-}
-
-.fa-file-upload:before {
- content: "\f574";
-}
-
-.fa-file-video:before {
- content: "\f1c8";
-}
-
-.fa-file-word:before {
- content: "\f1c2";
-}
-
-.fa-fill:before {
- content: "\f575";
-}
-
-.fa-fill-drip:before {
- content: "\f576";
-}
-
-.fa-film:before {
- content: "\f008";
-}
-
-.fa-filter:before {
- content: "\f0b0";
-}
-
-.fa-fingerprint:before {
- content: "\f577";
-}
-
-.fa-fire:before {
- content: "\f06d";
-}
-
-.fa-fire-alt:before {
- content: "\f7e4";
-}
-
-.fa-fire-extinguisher:before {
- content: "\f134";
-}
-
-.fa-firefox:before {
- content: "\f269";
-}
-
-.fa-firefox-browser:before {
- content: "\e007";
-}
-
-.fa-first-aid:before {
- content: "\f479";
-}
-
-.fa-first-order:before {
- content: "\f2b0";
-}
-
-.fa-first-order-alt:before {
- content: "\f50a";
-}
-
-.fa-firstdraft:before {
- content: "\f3a1";
-}
-
-.fa-fish:before {
- content: "\f578";
-}
-
-.fa-fist-raised:before {
- content: "\f6de";
-}
-
-.fa-flag:before {
- content: "\f024";
-}
-
-.fa-flag-checkered:before {
- content: "\f11e";
-}
-
-.fa-flag-usa:before {
- content: "\f74d";
-}
-
-.fa-flask:before {
- content: "\f0c3";
-}
-
-.fa-flickr:before {
- content: "\f16e";
-}
-
-.fa-flipboard:before {
- content: "\f44d";
-}
-
-.fa-flushed:before {
- content: "\f579";
-}
-
-.fa-fly:before {
- content: "\f417";
-}
-
-.fa-folder:before {
- content: "\f07b";
-}
-
-.fa-folder-minus:before {
- content: "\f65d";
-}
-
-.fa-folder-open:before {
- content: "\f07c";
-}
-
-.fa-folder-plus:before {
- content: "\f65e";
-}
-
-.fa-font:before {
- content: "\f031";
-}
-
-.fa-font-awesome:before {
- content: "\f2b4";
-}
-
-.fa-font-awesome-alt:before {
- content: "\f35c";
-}
-
-.fa-font-awesome-flag:before {
- content: "\f425";
-}
-
-.fa-font-awesome-logo-full:before {
- content: "\f4e6";
-}
-
-.fa-fonticons:before {
- content: "\f280";
-}
-
-.fa-fonticons-fi:before {
- content: "\f3a2";
-}
-
-.fa-football-ball:before {
- content: "\f44e";
-}
-
-.fa-fort-awesome:before {
- content: "\f286";
-}
-
-.fa-fort-awesome-alt:before {
- content: "\f3a3";
-}
-
-.fa-forumbee:before {
- content: "\f211";
-}
-
-.fa-forward:before {
- content: "\f04e";
-}
-
-.fa-foursquare:before {
- content: "\f180";
-}
-
-.fa-free-code-camp:before {
- content: "\f2c5";
-}
-
-.fa-freebsd:before {
- content: "\f3a4";
-}
-
-.fa-frog:before {
- content: "\f52e";
-}
-
-.fa-frown:before {
- content: "\f119";
-}
-
-.fa-frown-open:before {
- content: "\f57a";
-}
-
-.fa-fulcrum:before {
- content: "\f50b";
-}
-
-.fa-funnel-dollar:before {
- content: "\f662";
-}
-
-.fa-futbol:before {
- content: "\f1e3";
-}
-
-.fa-galactic-republic:before {
- content: "\f50c";
-}
-
-.fa-galactic-senate:before {
- content: "\f50d";
-}
-
-.fa-gamepad:before {
- content: "\f11b";
-}
-
-.fa-gas-pump:before {
- content: "\f52f";
-}
-
-.fa-gavel:before {
- content: "\f0e3";
-}
-
-.fa-gem:before {
- content: "\f3a5";
-}
-
-.fa-genderless:before {
- content: "\f22d";
-}
-
-.fa-get-pocket:before {
- content: "\f265";
-}
-
-.fa-gg:before {
- content: "\f260";
-}
-
-.fa-gg-circle:before {
- content: "\f261";
-}
-
-.fa-ghost:before {
- content: "\f6e2";
-}
-
-.fa-gift:before {
- content: "\f06b";
-}
-
-.fa-gifts:before {
- content: "\f79c";
-}
-
-.fa-git:before {
- content: "\f1d3";
-}
-
-.fa-git-alt:before {
- content: "\f841";
-}
-
-.fa-git-square:before {
- content: "\f1d2";
-}
-
-.fa-github:before {
- content: "\f09b";
-}
-
-.fa-github-alt:before {
- content: "\f113";
-}
-
-.fa-github-square:before {
- content: "\f092";
-}
-
-.fa-gitkraken:before {
- content: "\f3a6";
-}
-
-.fa-gitlab:before {
- content: "\f296";
-}
-
-.fa-gitter:before {
- content: "\f426";
-}
-
-.fa-glass-cheers:before {
- content: "\f79f";
-}
-
-.fa-glass-martini:before {
- content: "\f000";
-}
-
-.fa-glass-martini-alt:before {
- content: "\f57b";
-}
-
-.fa-glass-whiskey:before {
- content: "\f7a0";
-}
-
-.fa-glasses:before {
- content: "\f530";
-}
-
-.fa-glide:before {
- content: "\f2a5";
-}
-
-.fa-glide-g:before {
- content: "\f2a6";
-}
-
-.fa-globe:before {
- content: "\f0ac";
-}
-
-.fa-globe-africa:before {
- content: "\f57c";
-}
-
-.fa-globe-americas:before {
- content: "\f57d";
-}
-
-.fa-globe-asia:before {
- content: "\f57e";
-}
-
-.fa-globe-europe:before {
- content: "\f7a2";
-}
-
-.fa-gofore:before {
- content: "\f3a7";
-}
-
-.fa-golf-ball:before {
- content: "\f450";
-}
-
-.fa-goodreads:before {
- content: "\f3a8";
-}
-
-.fa-goodreads-g:before {
- content: "\f3a9";
-}
-
-.fa-google:before {
- content: "\f1a0";
-}
-
-.fa-google-drive:before {
- content: "\f3aa";
-}
-
-.fa-google-pay:before {
- content: "\e079";
-}
-
-.fa-google-play:before {
- content: "\f3ab";
-}
-
-.fa-google-plus:before {
- content: "\f2b3";
-}
-
-.fa-google-plus-g:before {
- content: "\f0d5";
-}
-
-.fa-google-plus-square:before {
- content: "\f0d4";
-}
-
-.fa-google-wallet:before {
- content: "\f1ee";
-}
-
-.fa-gopuram:before {
- content: "\f664";
-}
-
-.fa-graduation-cap:before {
- content: "\f19d";
-}
-
-.fa-gratipay:before {
- content: "\f184";
-}
-
-.fa-grav:before {
- content: "\f2d6";
-}
-
-.fa-greater-than:before {
- content: "\f531";
-}
-
-.fa-greater-than-equal:before {
- content: "\f532";
-}
-
-.fa-grimace:before {
- content: "\f57f";
-}
-
-.fa-grin:before {
- content: "\f580";
-}
-
-.fa-grin-alt:before {
- content: "\f581";
-}
-
-.fa-grin-beam:before {
- content: "\f582";
-}
-
-.fa-grin-beam-sweat:before {
- content: "\f583";
-}
-
-.fa-grin-hearts:before {
- content: "\f584";
-}
-
-.fa-grin-squint:before {
- content: "\f585";
-}
-
-.fa-grin-squint-tears:before {
- content: "\f586";
-}
-
-.fa-grin-stars:before {
- content: "\f587";
-}
-
-.fa-grin-tears:before {
- content: "\f588";
-}
-
-.fa-grin-tongue:before {
- content: "\f589";
-}
-
-.fa-grin-tongue-squint:before {
- content: "\f58a";
-}
-
-.fa-grin-tongue-wink:before {
- content: "\f58b";
-}
-
-.fa-grin-wink:before {
- content: "\f58c";
-}
-
-.fa-grip-horizontal:before {
- content: "\f58d";
-}
-
-.fa-grip-lines:before {
- content: "\f7a4";
-}
-
-.fa-grip-lines-vertical:before {
- content: "\f7a5";
-}
-
-.fa-grip-vertical:before {
- content: "\f58e";
-}
-
-.fa-gripfire:before {
- content: "\f3ac";
-}
-
-.fa-grunt:before {
- content: "\f3ad";
-}
-
-.fa-guilded:before {
- content: "\e07e";
-}
-
-.fa-guitar:before {
- content: "\f7a6";
-}
-
-.fa-gulp:before {
- content: "\f3ae";
-}
-
-.fa-h-square:before {
- content: "\f0fd";
-}
-
-.fa-hacker-news:before {
- content: "\f1d4";
-}
-
-.fa-hacker-news-square:before {
- content: "\f3af";
-}
-
-.fa-hackerrank:before {
- content: "\f5f7";
-}
-
-.fa-hamburger:before {
- content: "\f805";
-}
-
-.fa-hammer:before {
- content: "\f6e3";
-}
-
-.fa-hamsa:before {
- content: "\f665";
-}
-
-.fa-hand-holding:before {
- content: "\f4bd";
-}
-
-.fa-hand-holding-heart:before {
- content: "\f4be";
-}
-
-.fa-hand-holding-medical:before {
- content: "\e05c";
-}
-
-.fa-hand-holding-usd:before {
- content: "\f4c0";
-}
-
-.fa-hand-holding-water:before {
- content: "\f4c1";
-}
-
-.fa-hand-lizard:before {
- content: "\f258";
-}
-
-.fa-hand-middle-finger:before {
- content: "\f806";
-}
-
-.fa-hand-paper:before {
- content: "\f256";
-}
-
-.fa-hand-peace:before {
- content: "\f25b";
-}
-
-.fa-hand-point-down:before {
- content: "\f0a7";
-}
-
-.fa-hand-point-left:before {
- content: "\f0a5";
-}
-
-.fa-hand-point-right:before {
- content: "\f0a4";
-}
-
-.fa-hand-point-up:before {
- content: "\f0a6";
-}
-
-.fa-hand-pointer:before {
- content: "\f25a";
-}
-
-.fa-hand-rock:before {
- content: "\f255";
-}
-
-.fa-hand-scissors:before {
- content: "\f257";
-}
-
-.fa-hand-sparkles:before {
- content: "\e05d";
-}
-
-.fa-hand-spock:before {
- content: "\f259";
-}
-
-.fa-hands:before {
- content: "\f4c2";
-}
-
-.fa-hands-helping:before {
- content: "\f4c4";
-}
-
-.fa-hands-wash:before {
- content: "\e05e";
-}
-
-.fa-handshake:before {
- content: "\f2b5";
-}
-
-.fa-handshake-alt-slash:before {
- content: "\e05f";
-}
-
-.fa-handshake-slash:before {
- content: "\e060";
-}
-
-.fa-hanukiah:before {
- content: "\f6e6";
-}
-
-.fa-hard-hat:before {
- content: "\f807";
-}
-
-.fa-hashtag:before {
- content: "\f292";
-}
-
-.fa-hat-cowboy:before {
- content: "\f8c0";
-}
-
-.fa-hat-cowboy-side:before {
- content: "\f8c1";
-}
-
-.fa-hat-wizard:before {
- content: "\f6e8";
-}
-
-.fa-hdd:before {
- content: "\f0a0";
-}
-
-.fa-head-side-cough:before {
- content: "\e061";
-}
-
-.fa-head-side-cough-slash:before {
- content: "\e062";
-}
-
-.fa-head-side-mask:before {
- content: "\e063";
-}
-
-.fa-head-side-virus:before {
- content: "\e064";
-}
-
-.fa-heading:before {
- content: "\f1dc";
-}
-
-.fa-headphones:before {
- content: "\f025";
-}
-
-.fa-headphones-alt:before {
- content: "\f58f";
-}
-
-.fa-headset:before {
- content: "\f590";
-}
-
-.fa-heart:before {
- content: "\f004";
-}
-
-.fa-heart-broken:before {
- content: "\f7a9";
-}
-
-.fa-heartbeat:before {
- content: "\f21e";
-}
-
-.fa-helicopter:before {
- content: "\f533";
-}
-
-.fa-highlighter:before {
- content: "\f591";
-}
-
-.fa-hiking:before {
- content: "\f6ec";
-}
-
-.fa-hippo:before {
- content: "\f6ed";
-}
-
-.fa-hips:before {
- content: "\f452";
-}
-
-.fa-hire-a-helper:before {
- content: "\f3b0";
-}
-
-.fa-history:before {
- content: "\f1da";
-}
-
-.fa-hive:before {
- content: "\e07f";
-}
-
-.fa-hockey-puck:before {
- content: "\f453";
-}
-
-.fa-holly-berry:before {
- content: "\f7aa";
-}
-
-.fa-home:before {
- content: "\f015";
-}
-
-.fa-hooli:before {
- content: "\f427";
-}
-
-.fa-hornbill:before {
- content: "\f592";
-}
-
-.fa-horse:before {
- content: "\f6f0";
-}
-
-.fa-horse-head:before {
- content: "\f7ab";
-}
-
-.fa-hospital:before {
- content: "\f0f8";
-}
-
-.fa-hospital-alt:before {
- content: "\f47d";
-}
-
-.fa-hospital-symbol:before {
- content: "\f47e";
-}
-
-.fa-hospital-user:before {
- content: "\f80d";
-}
-
-.fa-hot-tub:before {
- content: "\f593";
-}
-
-.fa-hotdog:before {
- content: "\f80f";
-}
-
-.fa-hotel:before {
- content: "\f594";
-}
-
-.fa-hotjar:before {
- content: "\f3b1";
-}
-
-.fa-hourglass:before {
- content: "\f254";
-}
-
-.fa-hourglass-end:before {
- content: "\f253";
-}
-
-.fa-hourglass-half:before {
- content: "\f252";
-}
-
-.fa-hourglass-start:before {
- content: "\f251";
-}
-
-.fa-house-damage:before {
- content: "\f6f1";
-}
-
-.fa-house-user:before {
- content: "\e065";
-}
-
-.fa-houzz:before {
- content: "\f27c";
-}
-
-.fa-hryvnia:before {
- content: "\f6f2";
-}
-
-.fa-html5:before {
- content: "\f13b";
-}
-
-.fa-hubspot:before {
- content: "\f3b2";
-}
-
-.fa-i-cursor:before {
- content: "\f246";
-}
-
-.fa-ice-cream:before {
- content: "\f810";
-}
-
-.fa-icicles:before {
- content: "\f7ad";
-}
-
-.fa-icons:before {
- content: "\f86d";
-}
-
-.fa-id-badge:before {
- content: "\f2c1";
-}
-
-.fa-id-card:before {
- content: "\f2c2";
-}
-
-.fa-id-card-alt:before {
- content: "\f47f";
-}
-
-.fa-ideal:before {
- content: "\e013";
-}
-
-.fa-igloo:before {
- content: "\f7ae";
-}
-
-.fa-image:before {
- content: "\f03e";
-}
-
-.fa-images:before {
- content: "\f302";
-}
-
-.fa-imdb:before {
- content: "\f2d8";
-}
-
-.fa-inbox:before {
- content: "\f01c";
-}
-
-.fa-indent:before {
- content: "\f03c";
-}
-
-.fa-industry:before {
- content: "\f275";
-}
-
-.fa-infinity:before {
- content: "\f534";
-}
-
-.fa-info:before {
- content: "\f129";
-}
-
-.fa-info-circle:before {
- content: "\f05a";
-}
-
-.fa-innosoft:before {
- content: "\e080";
-}
-
-.fa-instagram:before {
- content: "\f16d";
-}
-
-.fa-instagram-square:before {
- content: "\e055";
-}
-
-.fa-instalod:before {
- content: "\e081";
-}
-
-.fa-intercom:before {
- content: "\f7af";
-}
-
-.fa-internet-explorer:before {
- content: "\f26b";
-}
-
-.fa-invision:before {
- content: "\f7b0";
-}
-
-.fa-ioxhost:before {
- content: "\f208";
-}
-
-.fa-italic:before {
- content: "\f033";
-}
-
-.fa-itch-io:before {
- content: "\f83a";
-}
-
-.fa-itunes:before {
- content: "\f3b4";
-}
-
-.fa-itunes-note:before {
- content: "\f3b5";
-}
-
-.fa-java:before {
- content: "\f4e4";
-}
-
-.fa-jedi:before {
- content: "\f669";
-}
-
-.fa-jedi-order:before {
- content: "\f50e";
-}
-
-.fa-jenkins:before {
- content: "\f3b6";
-}
-
-.fa-jira:before {
- content: "\f7b1";
-}
-
-.fa-joget:before {
- content: "\f3b7";
-}
-
-.fa-joint:before {
- content: "\f595";
-}
-
-.fa-joomla:before {
- content: "\f1aa";
-}
-
-.fa-journal-whills:before {
- content: "\f66a";
-}
-
-.fa-js:before {
- content: "\f3b8";
-}
-
-.fa-js-square:before {
- content: "\f3b9";
-}
-
-.fa-jsfiddle:before {
- content: "\f1cc";
-}
-
-.fa-kaaba:before {
- content: "\f66b";
-}
-
-.fa-kaggle:before {
- content: "\f5fa";
-}
-
-.fa-key:before {
- content: "\f084";
-}
-
-.fa-keybase:before {
- content: "\f4f5";
-}
-
-.fa-keyboard:before {
- content: "\f11c";
-}
-
-.fa-keycdn:before {
- content: "\f3ba";
-}
-
-.fa-khanda:before {
- content: "\f66d";
-}
-
-.fa-kickstarter:before {
- content: "\f3bb";
-}
-
-.fa-kickstarter-k:before {
- content: "\f3bc";
-}
-
-.fa-kiss:before {
- content: "\f596";
-}
-
-.fa-kiss-beam:before {
- content: "\f597";
-}
-
-.fa-kiss-wink-heart:before {
- content: "\f598";
-}
-
-.fa-kiwi-bird:before {
- content: "\f535";
-}
-
-.fa-korvue:before {
- content: "\f42f";
-}
-
-.fa-landmark:before {
- content: "\f66f";
-}
-
-.fa-language:before {
- content: "\f1ab";
-}
-
-.fa-laptop:before {
- content: "\f109";
-}
-
-.fa-laptop-code:before {
- content: "\f5fc";
-}
-
-.fa-laptop-house:before {
- content: "\e066";
-}
-
-.fa-laptop-medical:before {
- content: "\f812";
-}
-
-.fa-laravel:before {
- content: "\f3bd";
-}
-
-.fa-lastfm:before {
- content: "\f202";
-}
-
-.fa-lastfm-square:before {
- content: "\f203";
-}
-
-.fa-laugh:before {
- content: "\f599";
-}
-
-.fa-laugh-beam:before {
- content: "\f59a";
-}
-
-.fa-laugh-squint:before {
- content: "\f59b";
-}
-
-.fa-laugh-wink:before {
- content: "\f59c";
-}
-
-.fa-layer-group:before {
- content: "\f5fd";
-}
-
-.fa-leaf:before {
- content: "\f06c";
-}
-
-.fa-leanpub:before {
- content: "\f212";
-}
-
-.fa-lemon:before {
- content: "\f094";
-}
-
-.fa-less:before {
- content: "\f41d";
-}
-
-.fa-less-than:before {
- content: "\f536";
-}
-
-.fa-less-than-equal:before {
- content: "\f537";
-}
-
-.fa-level-down-alt:before {
- content: "\f3be";
-}
-
-.fa-level-up-alt:before {
- content: "\f3bf";
-}
-
-.fa-life-ring:before {
- content: "\f1cd";
-}
-
-.fa-lightbulb:before {
- content: "\f0eb";
-}
-
-.fa-line:before {
- content: "\f3c0";
-}
-
-.fa-link:before {
- content: "\f0c1";
-}
-
-.fa-linkedin:before {
- content: "\f08c";
-}
-
-.fa-linkedin-in:before {
- content: "\f0e1";
-}
-
-.fa-linode:before {
- content: "\f2b8";
-}
-
-.fa-linux:before {
- content: "\f17c";
-}
-
-.fa-lira-sign:before {
- content: "\f195";
-}
-
-.fa-list:before {
- content: "\f03a";
-}
-
-.fa-list-alt:before {
- content: "\f022";
-}
-
-.fa-list-ol:before {
- content: "\f0cb";
-}
-
-.fa-list-ul:before {
- content: "\f0ca";
-}
-
-.fa-location-arrow:before {
- content: "\f124";
-}
-
-.fa-lock:before {
- content: "\f023";
-}
-
-.fa-lock-open:before {
- content: "\f3c1";
-}
-
-.fa-long-arrow-alt-down:before {
- content: "\f309";
-}
-
-.fa-long-arrow-alt-left:before {
- content: "\f30a";
-}
-
-.fa-long-arrow-alt-right:before {
- content: "\f30b";
-}
-
-.fa-long-arrow-alt-up:before {
- content: "\f30c";
-}
-
-.fa-low-vision:before {
- content: "\f2a8";
-}
-
-.fa-luggage-cart:before {
- content: "\f59d";
-}
-
-.fa-lungs:before {
- content: "\f604";
-}
-
-.fa-lungs-virus:before {
- content: "\e067";
-}
-
-.fa-lyft:before {
- content: "\f3c3";
-}
-
-.fa-magento:before {
- content: "\f3c4";
-}
-
-.fa-magic:before {
- content: "\f0d0";
-}
-
-.fa-magnet:before {
- content: "\f076";
-}
-
-.fa-mail-bulk:before {
- content: "\f674";
-}
-
-.fa-mailchimp:before {
- content: "\f59e";
-}
-
-.fa-male:before {
- content: "\f183";
-}
-
-.fa-mandalorian:before {
- content: "\f50f";
-}
-
-.fa-map:before {
- content: "\f279";
-}
-
-.fa-map-marked:before {
- content: "\f59f";
-}
-
-.fa-map-marked-alt:before {
- content: "\f5a0";
-}
-
-.fa-map-marker:before {
- content: "\f041";
-}
-
-.fa-map-marker-alt:before {
- content: "\f3c5";
-}
-
-.fa-map-pin:before {
- content: "\f276";
-}
-
-.fa-map-signs:before {
- content: "\f277";
-}
-
-.fa-markdown:before {
- content: "\f60f";
-}
-
-.fa-marker:before {
- content: "\f5a1";
-}
-
-.fa-mars:before {
- content: "\f222";
-}
-
-.fa-mars-double:before {
- content: "\f227";
-}
-
-.fa-mars-stroke:before {
- content: "\f229";
-}
-
-.fa-mars-stroke-h:before {
- content: "\f22b";
-}
-
-.fa-mars-stroke-v:before {
- content: "\f22a";
-}
-
-.fa-mask:before {
- content: "\f6fa";
-}
-
-.fa-mastodon:before {
- content: "\f4f6";
-}
-
-.fa-maxcdn:before {
- content: "\f136";
-}
-
-.fa-mdb:before {
- content: "\f8ca";
-}
-
-.fa-medal:before {
- content: "\f5a2";
-}
-
-.fa-medapps:before {
- content: "\f3c6";
-}
-
-.fa-medium:before {
- content: "\f23a";
-}
-
-.fa-medium-m:before {
- content: "\f3c7";
-}
-
-.fa-medkit:before {
- content: "\f0fa";
-}
-
-.fa-medrt:before {
- content: "\f3c8";
-}
-
-.fa-meetup:before {
- content: "\f2e0";
-}
-
-.fa-megaport:before {
- content: "\f5a3";
-}
-
-.fa-meh:before {
- content: "\f11a";
-}
-
-.fa-meh-blank:before {
- content: "\f5a4";
-}
-
-.fa-meh-rolling-eyes:before {
- content: "\f5a5";
-}
-
-.fa-memory:before {
- content: "\f538";
-}
-
-.fa-mendeley:before {
- content: "\f7b3";
-}
-
-.fa-menorah:before {
- content: "\f676";
-}
-
-.fa-mercury:before {
- content: "\f223";
-}
-
-.fa-meteor:before {
- content: "\f753";
-}
-
-.fa-microblog:before {
- content: "\e01a";
-}
-
-.fa-microchip:before {
- content: "\f2db";
-}
-
-.fa-microphone:before {
- content: "\f130";
-}
-
-.fa-microphone-alt:before {
- content: "\f3c9";
-}
-
-.fa-microphone-alt-slash:before {
- content: "\f539";
-}
-
-.fa-microphone-slash:before {
- content: "\f131";
-}
-
-.fa-microscope:before {
- content: "\f610";
-}
-
-.fa-microsoft:before {
- content: "\f3ca";
-}
-
-.fa-minus:before {
- content: "\f068";
-}
-
-.fa-minus-circle:before {
- content: "\f056";
-}
-
-.fa-minus-square:before {
- content: "\f146";
-}
-
-.fa-mitten:before {
- content: "\f7b5";
-}
-
-.fa-mix:before {
- content: "\f3cb";
-}
-
-.fa-mixcloud:before {
- content: "\f289";
-}
-
-.fa-mixer:before {
- content: "\e056";
-}
-
-.fa-mizuni:before {
- content: "\f3cc";
-}
-
-.fa-mobile:before {
- content: "\f10b";
-}
-
-.fa-mobile-alt:before {
- content: "\f3cd";
-}
-
-.fa-modx:before {
- content: "\f285";
-}
-
-.fa-monero:before {
- content: "\f3d0";
-}
-
-.fa-money-bill:before {
- content: "\f0d6";
-}
-
-.fa-money-bill-alt:before {
- content: "\f3d1";
-}
-
-.fa-money-bill-wave:before {
- content: "\f53a";
-}
-
-.fa-money-bill-wave-alt:before {
- content: "\f53b";
-}
-
-.fa-money-check:before {
- content: "\f53c";
-}
-
-.fa-money-check-alt:before {
- content: "\f53d";
-}
-
-.fa-monument:before {
- content: "\f5a6";
-}
-
-.fa-moon:before {
- content: "\f186";
-}
-
-.fa-mortar-pestle:before {
- content: "\f5a7";
-}
-
-.fa-mosque:before {
- content: "\f678";
-}
-
-.fa-motorcycle:before {
- content: "\f21c";
-}
-
-.fa-mountain:before {
- content: "\f6fc";
-}
-
-.fa-mouse:before {
- content: "\f8cc";
-}
-
-.fa-mouse-pointer:before {
- content: "\f245";
-}
-
-.fa-mug-hot:before {
- content: "\f7b6";
-}
-
-.fa-music:before {
- content: "\f001";
-}
-
-.fa-napster:before {
- content: "\f3d2";
-}
-
-.fa-neos:before {
- content: "\f612";
-}
-
-.fa-network-wired:before {
- content: "\f6ff";
-}
-
-.fa-neuter:before {
- content: "\f22c";
-}
-
-.fa-newspaper:before {
- content: "\f1ea";
-}
-
-.fa-nimblr:before {
- content: "\f5a8";
-}
-
-.fa-node:before {
- content: "\f419";
-}
-
-.fa-node-js:before {
- content: "\f3d3";
-}
-
-.fa-not-equal:before {
- content: "\f53e";
-}
-
-.fa-notes-medical:before {
- content: "\f481";
-}
-
-.fa-npm:before {
- content: "\f3d4";
-}
-
-.fa-ns8:before {
- content: "\f3d5";
-}
-
-.fa-nutritionix:before {
- content: "\f3d6";
-}
-
-.fa-object-group:before {
- content: "\f247";
-}
-
-.fa-object-ungroup:before {
- content: "\f248";
-}
-
-.fa-octopus-deploy:before {
- content: "\e082";
-}
-
-.fa-odnoklassniki:before {
- content: "\f263";
-}
-
-.fa-odnoklassniki-square:before {
- content: "\f264";
-}
-
-.fa-oil-can:before {
- content: "\f613";
-}
-
-.fa-old-republic:before {
- content: "\f510";
-}
-
-.fa-om:before {
- content: "\f679";
-}
-
-.fa-opencart:before {
- content: "\f23d";
-}
-
-.fa-openid:before {
- content: "\f19b";
-}
-
-.fa-opera:before {
- content: "\f26a";
-}
-
-.fa-optin-monster:before {
- content: "\f23c";
-}
-
-.fa-orcid:before {
- content: "\f8d2";
-}
-
-.fa-osi:before {
- content: "\f41a";
-}
-
-.fa-otter:before {
- content: "\f700";
-}
-
-.fa-outdent:before {
- content: "\f03b";
-}
-
-.fa-page4:before {
- content: "\f3d7";
-}
-
-.fa-pagelines:before {
- content: "\f18c";
-}
-
-.fa-pager:before {
- content: "\f815";
-}
-
-.fa-paint-brush:before {
- content: "\f1fc";
-}
-
-.fa-paint-roller:before {
- content: "\f5aa";
-}
-
-.fa-palette:before {
- content: "\f53f";
-}
-
-.fa-palfed:before {
- content: "\f3d8";
-}
-
-.fa-pallet:before {
- content: "\f482";
-}
-
-.fa-paper-plane:before {
- content: "\f1d8";
-}
-
-.fa-paperclip:before {
- content: "\f0c6";
-}
-
-.fa-parachute-box:before {
- content: "\f4cd";
-}
-
-.fa-paragraph:before {
- content: "\f1dd";
-}
-
-.fa-parking:before {
- content: "\f540";
-}
-
-.fa-passport:before {
- content: "\f5ab";
-}
-
-.fa-pastafarianism:before {
- content: "\f67b";
-}
-
-.fa-paste:before {
- content: "\f0ea";
-}
-
-.fa-patreon:before {
- content: "\f3d9";
-}
-
-.fa-pause:before {
- content: "\f04c";
-}
-
-.fa-pause-circle:before {
- content: "\f28b";
-}
-
-.fa-paw:before {
- content: "\f1b0";
-}
-
-.fa-paypal:before {
- content: "\f1ed";
-}
-
-.fa-peace:before {
- content: "\f67c";
-}
-
-.fa-pen:before {
- content: "\f304";
-}
-
-.fa-pen-alt:before {
- content: "\f305";
-}
-
-.fa-pen-fancy:before {
- content: "\f5ac";
-}
-
-.fa-pen-nib:before {
- content: "\f5ad";
-}
-
-.fa-pen-square:before {
- content: "\f14b";
-}
-
-.fa-pencil-alt:before {
- content: "\f303";
-}
-
-.fa-pencil-ruler:before {
- content: "\f5ae";
-}
-
-.fa-penny-arcade:before {
- content: "\f704";
-}
-
-.fa-people-arrows:before {
- content: "\e068";
-}
-
-.fa-people-carry:before {
- content: "\f4ce";
-}
-
-.fa-pepper-hot:before {
- content: "\f816";
-}
-
-.fa-perbyte:before {
- content: "\e083";
-}
-
-.fa-percent:before {
- content: "\f295";
-}
-
-.fa-percentage:before {
- content: "\f541";
-}
-
-.fa-periscope:before {
- content: "\f3da";
-}
-
-.fa-person-booth:before {
- content: "\f756";
-}
-
-.fa-phabricator:before {
- content: "\f3db";
-}
-
-.fa-phoenix-framework:before {
- content: "\f3dc";
-}
-
-.fa-phoenix-squadron:before {
- content: "\f511";
-}
-
-.fa-phone:before {
- content: "\f095";
-}
-
-.fa-phone-alt:before {
- content: "\f879";
-}
-
-.fa-phone-slash:before {
- content: "\f3dd";
-}
-
-.fa-phone-square:before {
- content: "\f098";
-}
-
-.fa-phone-square-alt:before {
- content: "\f87b";
-}
-
-.fa-phone-volume:before {
- content: "\f2a0";
-}
-
-.fa-photo-video:before {
- content: "\f87c";
-}
-
-.fa-php:before {
- content: "\f457";
-}
-
-.fa-pied-piper:before {
- content: "\f2ae";
-}
-
-.fa-pied-piper-alt:before {
- content: "\f1a8";
-}
-
-.fa-pied-piper-hat:before {
- content: "\f4e5";
-}
-
-.fa-pied-piper-pp:before {
- content: "\f1a7";
-}
-
-.fa-pied-piper-square:before {
- content: "\e01e";
-}
-
-.fa-piggy-bank:before {
- content: "\f4d3";
-}
-
-.fa-pills:before {
- content: "\f484";
-}
-
-.fa-pinterest:before {
- content: "\f0d2";
-}
-
-.fa-pinterest-p:before {
- content: "\f231";
-}
-
-.fa-pinterest-square:before {
- content: "\f0d3";
-}
-
-.fa-pizza-slice:before {
- content: "\f818";
-}
-
-.fa-place-of-worship:before {
- content: "\f67f";
-}
-
-.fa-plane:before {
- content: "\f072";
-}
-
-.fa-plane-arrival:before {
- content: "\f5af";
-}
-
-.fa-plane-departure:before {
- content: "\f5b0";
-}
-
-.fa-plane-slash:before {
- content: "\e069";
-}
-
-.fa-play:before {
- content: "\f04b";
-}
-
-.fa-play-circle:before {
- content: "\f144";
-}
-
-.fa-playstation:before {
- content: "\f3df";
-}
-
-.fa-plug:before {
- content: "\f1e6";
-}
-
-.fa-plus:before {
- content: "\f067";
-}
-
-.fa-plus-circle:before {
- content: "\f055";
-}
-
-.fa-plus-square:before {
- content: "\f0fe";
-}
-
-.fa-podcast:before {
- content: "\f2ce";
-}
-
-.fa-poll:before {
- content: "\f681";
-}
-
-.fa-poll-h:before {
- content: "\f682";
-}
-
-.fa-poo:before {
- content: "\f2fe";
-}
-
-.fa-poo-storm:before {
- content: "\f75a";
-}
-
-.fa-poop:before {
- content: "\f619";
-}
-
-.fa-portrait:before {
- content: "\f3e0";
-}
-
-.fa-pound-sign:before {
- content: "\f154";
-}
-
-.fa-power-off:before {
- content: "\f011";
-}
-
-.fa-pray:before {
- content: "\f683";
-}
-
-.fa-praying-hands:before {
- content: "\f684";
-}
-
-.fa-prescription:before {
- content: "\f5b1";
-}
-
-.fa-prescription-bottle:before {
- content: "\f485";
-}
-
-.fa-prescription-bottle-alt:before {
- content: "\f486";
-}
-
-.fa-print:before {
- content: "\f02f";
-}
-
-.fa-procedures:before {
- content: "\f487";
-}
-
-.fa-product-hunt:before {
- content: "\f288";
-}
-
-.fa-project-diagram:before {
- content: "\f542";
-}
-
-.fa-pump-medical:before {
- content: "\e06a";
-}
-
-.fa-pump-soap:before {
- content: "\e06b";
-}
-
-.fa-pushed:before {
- content: "\f3e1";
-}
-
-.fa-puzzle-piece:before {
- content: "\f12e";
-}
-
-.fa-python:before {
- content: "\f3e2";
-}
-
-.fa-qq:before {
- content: "\f1d6";
-}
-
-.fa-qrcode:before {
- content: "\f029";
-}
-
-.fa-question:before {
- content: "\f128";
-}
-
-.fa-question-circle:before {
- content: "\f059";
-}
-
-.fa-quidditch:before {
- content: "\f458";
-}
-
-.fa-quinscape:before {
- content: "\f459";
-}
-
-.fa-quora:before {
- content: "\f2c4";
-}
-
-.fa-quote-left:before {
- content: "\f10d";
-}
-
-.fa-quote-right:before {
- content: "\f10e";
-}
-
-.fa-quran:before {
- content: "\f687";
-}
-
-.fa-r-project:before {
- content: "\f4f7";
-}
-
-.fa-radiation:before {
- content: "\f7b9";
-}
-
-.fa-radiation-alt:before {
- content: "\f7ba";
-}
-
-.fa-rainbow:before {
- content: "\f75b";
-}
-
-.fa-random:before {
- content: "\f074";
-}
-
-.fa-raspberry-pi:before {
- content: "\f7bb";
-}
-
-.fa-ravelry:before {
- content: "\f2d9";
-}
-
-.fa-react:before {
- content: "\f41b";
-}
-
-.fa-reacteurope:before {
- content: "\f75d";
-}
-
-.fa-readme:before {
- content: "\f4d5";
-}
-
-.fa-rebel:before {
- content: "\f1d0";
-}
-
-.fa-receipt:before {
- content: "\f543";
-}
-
-.fa-record-vinyl:before {
- content: "\f8d9";
-}
-
-.fa-recycle:before {
- content: "\f1b8";
-}
-
-.fa-red-river:before {
- content: "\f3e3";
-}
-
-.fa-reddit:before {
- content: "\f1a1";
-}
-
-.fa-reddit-alien:before {
- content: "\f281";
-}
-
-.fa-reddit-square:before {
- content: "\f1a2";
-}
-
-.fa-redhat:before {
- content: "\f7bc";
-}
-
-.fa-redo:before {
- content: "\f01e";
-}
-
-.fa-redo-alt:before {
- content: "\f2f9";
-}
-
-.fa-registered:before {
- content: "\f25d";
-}
-
-.fa-remove-format:before {
- content: "\f87d";
-}
-
-.fa-renren:before {
- content: "\f18b";
-}
-
-.fa-reply:before {
- content: "\f3e5";
-}
-
-.fa-reply-all:before {
- content: "\f122";
-}
-
-.fa-replyd:before {
- content: "\f3e6";
-}
-
-.fa-republican:before {
- content: "\f75e";
-}
-
-.fa-researchgate:before {
- content: "\f4f8";
-}
-
-.fa-resolving:before {
- content: "\f3e7";
-}
-
-.fa-restroom:before {
- content: "\f7bd";
-}
-
-.fa-retweet:before {
- content: "\f079";
-}
-
-.fa-rev:before {
- content: "\f5b2";
-}
-
-.fa-ribbon:before {
- content: "\f4d6";
-}
-
-.fa-ring:before {
- content: "\f70b";
-}
-
-.fa-road:before {
- content: "\f018";
-}
-
-.fa-robot:before {
- content: "\f544";
-}
-
-.fa-rocket:before {
- content: "\f135";
-}
-
-.fa-rocketchat:before {
- content: "\f3e8";
-}
-
-.fa-rockrms:before {
- content: "\f3e9";
-}
-
-.fa-route:before {
- content: "\f4d7";
-}
-
-.fa-rss:before {
- content: "\f09e";
-}
-
-.fa-rss-square:before {
- content: "\f143";
-}
-
-.fa-ruble-sign:before {
- content: "\f158";
-}
-
-.fa-ruler:before {
- content: "\f545";
-}
-
-.fa-ruler-combined:before {
- content: "\f546";
-}
-
-.fa-ruler-horizontal:before {
- content: "\f547";
-}
-
-.fa-ruler-vertical:before {
- content: "\f548";
-}
-
-.fa-running:before {
- content: "\f70c";
-}
-
-.fa-rupee-sign:before {
- content: "\f156";
-}
-
-.fa-rust:before {
- content: "\e07a";
-}
-
-.fa-sad-cry:before {
- content: "\f5b3";
-}
-
-.fa-sad-tear:before {
- content: "\f5b4";
-}
-
-.fa-safari:before {
- content: "\f267";
-}
-
-.fa-salesforce:before {
- content: "\f83b";
-}
-
-.fa-sass:before {
- content: "\f41e";
-}
-
-.fa-satellite:before {
- content: "\f7bf";
-}
-
-.fa-satellite-dish:before {
- content: "\f7c0";
-}
-
-.fa-save:before {
- content: "\f0c7";
-}
-
-.fa-schlix:before {
- content: "\f3ea";
-}
-
-.fa-school:before {
- content: "\f549";
-}
-
-.fa-screwdriver:before {
- content: "\f54a";
-}
-
-.fa-scribd:before {
- content: "\f28a";
-}
-
-.fa-scroll:before {
- content: "\f70e";
-}
-
-.fa-sd-card:before {
- content: "\f7c2";
-}
-
-.fa-search:before {
- content: "\f002";
-}
-
-.fa-search-dollar:before {
- content: "\f688";
-}
-
-.fa-search-location:before {
- content: "\f689";
-}
-
-.fa-search-minus:before {
- content: "\f010";
-}
-
-.fa-search-plus:before {
- content: "\f00e";
-}
-
-.fa-searchengin:before {
- content: "\f3eb";
-}
-
-.fa-seedling:before {
- content: "\f4d8";
-}
-
-.fa-sellcast:before {
- content: "\f2da";
-}
-
-.fa-sellsy:before {
- content: "\f213";
-}
-
-.fa-server:before {
- content: "\f233";
-}
-
-.fa-servicestack:before {
- content: "\f3ec";
-}
-
-.fa-shapes:before {
- content: "\f61f";
-}
-
-.fa-share:before {
- content: "\f064";
-}
-
-.fa-share-alt:before {
- content: "\f1e0";
-}
-
-.fa-share-alt-square:before {
- content: "\f1e1";
-}
-
-.fa-share-square:before {
- content: "\f14d";
-}
-
-.fa-shekel-sign:before {
- content: "\f20b";
-}
-
-.fa-shield-alt:before {
- content: "\f3ed";
-}
-
-.fa-shield-virus:before {
- content: "\e06c";
-}
-
-.fa-ship:before {
- content: "\f21a";
-}
-
-.fa-shipping-fast:before {
- content: "\f48b";
-}
-
-.fa-shirtsinbulk:before {
- content: "\f214";
-}
-
-.fa-shoe-prints:before {
- content: "\f54b";
-}
-
-.fa-shopify:before {
- content: "\e057";
-}
-
-.fa-shopping-bag:before {
- content: "\f290";
-}
-
-.fa-shopping-basket:before {
- content: "\f291";
-}
-
-.fa-shopping-cart:before {
- content: "\f07a";
-}
-
-.fa-shopware:before {
- content: "\f5b5";
-}
-
-.fa-shower:before {
- content: "\f2cc";
-}
-
-.fa-shuttle-van:before {
- content: "\f5b6";
-}
-
-.fa-sign:before {
- content: "\f4d9";
-}
-
-.fa-sign-in-alt:before {
- content: "\f2f6";
-}
-
-.fa-sign-language:before {
- content: "\f2a7";
-}
-
-.fa-sign-out-alt:before {
- content: "\f2f5";
-}
-
-.fa-signal:before {
- content: "\f012";
-}
-
-.fa-signature:before {
- content: "\f5b7";
-}
-
-.fa-sim-card:before {
- content: "\f7c4";
-}
-
-.fa-simplybuilt:before {
- content: "\f215";
-}
-
-.fa-sink:before {
- content: "\e06d";
-}
-
-.fa-sistrix:before {
- content: "\f3ee";
-}
-
-.fa-sitemap:before {
- content: "\f0e8";
-}
-
-.fa-sith:before {
- content: "\f512";
-}
-
-.fa-skating:before {
- content: "\f7c5";
-}
-
-.fa-sketch:before {
- content: "\f7c6";
-}
-
-.fa-skiing:before {
- content: "\f7c9";
-}
-
-.fa-skiing-nordic:before {
- content: "\f7ca";
-}
-
-.fa-skull:before {
- content: "\f54c";
-}
-
-.fa-skull-crossbones:before {
- content: "\f714";
-}
-
-.fa-skyatlas:before {
- content: "\f216";
-}
-
-.fa-skype:before {
- content: "\f17e";
-}
-
-.fa-slack:before {
- content: "\f198";
-}
-
-.fa-slack-hash:before {
- content: "\f3ef";
-}
-
-.fa-slash:before {
- content: "\f715";
-}
-
-.fa-sleigh:before {
- content: "\f7cc";
-}
-
-.fa-sliders-h:before {
- content: "\f1de";
-}
-
-.fa-slideshare:before {
- content: "\f1e7";
-}
-
-.fa-smile:before {
- content: "\f118";
-}
-
-.fa-smile-beam:before {
- content: "\f5b8";
-}
-
-.fa-smile-wink:before {
- content: "\f4da";
-}
-
-.fa-smog:before {
- content: "\f75f";
-}
-
-.fa-smoking:before {
- content: "\f48d";
-}
-
-.fa-smoking-ban:before {
- content: "\f54d";
-}
-
-.fa-sms:before {
- content: "\f7cd";
-}
-
-.fa-snapchat:before {
- content: "\f2ab";
-}
-
-.fa-snapchat-ghost:before {
- content: "\f2ac";
-}
-
-.fa-snapchat-square:before {
- content: "\f2ad";
-}
-
-.fa-snowboarding:before {
- content: "\f7ce";
-}
-
-.fa-snowflake:before {
- content: "\f2dc";
-}
-
-.fa-snowman:before {
- content: "\f7d0";
-}
-
-.fa-snowplow:before {
- content: "\f7d2";
-}
-
-.fa-soap:before {
- content: "\e06e";
-}
-
-.fa-socks:before {
- content: "\f696";
-}
-
-.fa-solar-panel:before {
- content: "\f5ba";
-}
-
-.fa-sort:before {
- content: "\f0dc";
-}
-
-.fa-sort-alpha-down:before {
- content: "\f15d";
-}
-
-.fa-sort-alpha-down-alt:before {
- content: "\f881";
-}
-
-.fa-sort-alpha-up:before {
- content: "\f15e";
-}
-
-.fa-sort-alpha-up-alt:before {
- content: "\f882";
-}
-
-.fa-sort-amount-down:before {
- content: "\f160";
-}
-
-.fa-sort-amount-down-alt:before {
- content: "\f884";
-}
-
-.fa-sort-amount-up:before {
- content: "\f161";
-}
-
-.fa-sort-amount-up-alt:before {
- content: "\f885";
-}
-
-.fa-sort-down:before {
- content: "\f0dd";
-}
-
-.fa-sort-numeric-down:before {
- content: "\f162";
-}
-
-.fa-sort-numeric-down-alt:before {
- content: "\f886";
-}
-
-.fa-sort-numeric-up:before {
- content: "\f163";
-}
-
-.fa-sort-numeric-up-alt:before {
- content: "\f887";
-}
-
-.fa-sort-up:before {
- content: "\f0de";
-}
-
-.fa-soundcloud:before {
- content: "\f1be";
-}
-
-.fa-sourcetree:before {
- content: "\f7d3";
-}
-
-.fa-spa:before {
- content: "\f5bb";
-}
-
-.fa-space-shuttle:before {
- content: "\f197";
-}
-
-.fa-speakap:before {
- content: "\f3f3";
-}
-
-.fa-speaker-deck:before {
- content: "\f83c";
-}
-
-.fa-spell-check:before {
- content: "\f891";
-}
-
-.fa-spider:before {
- content: "\f717";
-}
-
-.fa-spinner:before {
- content: "\f110";
-}
-
-.fa-splotch:before {
- content: "\f5bc";
-}
-
-.fa-spotify:before {
- content: "\f1bc";
-}
-
-.fa-spray-can:before {
- content: "\f5bd";
-}
-
-.fa-square:before {
- content: "\f0c8";
-}
-
-.fa-square-full:before {
- content: "\f45c";
-}
-
-.fa-square-root-alt:before {
- content: "\f698";
-}
-
-.fa-squarespace:before {
- content: "\f5be";
-}
-
-.fa-stack-exchange:before {
- content: "\f18d";
-}
-
-.fa-stack-overflow:before {
- content: "\f16c";
-}
-
-.fa-stackpath:before {
- content: "\f842";
-}
-
-.fa-stamp:before {
- content: "\f5bf";
-}
-
-.fa-star:before {
- content: "\f005";
-}
-
-.fa-star-and-crescent:before {
- content: "\f699";
-}
-
-.fa-star-half:before {
- content: "\f089";
-}
-
-.fa-star-half-alt:before {
- content: "\f5c0";
-}
-
-.fa-star-of-david:before {
- content: "\f69a";
-}
-
-.fa-star-of-life:before {
- content: "\f621";
-}
-
-.fa-staylinked:before {
- content: "\f3f5";
-}
-
-.fa-steam:before {
- content: "\f1b6";
-}
-
-.fa-steam-square:before {
- content: "\f1b7";
-}
-
-.fa-steam-symbol:before {
- content: "\f3f6";
-}
-
-.fa-step-backward:before {
- content: "\f048";
-}
-
-.fa-step-forward:before {
- content: "\f051";
-}
-
-.fa-stethoscope:before {
- content: "\f0f1";
-}
-
-.fa-sticker-mule:before {
- content: "\f3f7";
-}
-
-.fa-sticky-note:before {
- content: "\f249";
-}
-
-.fa-stop:before {
- content: "\f04d";
-}
-
-.fa-stop-circle:before {
- content: "\f28d";
-}
-
-.fa-stopwatch:before {
- content: "\f2f2";
-}
-
-.fa-stopwatch-20:before {
- content: "\e06f";
-}
-
-.fa-store:before {
- content: "\f54e";
-}
-
-.fa-store-alt:before {
- content: "\f54f";
-}
-
-.fa-store-alt-slash:before {
- content: "\e070";
-}
-
-.fa-store-slash:before {
- content: "\e071";
-}
-
-.fa-strava:before {
- content: "\f428";
-}
-
-.fa-stream:before {
- content: "\f550";
-}
-
-.fa-street-view:before {
- content: "\f21d";
-}
-
-.fa-strikethrough:before {
- content: "\f0cc";
-}
-
-.fa-stripe:before {
- content: "\f429";
-}
-
-.fa-stripe-s:before {
- content: "\f42a";
-}
-
-.fa-stroopwafel:before {
- content: "\f551";
-}
-
-.fa-studiovinari:before {
- content: "\f3f8";
-}
-
-.fa-stumbleupon:before {
- content: "\f1a4";
-}
-
-.fa-stumbleupon-circle:before {
- content: "\f1a3";
-}
-
-.fa-subscript:before {
- content: "\f12c";
-}
-
-.fa-subway:before {
- content: "\f239";
-}
-
-.fa-suitcase:before {
- content: "\f0f2";
-}
-
-.fa-suitcase-rolling:before {
- content: "\f5c1";
-}
-
-.fa-sun:before {
- content: "\f185";
-}
-
-.fa-superpowers:before {
- content: "\f2dd";
-}
-
-.fa-superscript:before {
- content: "\f12b";
-}
-
-.fa-supple:before {
- content: "\f3f9";
-}
-
-.fa-surprise:before {
- content: "\f5c2";
-}
-
-.fa-suse:before {
- content: "\f7d6";
-}
-
-.fa-swatchbook:before {
- content: "\f5c3";
-}
-
-.fa-swift:before {
- content: "\f8e1";
-}
-
-.fa-swimmer:before {
- content: "\f5c4";
-}
-
-.fa-swimming-pool:before {
- content: "\f5c5";
-}
-
-.fa-symfony:before {
- content: "\f83d";
-}
-
-.fa-synagogue:before {
- content: "\f69b";
-}
-
-.fa-sync:before {
- content: "\f021";
-}
-
-.fa-sync-alt:before {
- content: "\f2f1";
-}
-
-.fa-syringe:before {
- content: "\f48e";
-}
-
-.fa-table:before {
- content: "\f0ce";
-}
-
-.fa-table-tennis:before {
- content: "\f45d";
-}
-
-.fa-tablet:before {
- content: "\f10a";
-}
-
-.fa-tablet-alt:before {
- content: "\f3fa";
-}
-
-.fa-tablets:before {
- content: "\f490";
-}
-
-.fa-tachometer-alt:before {
- content: "\f3fd";
-}
-
-.fa-tag:before {
- content: "\f02b";
-}
-
-.fa-tags:before {
- content: "\f02c";
-}
-
-.fa-tape:before {
- content: "\f4db";
-}
-
-.fa-tasks:before {
- content: "\f0ae";
-}
-
-.fa-taxi:before {
- content: "\f1ba";
-}
-
-.fa-teamspeak:before {
- content: "\f4f9";
-}
-
-.fa-teeth:before {
- content: "\f62e";
-}
-
-.fa-teeth-open:before {
- content: "\f62f";
-}
-
-.fa-telegram:before {
- content: "\f2c6";
-}
-
-.fa-telegram-plane:before {
- content: "\f3fe";
-}
-
-.fa-temperature-high:before {
- content: "\f769";
-}
-
-.fa-temperature-low:before {
- content: "\f76b";
-}
-
-.fa-tencent-weibo:before {
- content: "\f1d5";
-}
-
-.fa-tenge:before {
- content: "\f7d7";
-}
-
-.fa-terminal:before {
- content: "\f120";
-}
-
-.fa-text-height:before {
- content: "\f034";
-}
-
-.fa-text-width:before {
- content: "\f035";
-}
-
-.fa-th:before {
- content: "\f00a";
-}
-
-.fa-th-large:before {
- content: "\f009";
-}
-
-.fa-th-list:before {
- content: "\f00b";
-}
-
-.fa-the-red-yeti:before {
- content: "\f69d";
-}
-
-.fa-theater-masks:before {
- content: "\f630";
-}
-
-.fa-themeco:before {
- content: "\f5c6";
-}
-
-.fa-themeisle:before {
- content: "\f2b2";
-}
-
-.fa-thermometer:before {
- content: "\f491";
-}
-
-.fa-thermometer-empty:before {
- content: "\f2cb";
-}
-
-.fa-thermometer-full:before {
- content: "\f2c7";
-}
-
-.fa-thermometer-half:before {
- content: "\f2c9";
-}
-
-.fa-thermometer-quarter:before {
- content: "\f2ca";
-}
-
-.fa-thermometer-three-quarters:before {
- content: "\f2c8";
-}
-
-.fa-think-peaks:before {
- content: "\f731";
-}
-
-.fa-thumbs-down:before {
- content: "\f165";
-}
-
-.fa-thumbs-up:before {
- content: "\f164";
-}
-
-.fa-thumbtack:before {
- content: "\f08d";
-}
-
-.fa-ticket-alt:before {
- content: "\f3ff";
-}
-
-.fa-tiktok:before {
- content: "\e07b";
-}
-
-.fa-times:before {
- content: "\f00d";
-}
-
-.fa-times-circle:before {
- content: "\f057";
-}
-
-.fa-tint:before {
- content: "\f043";
-}
-
-.fa-tint-slash:before {
- content: "\f5c7";
-}
-
-.fa-tired:before {
- content: "\f5c8";
-}
-
-.fa-toggle-off:before {
- content: "\f204";
-}
-
-.fa-toggle-on:before {
- content: "\f205";
-}
-
-.fa-toilet:before {
- content: "\f7d8";
-}
-
-.fa-toilet-paper:before {
- content: "\f71e";
-}
-
-.fa-toilet-paper-slash:before {
- content: "\e072";
-}
-
-.fa-toolbox:before {
- content: "\f552";
-}
-
-.fa-tools:before {
- content: "\f7d9";
-}
-
-.fa-tooth:before {
- content: "\f5c9";
-}
-
-.fa-torah:before {
- content: "\f6a0";
-}
-
-.fa-torii-gate:before {
- content: "\f6a1";
-}
-
-.fa-tractor:before {
- content: "\f722";
-}
-
-.fa-trade-federation:before {
- content: "\f513";
-}
-
-.fa-trademark:before {
- content: "\f25c";
-}
-
-.fa-traffic-light:before {
- content: "\f637";
-}
-
-.fa-trailer:before {
- content: "\e041";
-}
-
-.fa-train:before {
- content: "\f238";
-}
-
-.fa-tram:before {
- content: "\f7da";
-}
-
-.fa-transgender:before {
- content: "\f224";
-}
-
-.fa-transgender-alt:before {
- content: "\f225";
-}
-
-.fa-trash:before {
- content: "\f1f8";
-}
-
-.fa-trash-alt:before {
- content: "\f2ed";
-}
-
-.fa-trash-restore:before {
- content: "\f829";
-}
-
-.fa-trash-restore-alt:before {
- content: "\f82a";
-}
-
-.fa-tree:before {
- content: "\f1bb";
-}
-
-.fa-trello:before {
- content: "\f181";
-}
-
-.fa-trophy:before {
- content: "\f091";
-}
-
-.fa-truck:before {
- content: "\f0d1";
-}
-
-.fa-truck-loading:before {
- content: "\f4de";
-}
-
-.fa-truck-monster:before {
- content: "\f63b";
-}
-
-.fa-truck-moving:before {
- content: "\f4df";
-}
-
-.fa-truck-pickup:before {
- content: "\f63c";
-}
-
-.fa-tshirt:before {
- content: "\f553";
-}
-
-.fa-tty:before {
- content: "\f1e4";
-}
-
-.fa-tumblr:before {
- content: "\f173";
-}
-
-.fa-tumblr-square:before {
- content: "\f174";
-}
-
-.fa-tv:before {
- content: "\f26c";
-}
-
-.fa-twitch:before {
- content: "\f1e8";
-}
-
-.fa-twitter:before {
- content: "\f099";
-}
-
-.fa-twitter-square:before {
- content: "\f081";
-}
-
-.fa-typo3:before {
- content: "\f42b";
-}
-
-.fa-uber:before {
- content: "\f402";
-}
-
-.fa-ubuntu:before {
- content: "\f7df";
-}
-
-.fa-uikit:before {
- content: "\f403";
-}
-
-.fa-umbraco:before {
- content: "\f8e8";
-}
-
-.fa-umbrella:before {
- content: "\f0e9";
-}
-
-.fa-umbrella-beach:before {
- content: "\f5ca";
-}
-
-.fa-uncharted:before {
- content: "\e084";
-}
-
-.fa-underline:before {
- content: "\f0cd";
-}
-
-.fa-undo:before {
- content: "\f0e2";
-}
-
-.fa-undo-alt:before {
- content: "\f2ea";
-}
-
-.fa-uniregistry:before {
- content: "\f404";
-}
-
-.fa-unity:before {
- content: "\e049";
-}
-
-.fa-universal-access:before {
- content: "\f29a";
-}
-
-.fa-university:before {
- content: "\f19c";
-}
-
-.fa-unlink:before {
- content: "\f127";
-}
-
-.fa-unlock:before {
- content: "\f09c";
-}
-
-.fa-unlock-alt:before {
- content: "\f13e";
-}
-
-.fa-unsplash:before {
- content: "\e07c";
-}
-
-.fa-untappd:before {
- content: "\f405";
-}
-
-.fa-upload:before {
- content: "\f093";
-}
-
-.fa-ups:before {
- content: "\f7e0";
-}
-
-.fa-usb:before {
- content: "\f287";
-}
-
-.fa-user:before {
- content: "\f007";
-}
-
-.fa-user-alt:before {
- content: "\f406";
-}
-
-.fa-user-alt-slash:before {
- content: "\f4fa";
-}
-
-.fa-user-astronaut:before {
- content: "\f4fb";
-}
-
-.fa-user-check:before {
- content: "\f4fc";
-}
-
-.fa-user-circle:before {
- content: "\f2bd";
-}
-
-.fa-user-clock:before {
- content: "\f4fd";
-}
-
-.fa-user-cog:before {
- content: "\f4fe";
-}
-
-.fa-user-edit:before {
- content: "\f4ff";
-}
-
-.fa-user-friends:before {
- content: "\f500";
-}
-
-.fa-user-graduate:before {
- content: "\f501";
-}
-
-.fa-user-injured:before {
- content: "\f728";
-}
-
-.fa-user-lock:before {
- content: "\f502";
-}
-
-.fa-user-md:before {
- content: "\f0f0";
-}
-
-.fa-user-minus:before {
- content: "\f503";
-}
-
-.fa-user-ninja:before {
- content: "\f504";
-}
-
-.fa-user-nurse:before {
- content: "\f82f";
-}
-
-.fa-user-plus:before {
- content: "\f234";
-}
-
-.fa-user-secret:before {
- content: "\f21b";
-}
-
-.fa-user-shield:before {
- content: "\f505";
-}
-
-.fa-user-slash:before {
- content: "\f506";
-}
-
-.fa-user-tag:before {
- content: "\f507";
-}
-
-.fa-user-tie:before {
- content: "\f508";
-}
-
-.fa-user-times:before {
- content: "\f235";
-}
-
-.fa-users:before {
- content: "\f0c0";
-}
-
-.fa-users-cog:before {
- content: "\f509";
-}
-
-.fa-users-slash:before {
- content: "\e073";
-}
-
-.fa-usps:before {
- content: "\f7e1";
-}
-
-.fa-ussunnah:before {
- content: "\f407";
-}
-
-.fa-utensil-spoon:before {
- content: "\f2e5";
-}
-
-.fa-utensils:before {
- content: "\f2e7";
-}
-
-.fa-vaadin:before {
- content: "\f408";
-}
-
-.fa-vector-square:before {
- content: "\f5cb";
-}
-
-.fa-venus:before {
- content: "\f221";
-}
-
-.fa-venus-double:before {
- content: "\f226";
-}
-
-.fa-venus-mars:before {
- content: "\f228";
-}
-
-.fa-vest:before {
- content: "\e085";
-}
-
-.fa-vest-patches:before {
- content: "\e086";
-}
-
-.fa-viacoin:before {
- content: "\f237";
-}
-
-.fa-viadeo:before {
- content: "\f2a9";
-}
-
-.fa-viadeo-square:before {
- content: "\f2aa";
-}
-
-.fa-vial:before {
- content: "\f492";
-}
-
-.fa-vials:before {
- content: "\f493";
-}
-
-.fa-viber:before {
- content: "\f409";
-}
-
-.fa-video:before {
- content: "\f03d";
-}
-
-.fa-video-slash:before {
- content: "\f4e2";
-}
-
-.fa-vihara:before {
- content: "\f6a7";
-}
-
-.fa-vimeo:before {
- content: "\f40a";
-}
-
-.fa-vimeo-square:before {
- content: "\f194";
-}
-
-.fa-vimeo-v:before {
- content: "\f27d";
-}
-
-.fa-vine:before {
- content: "\f1ca";
-}
-
-.fa-virus:before {
- content: "\e074";
-}
-
-.fa-virus-slash:before {
- content: "\e075";
-}
-
-.fa-viruses:before {
- content: "\e076";
-}
-
-.fa-vk:before {
- content: "\f189";
-}
-
-.fa-vnv:before {
- content: "\f40b";
-}
-
-.fa-voicemail:before {
- content: "\f897";
-}
-
-.fa-volleyball-ball:before {
- content: "\f45f";
-}
-
-.fa-volume-down:before {
- content: "\f027";
-}
-
-.fa-volume-mute:before {
- content: "\f6a9";
-}
-
-.fa-volume-off:before {
- content: "\f026";
-}
-
-.fa-volume-up:before {
- content: "\f028";
-}
-
-.fa-vote-yea:before {
- content: "\f772";
-}
-
-.fa-vr-cardboard:before {
- content: "\f729";
-}
-
-.fa-vuejs:before {
- content: "\f41f";
-}
-
-.fa-walking:before {
- content: "\f554";
-}
-
-.fa-wallet:before {
- content: "\f555";
-}
-
-.fa-warehouse:before {
- content: "\f494";
-}
-
-.fa-watchman-monitoring:before {
- content: "\e087";
-}
-
-.fa-water:before {
- content: "\f773";
-}
-
-.fa-wave-square:before {
- content: "\f83e";
-}
-
-.fa-waze:before {
- content: "\f83f";
-}
-
-.fa-weebly:before {
- content: "\f5cc";
-}
-
-.fa-weibo:before {
- content: "\f18a";
-}
-
-.fa-weight:before {
- content: "\f496";
-}
-
-.fa-weight-hanging:before {
- content: "\f5cd";
-}
-
-.fa-weixin:before {
- content: "\f1d7";
-}
-
-.fa-whatsapp:before {
- content: "\f232";
-}
-
-.fa-whatsapp-square:before {
- content: "\f40c";
-}
-
-.fa-wheelchair:before {
- content: "\f193";
-}
-
-.fa-whmcs:before {
- content: "\f40d";
-}
-
-.fa-wifi:before {
- content: "\f1eb";
-}
-
-.fa-wikipedia-w:before {
- content: "\f266";
-}
-
-.fa-wind:before {
- content: "\f72e";
-}
-
-.fa-window-close:before {
- content: "\f410";
-}
-
-.fa-window-maximize:before {
- content: "\f2d0";
-}
-
-.fa-window-minimize:before {
- content: "\f2d1";
-}
-
-.fa-window-restore:before {
- content: "\f2d2";
-}
-
-.fa-windows:before {
- content: "\f17a";
-}
-
-.fa-wine-bottle:before {
- content: "\f72f";
-}
-
-.fa-wine-glass:before {
- content: "\f4e3";
-}
-
-.fa-wine-glass-alt:before {
- content: "\f5ce";
-}
-
-.fa-wix:before {
- content: "\f5cf";
-}
-
-.fa-wizards-of-the-coast:before {
- content: "\f730";
-}
-
-.fa-wodu:before {
- content: "\e088";
-}
-
-.fa-wolf-pack-battalion:before {
- content: "\f514";
-}
-
-.fa-won-sign:before {
- content: "\f159";
-}
-
-.fa-wordpress:before {
- content: "\f19a";
-}
-
-.fa-wordpress-simple:before {
- content: "\f411";
-}
-
-.fa-wpbeginner:before {
- content: "\f297";
-}
-
-.fa-wpexplorer:before {
- content: "\f2de";
-}
-
-.fa-wpforms:before {
- content: "\f298";
-}
-
-.fa-wpressr:before {
- content: "\f3e4";
-}
-
-.fa-wrench:before {
- content: "\f0ad";
-}
-
-.fa-x-ray:before {
- content: "\f497";
-}
-
-.fa-xbox:before {
- content: "\f412";
-}
-
-.fa-xing:before {
- content: "\f168";
-}
-
-.fa-xing-square:before {
- content: "\f169";
-}
-
-.fa-y-combinator:before {
- content: "\f23b";
-}
-
-.fa-yahoo:before {
- content: "\f19e";
-}
-
-.fa-yammer:before {
- content: "\f840";
-}
-
-.fa-yandex:before {
- content: "\f413";
-}
-
-.fa-yandex-international:before {
- content: "\f414";
-}
-
-.fa-yarn:before {
- content: "\f7e3";
-}
-
-.fa-yelp:before {
- content: "\f1e9";
-}
-
-.fa-yen-sign:before {
- content: "\f157";
-}
-
-.fa-yin-yang:before {
- content: "\f6ad";
-}
-
-.fa-yoast:before {
- content: "\f2b1";
-}
-
-.fa-youtube:before {
- content: "\f167";
-}
-
-.fa-youtube-square:before {
- content: "\f431";
-}
-
-.fa-zhihu:before {
- content: "\f63f";
-}
-
-.sr-only {
- border: 0;
- clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
- clip: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- position: static;
- width: auto;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: "Font Awesome 5 Free";
- font-style: normal;
- font-weight: 900;
- font-display: block;
- src: url("../fonts/fa-solid-900.eot");
- src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg");
-}
-.fa,
-.fas {
- font-family: "Font Awesome 5 Free";
- font-weight: 900;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: "Font Awesome 5 Free";
- font-style: normal;
- font-weight: 400;
- font-display: block;
- src: url("../fonts/fa-regular-400.eot");
- src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg");
-}
-.far {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: "Font Awesome 5 Brands";
- font-style: normal;
- font-weight: 400;
- font-display: block;
- src: url("../fonts/fa-brands-400.eot");
- src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg");
-}
-.fab {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-glass:before {
- content: "\f000";
-}
-
-.fa.fa-meetup {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-star-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-star-o:before {
- content: "\f005";
-}
-
-.fa.fa-remove:before {
- content: "\f00d";
-}
-
-.fa.fa-close:before {
- content: "\f00d";
-}
-
-.fa.fa-gear:before {
- content: "\f013";
-}
-
-.fa.fa-trash-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-trash-o:before {
- content: "\f2ed";
-}
-
-.fa.fa-file-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-o:before {
- content: "\f15b";
-}
-
-.fa.fa-clock-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-clock-o:before {
- content: "\f017";
-}
-
-.fa.fa-arrow-circle-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-arrow-circle-o-down:before {
- content: "\f358";
-}
-
-.fa.fa-arrow-circle-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-arrow-circle-o-up:before {
- content: "\f35b";
-}
-
-.fa.fa-play-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-play-circle-o:before {
- content: "\f144";
-}
-
-.fa.fa-repeat:before {
- content: "\f01e";
-}
-
-.fa.fa-rotate-right:before {
- content: "\f01e";
-}
-
-.fa.fa-refresh:before {
- content: "\f021";
-}
-
-.fa.fa-list-alt {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-dedent:before {
- content: "\f03b";
-}
-
-.fa.fa-video-camera:before {
- content: "\f03d";
-}
-
-.fa.fa-picture-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-picture-o:before {
- content: "\f03e";
-}
-
-.fa.fa-photo {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-photo:before {
- content: "\f03e";
-}
-
-.fa.fa-image {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-image:before {
- content: "\f03e";
-}
-
-.fa.fa-pencil:before {
- content: "\f303";
-}
-
-.fa.fa-map-marker:before {
- content: "\f3c5";
-}
-
-.fa.fa-pencil-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-pencil-square-o:before {
- content: "\f044";
-}
-
-.fa.fa-share-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-share-square-o:before {
- content: "\f14d";
-}
-
-.fa.fa-check-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-check-square-o:before {
- content: "\f14a";
-}
-
-.fa.fa-arrows:before {
- content: "\f0b2";
-}
-
-.fa.fa-times-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-times-circle-o:before {
- content: "\f057";
-}
-
-.fa.fa-check-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-check-circle-o:before {
- content: "\f058";
-}
-
-.fa.fa-mail-forward:before {
- content: "\f064";
-}
-
-.fa.fa-expand:before {
- content: "\f424";
-}
-
-.fa.fa-compress:before {
- content: "\f422";
-}
-
-.fa.fa-eye {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-eye-slash {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-warning:before {
- content: "\f071";
-}
-
-.fa.fa-calendar:before {
- content: "\f073";
-}
-
-.fa.fa-arrows-v:before {
- content: "\f338";
-}
-
-.fa.fa-arrows-h:before {
- content: "\f337";
-}
-
-.fa.fa-bar-chart {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-bar-chart:before {
- content: "\f080";
-}
-
-.fa.fa-bar-chart-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-bar-chart-o:before {
- content: "\f080";
-}
-
-.fa.fa-twitter-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-facebook-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gears:before {
- content: "\f085";
-}
-
-.fa.fa-thumbs-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-thumbs-o-up:before {
- content: "\f164";
-}
-
-.fa.fa-thumbs-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-thumbs-o-down:before {
- content: "\f165";
-}
-
-.fa.fa-heart-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-heart-o:before {
- content: "\f004";
-}
-
-.fa.fa-sign-out:before {
- content: "\f2f5";
-}
-
-.fa.fa-linkedin-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-linkedin-square:before {
- content: "\f08c";
-}
-
-.fa.fa-thumb-tack:before {
- content: "\f08d";
-}
-
-.fa.fa-external-link:before {
- content: "\f35d";
-}
-
-.fa.fa-sign-in:before {
- content: "\f2f6";
-}
-
-.fa.fa-github-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-lemon-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-lemon-o:before {
- content: "\f094";
-}
-
-.fa.fa-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-square-o:before {
- content: "\f0c8";
-}
-
-.fa.fa-bookmark-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-bookmark-o:before {
- content: "\f02e";
-}
-
-.fa.fa-twitter {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-facebook {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-facebook:before {
- content: "\f39e";
-}
-
-.fa.fa-facebook-f {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-facebook-f:before {
- content: "\f39e";
-}
-
-.fa.fa-github {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-credit-card {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-feed:before {
- content: "\f09e";
-}
-
-.fa.fa-hdd-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hdd-o:before {
- content: "\f0a0";
-}
-
-.fa.fa-hand-o-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-o-right:before {
- content: "\f0a4";
-}
-
-.fa.fa-hand-o-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-o-left:before {
- content: "\f0a5";
-}
-
-.fa.fa-hand-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-o-up:before {
- content: "\f0a6";
-}
-
-.fa.fa-hand-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-o-down:before {
- content: "\f0a7";
-}
-
-.fa.fa-arrows-alt:before {
- content: "\f31e";
-}
-
-.fa.fa-group:before {
- content: "\f0c0";
-}
-
-.fa.fa-chain:before {
- content: "\f0c1";
-}
-
-.fa.fa-scissors:before {
- content: "\f0c4";
-}
-
-.fa.fa-files-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-files-o:before {
- content: "\f0c5";
-}
-
-.fa.fa-floppy-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-floppy-o:before {
- content: "\f0c7";
-}
-
-.fa.fa-navicon:before {
- content: "\f0c9";
-}
-
-.fa.fa-reorder:before {
- content: "\f0c9";
-}
-
-.fa.fa-pinterest {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-pinterest-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-plus-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-plus {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-plus:before {
- content: "\f0d5";
-}
-
-.fa.fa-money {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-money:before {
- content: "\f3d1";
-}
-
-.fa.fa-unsorted:before {
- content: "\f0dc";
-}
-
-.fa.fa-sort-desc:before {
- content: "\f0dd";
-}
-
-.fa.fa-sort-asc:before {
- content: "\f0de";
-}
-
-.fa.fa-linkedin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-linkedin:before {
- content: "\f0e1";
-}
-
-.fa.fa-rotate-left:before {
- content: "\f0e2";
-}
-
-.fa.fa-legal:before {
- content: "\f0e3";
-}
-
-.fa.fa-tachometer:before {
- content: "\f3fd";
-}
-
-.fa.fa-dashboard:before {
- content: "\f3fd";
-}
-
-.fa.fa-comment-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-comment-o:before {
- content: "\f075";
-}
-
-.fa.fa-comments-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-comments-o:before {
- content: "\f086";
-}
-
-.fa.fa-flash:before {
- content: "\f0e7";
-}
-
-.fa.fa-clipboard {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-paste {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-paste:before {
- content: "\f328";
-}
-
-.fa.fa-lightbulb-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-lightbulb-o:before {
- content: "\f0eb";
-}
-
-.fa.fa-exchange:before {
- content: "\f362";
-}
-
-.fa.fa-cloud-download:before {
- content: "\f381";
-}
-
-.fa.fa-cloud-upload:before {
- content: "\f382";
-}
-
-.fa.fa-bell-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-bell-o:before {
- content: "\f0f3";
-}
-
-.fa.fa-cutlery:before {
- content: "\f2e7";
-}
-
-.fa.fa-file-text-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-text-o:before {
- content: "\f15c";
-}
-
-.fa.fa-building-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-building-o:before {
- content: "\f1ad";
-}
-
-.fa.fa-hospital-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hospital-o:before {
- content: "\f0f8";
-}
-
-.fa.fa-tablet:before {
- content: "\f3fa";
-}
-
-.fa.fa-mobile:before {
- content: "\f3cd";
-}
-
-.fa.fa-mobile-phone:before {
- content: "\f3cd";
-}
-
-.fa.fa-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-circle-o:before {
- content: "\f111";
-}
-
-.fa.fa-mail-reply:before {
- content: "\f3e5";
-}
-
-.fa.fa-github-alt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-folder-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-folder-o:before {
- content: "\f07b";
-}
-
-.fa.fa-folder-open-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-folder-open-o:before {
- content: "\f07c";
-}
-
-.fa.fa-smile-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-smile-o:before {
- content: "\f118";
-}
-
-.fa.fa-frown-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-frown-o:before {
- content: "\f119";
-}
-
-.fa.fa-meh-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-meh-o:before {
- content: "\f11a";
-}
-
-.fa.fa-keyboard-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-keyboard-o:before {
- content: "\f11c";
-}
-
-.fa.fa-flag-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-flag-o:before {
- content: "\f024";
-}
-
-.fa.fa-mail-reply-all:before {
- content: "\f122";
-}
-
-.fa.fa-star-half-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-star-half-o:before {
- content: "\f089";
-}
-
-.fa.fa-star-half-empty {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-star-half-empty:before {
- content: "\f089";
-}
-
-.fa.fa-star-half-full {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-star-half-full:before {
- content: "\f089";
-}
-
-.fa.fa-code-fork:before {
- content: "\f126";
-}
-
-.fa.fa-chain-broken:before {
- content: "\f127";
-}
-
-.fa.fa-shield:before {
- content: "\f3ed";
-}
-
-.fa.fa-calendar-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-calendar-o:before {
- content: "\f133";
-}
-
-.fa.fa-maxcdn {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-html5 {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-css3 {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ticket:before {
- content: "\f3ff";
-}
-
-.fa.fa-minus-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-minus-square-o:before {
- content: "\f146";
-}
-
-.fa.fa-level-up:before {
- content: "\f3bf";
-}
-
-.fa.fa-level-down:before {
- content: "\f3be";
-}
-
-.fa.fa-pencil-square:before {
- content: "\f14b";
-}
-
-.fa.fa-external-link-square:before {
- content: "\f360";
-}
-
-.fa.fa-compass {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-caret-square-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-caret-square-o-down:before {
- content: "\f150";
-}
-
-.fa.fa-toggle-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-toggle-down:before {
- content: "\f150";
-}
-
-.fa.fa-caret-square-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-caret-square-o-up:before {
- content: "\f151";
-}
-
-.fa.fa-toggle-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-toggle-up:before {
- content: "\f151";
-}
-
-.fa.fa-caret-square-o-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-caret-square-o-right:before {
- content: "\f152";
-}
-
-.fa.fa-toggle-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-toggle-right:before {
- content: "\f152";
-}
-
-.fa.fa-eur:before {
- content: "\f153";
-}
-
-.fa.fa-euro:before {
- content: "\f153";
-}
-
-.fa.fa-gbp:before {
- content: "\f154";
-}
-
-.fa.fa-usd:before {
- content: "\f155";
-}
-
-.fa.fa-dollar:before {
- content: "\f155";
-}
-
-.fa.fa-inr:before {
- content: "\f156";
-}
-
-.fa.fa-rupee:before {
- content: "\f156";
-}
-
-.fa.fa-jpy:before {
- content: "\f157";
-}
-
-.fa.fa-cny:before {
- content: "\f157";
-}
-
-.fa.fa-rmb:before {
- content: "\f157";
-}
-
-.fa.fa-yen:before {
- content: "\f157";
-}
-
-.fa.fa-rub:before {
- content: "\f158";
-}
-
-.fa.fa-ruble:before {
- content: "\f158";
-}
-
-.fa.fa-rouble:before {
- content: "\f158";
-}
-
-.fa.fa-krw:before {
- content: "\f159";
-}
-
-.fa.fa-won:before {
- content: "\f159";
-}
-
-.fa.fa-btc {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bitcoin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bitcoin:before {
- content: "\f15a";
-}
-
-.fa.fa-file-text:before {
- content: "\f15c";
-}
-
-.fa.fa-sort-alpha-asc:before {
- content: "\f15d";
-}
-
-.fa.fa-sort-alpha-desc:before {
- content: "\f881";
-}
-
-.fa.fa-sort-amount-asc:before {
- content: "\f160";
-}
-
-.fa.fa-sort-amount-desc:before {
- content: "\f884";
-}
-
-.fa.fa-sort-numeric-asc:before {
- content: "\f162";
-}
-
-.fa.fa-sort-numeric-desc:before {
- content: "\f886";
-}
-
-.fa.fa-youtube-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-youtube {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-xing {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-xing-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-youtube-play {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-youtube-play:before {
- content: "\f167";
-}
-
-.fa.fa-dropbox {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-stack-overflow {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-instagram {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-flickr {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-adn {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bitbucket {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bitbucket-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bitbucket-square:before {
- content: "\f171";
-}
-
-.fa.fa-tumblr {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-tumblr-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-long-arrow-down:before {
- content: "\f309";
-}
-
-.fa.fa-long-arrow-up:before {
- content: "\f30c";
-}
-
-.fa.fa-long-arrow-left:before {
- content: "\f30a";
-}
-
-.fa.fa-long-arrow-right:before {
- content: "\f30b";
-}
-
-.fa.fa-apple {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-windows {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-android {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-linux {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-dribbble {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-skype {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-foursquare {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-trello {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gratipay {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gittip {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gittip:before {
- content: "\f184";
-}
-
-.fa.fa-sun-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-sun-o:before {
- content: "\f185";
-}
-
-.fa.fa-moon-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-moon-o:before {
- content: "\f186";
-}
-
-.fa.fa-vk {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-weibo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-renren {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-pagelines {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-stack-exchange {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-arrow-circle-o-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-arrow-circle-o-right:before {
- content: "\f35a";
-}
-
-.fa.fa-arrow-circle-o-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-arrow-circle-o-left:before {
- content: "\f359";
-}
-
-.fa.fa-caret-square-o-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-caret-square-o-left:before {
- content: "\f191";
-}
-
-.fa.fa-toggle-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-toggle-left:before {
- content: "\f191";
-}
-
-.fa.fa-dot-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-dot-circle-o:before {
- content: "\f192";
-}
-
-.fa.fa-vimeo-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-try:before {
- content: "\f195";
-}
-
-.fa.fa-turkish-lira:before {
- content: "\f195";
-}
-
-.fa.fa-plus-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-plus-square-o:before {
- content: "\f0fe";
-}
-
-.fa.fa-slack {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wordpress {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-openid {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-institution:before {
- content: "\f19c";
-}
-
-.fa.fa-bank:before {
- content: "\f19c";
-}
-
-.fa.fa-mortar-board:before {
- content: "\f19d";
-}
-
-.fa.fa-yahoo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-reddit {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-reddit-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-stumbleupon-circle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-stumbleupon {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-delicious {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-digg {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-pied-piper-pp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-pied-piper-alt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-drupal {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-joomla {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-spoon:before {
- content: "\f2e5";
-}
-
-.fa.fa-behance {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-behance-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-steam {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-steam-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-automobile:before {
- content: "\f1b9";
-}
-
-.fa.fa-envelope-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-envelope-o:before {
- content: "\f0e0";
-}
-
-.fa.fa-spotify {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-deviantart {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-soundcloud {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-file-pdf-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-pdf-o:before {
- content: "\f1c1";
-}
-
-.fa.fa-file-word-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-word-o:before {
- content: "\f1c2";
-}
-
-.fa.fa-file-excel-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-excel-o:before {
- content: "\f1c3";
-}
-
-.fa.fa-file-powerpoint-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-powerpoint-o:before {
- content: "\f1c4";
-}
-
-.fa.fa-file-image-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-image-o:before {
- content: "\f1c5";
-}
-
-.fa.fa-file-photo-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-photo-o:before {
- content: "\f1c5";
-}
-
-.fa.fa-file-picture-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-picture-o:before {
- content: "\f1c5";
-}
-
-.fa.fa-file-archive-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-archive-o:before {
- content: "\f1c6";
-}
-
-.fa.fa-file-zip-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-zip-o:before {
- content: "\f1c6";
-}
-
-.fa.fa-file-audio-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-audio-o:before {
- content: "\f1c7";
-}
-
-.fa.fa-file-sound-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-sound-o:before {
- content: "\f1c7";
-}
-
-.fa.fa-file-video-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-video-o:before {
- content: "\f1c8";
-}
-
-.fa.fa-file-movie-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-movie-o:before {
- content: "\f1c8";
-}
-
-.fa.fa-file-code-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-file-code-o:before {
- content: "\f1c9";
-}
-
-.fa.fa-vine {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-codepen {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-jsfiddle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-life-ring {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-life-bouy {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-life-bouy:before {
- content: "\f1cd";
-}
-
-.fa.fa-life-buoy {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-life-buoy:before {
- content: "\f1cd";
-}
-
-.fa.fa-life-saver {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-life-saver:before {
- content: "\f1cd";
-}
-
-.fa.fa-support {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-support:before {
- content: "\f1cd";
-}
-
-.fa.fa-circle-o-notch:before {
- content: "\f1ce";
-}
-
-.fa.fa-rebel {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ra {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ra:before {
- content: "\f1d0";
-}
-
-.fa.fa-resistance {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-resistance:before {
- content: "\f1d0";
-}
-
-.fa.fa-empire {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ge {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ge:before {
- content: "\f1d1";
-}
-
-.fa.fa-git-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-git {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-hacker-news {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-y-combinator-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-y-combinator-square:before {
- content: "\f1d4";
-}
-
-.fa.fa-yc-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-yc-square:before {
- content: "\f1d4";
-}
-
-.fa.fa-tencent-weibo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-qq {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-weixin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wechat {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wechat:before {
- content: "\f1d7";
-}
-
-.fa.fa-send:before {
- content: "\f1d8";
-}
-
-.fa.fa-paper-plane-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-paper-plane-o:before {
- content: "\f1d8";
-}
-
-.fa.fa-send-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-send-o:before {
- content: "\f1d8";
-}
-
-.fa.fa-circle-thin {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-circle-thin:before {
- content: "\f111";
-}
-
-.fa.fa-header:before {
- content: "\f1dc";
-}
-
-.fa.fa-sliders:before {
- content: "\f1de";
-}
-
-.fa.fa-futbol-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-futbol-o:before {
- content: "\f1e3";
-}
-
-.fa.fa-soccer-ball-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-soccer-ball-o:before {
- content: "\f1e3";
-}
-
-.fa.fa-slideshare {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-twitch {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-yelp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-newspaper-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-newspaper-o:before {
- content: "\f1ea";
-}
-
-.fa.fa-paypal {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-wallet {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-visa {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-mastercard {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-discover {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-amex {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-paypal {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-stripe {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bell-slash-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-bell-slash-o:before {
- content: "\f1f6";
-}
-
-.fa.fa-trash:before {
- content: "\f2ed";
-}
-
-.fa.fa-copyright {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-eyedropper:before {
- content: "\f1fb";
-}
-
-.fa.fa-area-chart:before {
- content: "\f1fe";
-}
-
-.fa.fa-pie-chart:before {
- content: "\f200";
-}
-
-.fa.fa-line-chart:before {
- content: "\f201";
-}
-
-.fa.fa-lastfm {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-lastfm-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ioxhost {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-angellist {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-cc:before {
- content: "\f20a";
-}
-
-.fa.fa-ils:before {
- content: "\f20b";
-}
-
-.fa.fa-shekel:before {
- content: "\f20b";
-}
-
-.fa.fa-sheqel:before {
- content: "\f20b";
-}
-
-.fa.fa-meanpath {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-meanpath:before {
- content: "\f2b4";
-}
-
-.fa.fa-buysellads {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-connectdevelop {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-dashcube {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-forumbee {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-leanpub {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-sellsy {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-shirtsinbulk {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-simplybuilt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-skyatlas {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-diamond {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-diamond:before {
- content: "\f3a5";
-}
-
-.fa.fa-intersex:before {
- content: "\f224";
-}
-
-.fa.fa-facebook-official {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-facebook-official:before {
- content: "\f09a";
-}
-
-.fa.fa-pinterest-p {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-whatsapp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-hotel:before {
- content: "\f236";
-}
-
-.fa.fa-viacoin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-medium {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-y-combinator {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-yc {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-yc:before {
- content: "\f23b";
-}
-
-.fa.fa-optin-monster {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-opencart {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-expeditedssl {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-battery-4:before {
- content: "\f240";
-}
-
-.fa.fa-battery:before {
- content: "\f240";
-}
-
-.fa.fa-battery-3:before {
- content: "\f241";
-}
-
-.fa.fa-battery-2:before {
- content: "\f242";
-}
-
-.fa.fa-battery-1:before {
- content: "\f243";
-}
-
-.fa.fa-battery-0:before {
- content: "\f244";
-}
-
-.fa.fa-object-group {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-object-ungroup {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-sticky-note-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-sticky-note-o:before {
- content: "\f249";
-}
-
-.fa.fa-cc-jcb {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cc-diners-club {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-clone {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hourglass-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hourglass-o:before {
- content: "\f254";
-}
-
-.fa.fa-hourglass-1:before {
- content: "\f251";
-}
-
-.fa.fa-hourglass-2:before {
- content: "\f252";
-}
-
-.fa.fa-hourglass-3:before {
- content: "\f253";
-}
-
-.fa.fa-hand-rock-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-rock-o:before {
- content: "\f255";
-}
-
-.fa.fa-hand-grab-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-grab-o:before {
- content: "\f255";
-}
-
-.fa.fa-hand-paper-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-paper-o:before {
- content: "\f256";
-}
-
-.fa.fa-hand-stop-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-stop-o:before {
- content: "\f256";
-}
-
-.fa.fa-hand-scissors-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-scissors-o:before {
- content: "\f257";
-}
-
-.fa.fa-hand-lizard-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-lizard-o:before {
- content: "\f258";
-}
-
-.fa.fa-hand-spock-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-spock-o:before {
- content: "\f259";
-}
-
-.fa.fa-hand-pointer-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-pointer-o:before {
- content: "\f25a";
-}
-
-.fa.fa-hand-peace-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-hand-peace-o:before {
- content: "\f25b";
-}
-
-.fa.fa-registered {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-creative-commons {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gg {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gg-circle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-tripadvisor {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-odnoklassniki {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-odnoklassniki-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-get-pocket {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wikipedia-w {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-safari {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-chrome {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-firefox {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-opera {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-internet-explorer {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-television:before {
- content: "\f26c";
-}
-
-.fa.fa-contao {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-500px {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-amazon {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-calendar-plus-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-calendar-plus-o:before {
- content: "\f271";
-}
-
-.fa.fa-calendar-minus-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-calendar-minus-o:before {
- content: "\f272";
-}
-
-.fa.fa-calendar-times-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-calendar-times-o:before {
- content: "\f273";
-}
-
-.fa.fa-calendar-check-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-calendar-check-o:before {
- content: "\f274";
-}
-
-.fa.fa-map-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-map-o:before {
- content: "\f279";
-}
-
-.fa.fa-commenting:before {
- content: "\f4ad";
-}
-
-.fa.fa-commenting-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-commenting-o:before {
- content: "\f4ad";
-}
-
-.fa.fa-houzz {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-vimeo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-vimeo:before {
- content: "\f27d";
-}
-
-.fa.fa-black-tie {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-fonticons {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-reddit-alien {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-edge {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-credit-card-alt:before {
- content: "\f09d";
-}
-
-.fa.fa-codiepie {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-modx {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-fort-awesome {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-usb {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-product-hunt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-mixcloud {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-scribd {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-pause-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-pause-circle-o:before {
- content: "\f28b";
-}
-
-.fa.fa-stop-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-stop-circle-o:before {
- content: "\f28d";
-}
-
-.fa.fa-bluetooth {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-bluetooth-b {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-gitlab {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wpbeginner {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wpforms {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-envira {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wheelchair-alt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wheelchair-alt:before {
- content: "\f368";
-}
-
-.fa.fa-question-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-question-circle-o:before {
- content: "\f059";
-}
-
-.fa.fa-volume-control-phone:before {
- content: "\f2a0";
-}
-
-.fa.fa-asl-interpreting:before {
- content: "\f2a3";
-}
-
-.fa.fa-deafness:before {
- content: "\f2a4";
-}
-
-.fa.fa-hard-of-hearing:before {
- content: "\f2a4";
-}
-
-.fa.fa-glide {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-glide-g {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-signing:before {
- content: "\f2a7";
-}
-
-.fa.fa-viadeo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-viadeo-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-snapchat {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-snapchat-ghost {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-snapchat-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-pied-piper {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-first-order {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-yoast {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-themeisle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-plus-official {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-plus-official:before {
- content: "\f2b3";
-}
-
-.fa.fa-google-plus-circle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-google-plus-circle:before {
- content: "\f2b3";
-}
-
-.fa.fa-font-awesome {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-fa {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-fa:before {
- content: "\f2b4";
-}
-
-.fa.fa-handshake-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-handshake-o:before {
- content: "\f2b5";
-}
-
-.fa.fa-envelope-open-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-envelope-open-o:before {
- content: "\f2b6";
-}
-
-.fa.fa-linode {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-address-book-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-address-book-o:before {
- content: "\f2b9";
-}
-
-.fa.fa-vcard:before {
- content: "\f2bb";
-}
-
-.fa.fa-address-card-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-address-card-o:before {
- content: "\f2bb";
-}
-
-.fa.fa-vcard-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-vcard-o:before {
- content: "\f2bb";
-}
-
-.fa.fa-user-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-user-circle-o:before {
- content: "\f2bd";
-}
-
-.fa.fa-user-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-user-o:before {
- content: "\f007";
-}
-
-.fa.fa-id-badge {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-drivers-license:before {
- content: "\f2c2";
-}
-
-.fa.fa-id-card-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-id-card-o:before {
- content: "\f2c2";
-}
-
-.fa.fa-drivers-license-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-drivers-license-o:before {
- content: "\f2c2";
-}
-
-.fa.fa-quora {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-free-code-camp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-telegram {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-thermometer-4:before {
- content: "\f2c7";
-}
-
-.fa.fa-thermometer:before {
- content: "\f2c7";
-}
-
-.fa.fa-thermometer-3:before {
- content: "\f2c8";
-}
-
-.fa.fa-thermometer-2:before {
- content: "\f2c9";
-}
-
-.fa.fa-thermometer-1:before {
- content: "\f2ca";
-}
-
-.fa.fa-thermometer-0:before {
- content: "\f2cb";
-}
-
-.fa.fa-bathtub:before {
- content: "\f2cd";
-}
-
-.fa.fa-s15:before {
- content: "\f2cd";
-}
-
-.fa.fa-window-maximize {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-window-restore {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-times-rectangle:before {
- content: "\f410";
-}
-
-.fa.fa-window-close-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-window-close-o:before {
- content: "\f410";
-}
-
-.fa.fa-times-rectangle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-times-rectangle-o:before {
- content: "\f410";
-}
-
-.fa.fa-bandcamp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-grav {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-etsy {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-imdb {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-ravelry {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-eercast {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-eercast:before {
- content: "\f2da";
-}
-
-.fa.fa-snowflake-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.fa.fa-snowflake-o:before {
- content: "\f2dc";
-}
-
-.fa.fa-superpowers {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-wpexplorer {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.fa.fa-cab:before {
- content: "\f1ba";
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.icon,
-.fas,
-.far,
-.fal,
-.fad,
-.fab {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: inline-block;
- font-style: normal;
- font-variant: normal;
- text-rendering: auto;
- line-height: 1;
-}
-
-.icon-lg, .icon-large {
- font-size: 1.3333333333em;
- line-height: 0.75em;
- vertical-align: -0.0667em;
-}
-
-.icon-xs {
- font-size: 0.75em;
-}
-
-.icon-sm {
- font-size: 0.875em;
-}
-
-.icon-1x {
- font-size: 1em;
-}
-
-.icon-2x {
- font-size: 2em;
-}
-
-.icon-3x {
- font-size: 3em;
-}
-
-.icon-4x {
- font-size: 4em;
-}
-
-.icon-5x {
- font-size: 5em;
-}
-
-.icon-6x {
- font-size: 6em;
-}
-
-.icon-7x {
- font-size: 7em;
-}
-
-.icon-8x {
- font-size: 8em;
-}
-
-.icon-9x {
- font-size: 9em;
-}
-
-.icon-10x {
- font-size: 10em;
-}
-
-.icon-fw {
- text-align: center;
- width: 1.25em;
-}
-
-.icon-ul {
- list-style-type: none;
- margin-left: 2.5em;
- padding-left: 0;
-}
-.icon-ul > li {
- position: relative;
-}
-
-.icon-li {
- left: -2em;
- position: absolute;
- text-align: center;
- width: 2em;
- line-height: inherit;
-}
-
-.icon-border {
- border: solid 0.08em #eee;
- border-radius: 0.1em;
- padding: 0.2em 0.25em 0.15em;
-}
-
-.icon-pull-left {
- float: left;
-}
-
-.icon-pull-right {
- float: right;
-}
-
-.icon.icon-pull-left,
-.fas.icon-pull-left,
-.far.icon-pull-left,
-.fal.icon-pull-left,
-.fab.icon-pull-left {
- margin-right: 0.3em;
-}
-.icon.icon-pull-right,
-.fas.icon-pull-right,
-.far.icon-pull-right,
-.fal.icon-pull-right,
-.fab.icon-pull-right {
- margin-left: 0.3em;
-}
-
-.icon-spin {
- animation: fa-spin 2s infinite linear;
-}
-
-.icon-pulse {
- animation: fa-spin 1s infinite steps(8);
-}
-
-@keyframes fa-spin {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
-.icon-rotate-90 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
- transform: rotate(90deg);
-}
-
-.icon-rotate-180 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
- transform: rotate(180deg);
-}
-
-.icon-rotate-270 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
- transform: rotate(270deg);
-}
-
-.icon-flip-horizontal {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
- transform: scale(-1, 1);
-}
-
-.icon-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- transform: scale(1, -1);
-}
-
-.icon-flip-both, .icon-flip-horizontal.icon-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- transform: scale(-1, -1);
-}
-
-:root .icon-rotate-90,
-:root .icon-rotate-180,
-:root .icon-rotate-270,
-:root .icon-flip-horizontal,
-:root .icon-flip-vertical,
-:root .icon-flip-both {
- filter: none;
-}
-
-.icon-stack {
- display: inline-block;
- height: 2em;
- line-height: 2em;
- position: relative;
- vertical-align: middle;
- width: 2.5em;
-}
-
-.icon-stack-1x,
-.icon-stack-2x {
- left: 0;
- position: absolute;
- text-align: center;
- width: 100%;
-}
-
-.icon-stack-1x {
- line-height: inherit;
-}
-
-.icon-stack-2x {
- font-size: 2em;
-}
-
-.icon-inverse {
- color: #fff;
-}
-
-/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
-readers do not read off random characters that represent icons */
-.icon-500px:before {
- content: "\f26e";
-}
-
-.icon-accessible-icon:before {
- content: "\f368";
-}
-
-.icon-accusoft:before {
- content: "\f369";
-}
-
-.icon-acquisitions-incorporated:before {
- content: "\f6af";
-}
-
-.icon-ad:before {
- content: "\f641";
-}
-
-.icon-address-book:before {
- content: "\f2b9";
-}
-
-.icon-address-card:before {
- content: "\f2bb";
-}
-
-.icon-adjust:before {
- content: "\f042";
-}
-
-.icon-adn:before {
- content: "\f170";
-}
-
-.icon-adversal:before {
- content: "\f36a";
-}
-
-.icon-affiliatetheme:before {
- content: "\f36b";
-}
-
-.icon-air-freshener:before {
- content: "\f5d0";
-}
-
-.icon-airbnb:before {
- content: "\f834";
-}
-
-.icon-algolia:before {
- content: "\f36c";
-}
-
-.icon-align-center:before {
- content: "\f037";
-}
-
-.icon-align-justify:before {
- content: "\f039";
-}
-
-.icon-align-left:before {
- content: "\f036";
-}
-
-.icon-align-right:before {
- content: "\f038";
-}
-
-.icon-alipay:before {
- content: "\f642";
-}
-
-.icon-allergies:before {
- content: "\f461";
-}
-
-.icon-amazon:before {
- content: "\f270";
-}
-
-.icon-amazon-pay:before {
- content: "\f42c";
-}
-
-.icon-ambulance:before {
- content: "\f0f9";
-}
-
-.icon-american-sign-language-interpreting:before {
- content: "\f2a3";
-}
-
-.icon-amilia:before {
- content: "\f36d";
-}
-
-.icon-anchor:before {
- content: "\f13d";
-}
-
-.icon-android:before {
- content: "\f17b";
-}
-
-.icon-angellist:before {
- content: "\f209";
-}
-
-.icon-angle-double-down:before {
- content: "\f103";
-}
-
-.icon-angle-double-left:before {
- content: "\f100";
-}
-
-.icon-angle-double-right:before {
- content: "\f101";
-}
-
-.icon-angle-double-up:before {
- content: "\f102";
-}
-
-.icon-angle-down:before {
- content: "\f107";
-}
-
-.icon-angle-left:before {
- content: "\f104";
-}
-
-.icon-angle-right:before {
- content: "\f105";
-}
-
-.icon-angle-up:before {
- content: "\f106";
-}
-
-.icon-angry:before {
- content: "\f556";
-}
-
-.icon-angrycreative:before {
- content: "\f36e";
-}
-
-.icon-angular:before {
- content: "\f420";
-}
-
-.icon-ankh:before {
- content: "\f644";
-}
-
-.icon-app-store:before {
- content: "\f36f";
-}
-
-.icon-app-store-ios:before {
- content: "\f370";
-}
-
-.icon-apper:before {
- content: "\f371";
-}
-
-.icon-apple:before {
- content: "\f179";
-}
-
-.icon-apple-alt:before {
- content: "\f5d1";
-}
-
-.icon-apple-pay:before {
- content: "\f415";
-}
-
-.icon-archive:before {
- content: "\f187";
-}
-
-.icon-archway:before {
- content: "\f557";
-}
-
-.icon-arrow-alt-circle-down:before {
- content: "\f358";
-}
-
-.icon-arrow-alt-circle-left:before {
- content: "\f359";
-}
-
-.icon-arrow-alt-circle-right:before {
- content: "\f35a";
-}
-
-.icon-arrow-alt-circle-up:before {
- content: "\f35b";
-}
-
-.icon-arrow-circle-down:before {
- content: "\f0ab";
-}
-
-.icon-arrow-circle-left:before {
- content: "\f0a8";
-}
-
-.icon-arrow-circle-right:before {
- content: "\f0a9";
-}
-
-.icon-arrow-circle-up:before {
- content: "\f0aa";
-}
-
-.icon-arrow-down:before {
- content: "\f063";
-}
-
-.icon-arrow-left:before {
- content: "\f060";
-}
-
-.icon-arrow-right:before {
- content: "\f061";
-}
-
-.icon-arrow-up:before {
- content: "\f062";
-}
-
-.icon-arrows-alt:before {
- content: "\f0b2";
-}
-
-.icon-arrows-alt-h:before {
- content: "\f337";
-}
-
-.icon-arrows-alt-v:before {
- content: "\f338";
-}
-
-.icon-artstation:before {
- content: "\f77a";
-}
-
-.icon-assistive-listening-systems:before {
- content: "\f2a2";
-}
-
-.icon-asterisk:before {
- content: "\f069";
-}
-
-.icon-asymmetrik:before {
- content: "\f372";
-}
-
-.icon-at:before {
- content: "\f1fa";
-}
-
-.icon-atlas:before {
- content: "\f558";
-}
-
-.icon-atlassian:before {
- content: "\f77b";
-}
-
-.icon-atom:before {
- content: "\f5d2";
-}
-
-.icon-audible:before {
- content: "\f373";
-}
-
-.icon-audio-description:before {
- content: "\f29e";
-}
-
-.icon-autoprefixer:before {
- content: "\f41c";
-}
-
-.icon-avianex:before {
- content: "\f374";
-}
-
-.icon-aviato:before {
- content: "\f421";
-}
-
-.icon-award:before {
- content: "\f559";
-}
-
-.icon-aws:before {
- content: "\f375";
-}
-
-.icon-baby:before {
- content: "\f77c";
-}
-
-.icon-baby-carriage:before {
- content: "\f77d";
-}
-
-.icon-backspace:before {
- content: "\f55a";
-}
-
-.icon-backward:before {
- content: "\f04a";
-}
-
-.icon-bacon:before {
- content: "\f7e5";
-}
-
-.icon-bacteria:before {
- content: "\e059";
-}
-
-.icon-bacterium:before {
- content: "\e05a";
-}
-
-.icon-bahai:before {
- content: "\f666";
-}
-
-.icon-balance-scale:before {
- content: "\f24e";
-}
-
-.icon-balance-scale-left:before {
- content: "\f515";
-}
-
-.icon-balance-scale-right:before {
- content: "\f516";
-}
-
-.icon-ban:before {
- content: "\f05e";
-}
-
-.icon-band-aid:before {
- content: "\f462";
-}
-
-.icon-bandcamp:before {
- content: "\f2d5";
-}
-
-.icon-barcode:before {
- content: "\f02a";
-}
-
-.icon-bars:before {
- content: "\f0c9";
-}
-
-.icon-baseball-ball:before {
- content: "\f433";
-}
-
-.icon-basketball-ball:before {
- content: "\f434";
-}
-
-.icon-bath:before {
- content: "\f2cd";
-}
-
-.icon-battery-empty:before {
- content: "\f244";
-}
-
-.icon-battery-full:before {
- content: "\f240";
-}
-
-.icon-battery-half:before {
- content: "\f242";
-}
-
-.icon-battery-quarter:before {
- content: "\f243";
-}
-
-.icon-battery-three-quarters:before {
- content: "\f241";
-}
-
-.icon-battle-net:before {
- content: "\f835";
-}
-
-.icon-bed:before {
- content: "\f236";
-}
-
-.icon-beer:before {
- content: "\f0fc";
-}
-
-.icon-behance:before {
- content: "\f1b4";
-}
-
-.icon-behance-square:before {
- content: "\f1b5";
-}
-
-.icon-bell:before {
- content: "\f0f3";
-}
-
-.icon-bell-slash:before {
- content: "\f1f6";
-}
-
-.icon-bezier-curve:before {
- content: "\f55b";
-}
-
-.icon-bible:before {
- content: "\f647";
-}
-
-.icon-bicycle:before {
- content: "\f206";
-}
-
-.icon-biking:before {
- content: "\f84a";
-}
-
-.icon-bimobject:before {
- content: "\f378";
-}
-
-.icon-binoculars:before {
- content: "\f1e5";
-}
-
-.icon-biohazard:before {
- content: "\f780";
-}
-
-.icon-birthday-cake:before {
- content: "\f1fd";
-}
-
-.icon-bitbucket:before {
- content: "\f171";
-}
-
-.icon-bitcoin:before {
- content: "\f379";
-}
-
-.icon-bity:before {
- content: "\f37a";
-}
-
-.icon-black-tie:before {
- content: "\f27e";
-}
-
-.icon-blackberry:before {
- content: "\f37b";
-}
-
-.icon-blender:before {
- content: "\f517";
-}
-
-.icon-blender-phone:before {
- content: "\f6b6";
-}
-
-.icon-blind:before {
- content: "\f29d";
-}
-
-.icon-blog:before {
- content: "\f781";
-}
-
-.icon-blogger:before {
- content: "\f37c";
-}
-
-.icon-blogger-b:before {
- content: "\f37d";
-}
-
-.icon-bluetooth:before {
- content: "\f293";
-}
-
-.icon-bluetooth-b:before {
- content: "\f294";
-}
-
-.icon-bold:before {
- content: "\f032";
-}
-
-.icon-bolt:before {
- content: "\f0e7";
-}
-
-.icon-bomb:before {
- content: "\f1e2";
-}
-
-.icon-bone:before {
- content: "\f5d7";
-}
-
-.icon-bong:before {
- content: "\f55c";
-}
-
-.icon-book:before {
- content: "\f02d";
-}
-
-.icon-book-dead:before {
- content: "\f6b7";
-}
-
-.icon-book-medical:before {
- content: "\f7e6";
-}
-
-.icon-book-open:before {
- content: "\f518";
-}
-
-.icon-book-reader:before {
- content: "\f5da";
-}
-
-.icon-bookmark:before {
- content: "\f02e";
-}
-
-.icon-bootstrap:before {
- content: "\f836";
-}
-
-.icon-border-all:before {
- content: "\f84c";
-}
-
-.icon-border-none:before {
- content: "\f850";
-}
-
-.icon-border-style:before {
- content: "\f853";
-}
-
-.icon-bowling-ball:before {
- content: "\f436";
-}
-
-.icon-box:before {
- content: "\f466";
-}
-
-.icon-box-open:before {
- content: "\f49e";
-}
-
-.icon-box-tissue:before {
- content: "\e05b";
-}
-
-.icon-boxes:before {
- content: "\f468";
-}
-
-.icon-braille:before {
- content: "\f2a1";
-}
-
-.icon-brain:before {
- content: "\f5dc";
-}
-
-.icon-bread-slice:before {
- content: "\f7ec";
-}
-
-.icon-briefcase:before {
- content: "\f0b1";
-}
-
-.icon-briefcase-medical:before {
- content: "\f469";
-}
-
-.icon-broadcast-tower:before {
- content: "\f519";
-}
-
-.icon-broom:before {
- content: "\f51a";
-}
-
-.icon-brush:before {
- content: "\f55d";
-}
-
-.icon-btc:before {
- content: "\f15a";
-}
-
-.icon-buffer:before {
- content: "\f837";
-}
-
-.icon-bug:before {
- content: "\f188";
-}
-
-.icon-building:before {
- content: "\f1ad";
-}
-
-.icon-bullhorn:before {
- content: "\f0a1";
-}
-
-.icon-bullseye:before {
- content: "\f140";
-}
-
-.icon-burn:before {
- content: "\f46a";
-}
-
-.icon-buromobelexperte:before {
- content: "\f37f";
-}
-
-.icon-bus:before {
- content: "\f207";
-}
-
-.icon-bus-alt:before {
- content: "\f55e";
-}
-
-.icon-business-time:before {
- content: "\f64a";
-}
-
-.icon-buy-n-large:before {
- content: "\f8a6";
-}
-
-.icon-buysellads:before {
- content: "\f20d";
-}
-
-.icon-calculator:before {
- content: "\f1ec";
-}
-
-.icon-calendar:before {
- content: "\f133";
-}
-
-.icon-calendar-alt:before {
- content: "\f073";
-}
-
-.icon-calendar-check:before {
- content: "\f274";
-}
-
-.icon-calendar-day:before {
- content: "\f783";
-}
-
-.icon-calendar-minus:before {
- content: "\f272";
-}
-
-.icon-calendar-plus:before {
- content: "\f271";
-}
-
-.icon-calendar-times:before {
- content: "\f273";
-}
-
-.icon-calendar-week:before {
- content: "\f784";
-}
-
-.icon-camera:before {
- content: "\f030";
-}
-
-.icon-camera-retro:before {
- content: "\f083";
-}
-
-.icon-campground:before {
- content: "\f6bb";
-}
-
-.icon-canadian-maple-leaf:before {
- content: "\f785";
-}
-
-.icon-candy-cane:before {
- content: "\f786";
-}
-
-.icon-cannabis:before {
- content: "\f55f";
-}
-
-.icon-capsules:before {
- content: "\f46b";
-}
-
-.icon-car:before {
- content: "\f1b9";
-}
-
-.icon-car-alt:before {
- content: "\f5de";
-}
-
-.icon-car-battery:before {
- content: "\f5df";
-}
-
-.icon-car-crash:before {
- content: "\f5e1";
-}
-
-.icon-car-side:before {
- content: "\f5e4";
-}
-
-.icon-caravan:before {
- content: "\f8ff";
-}
-
-.icon-caret-down:before {
- content: "\f0d7";
-}
-
-.icon-caret-left:before {
- content: "\f0d9";
-}
-
-.icon-caret-right:before {
- content: "\f0da";
-}
-
-.icon-caret-square-down:before {
- content: "\f150";
-}
-
-.icon-caret-square-left:before {
- content: "\f191";
-}
-
-.icon-caret-square-right:before {
- content: "\f152";
-}
-
-.icon-caret-square-up:before {
- content: "\f151";
-}
-
-.icon-caret-up:before {
- content: "\f0d8";
-}
-
-.icon-carrot:before {
- content: "\f787";
-}
-
-.icon-cart-arrow-down:before {
- content: "\f218";
-}
-
-.icon-cart-plus:before {
- content: "\f217";
-}
-
-.icon-cash-register:before {
- content: "\f788";
-}
-
-.icon-cat:before {
- content: "\f6be";
-}
-
-.icon-cc-amazon-pay:before {
- content: "\f42d";
-}
-
-.icon-cc-amex:before {
- content: "\f1f3";
-}
-
-.icon-cc-apple-pay:before {
- content: "\f416";
-}
-
-.icon-cc-diners-club:before {
- content: "\f24c";
-}
-
-.icon-cc-discover:before {
- content: "\f1f2";
-}
-
-.icon-cc-jcb:before {
- content: "\f24b";
-}
-
-.icon-cc-mastercard:before {
- content: "\f1f1";
-}
-
-.icon-cc-paypal:before {
- content: "\f1f4";
-}
-
-.icon-cc-stripe:before {
- content: "\f1f5";
-}
-
-.icon-cc-visa:before {
- content: "\f1f0";
-}
-
-.icon-centercode:before {
- content: "\f380";
-}
-
-.icon-centos:before {
- content: "\f789";
-}
-
-.icon-certificate:before {
- content: "\f0a3";
-}
-
-.icon-chair:before {
- content: "\f6c0";
-}
-
-.icon-chalkboard:before {
- content: "\f51b";
-}
-
-.icon-chalkboard-teacher:before {
- content: "\f51c";
-}
-
-.icon-charging-station:before {
- content: "\f5e7";
-}
-
-.icon-chart-area:before {
- content: "\f1fe";
-}
-
-.icon-chart-bar:before {
- content: "\f080";
-}
-
-.icon-chart-line:before {
- content: "\f201";
-}
-
-.icon-chart-pie:before {
- content: "\f200";
-}
-
-.icon-check:before {
- content: "\f00c";
-}
-
-.icon-check-circle:before {
- content: "\f058";
-}
-
-.icon-check-double:before {
- content: "\f560";
-}
-
-.icon-check-square:before {
- content: "\f14a";
-}
-
-.icon-cheese:before {
- content: "\f7ef";
-}
-
-.icon-chess:before {
- content: "\f439";
-}
-
-.icon-chess-bishop:before {
- content: "\f43a";
-}
-
-.icon-chess-board:before {
- content: "\f43c";
-}
-
-.icon-chess-king:before {
- content: "\f43f";
-}
-
-.icon-chess-knight:before {
- content: "\f441";
-}
-
-.icon-chess-pawn:before {
- content: "\f443";
-}
-
-.icon-chess-queen:before {
- content: "\f445";
-}
-
-.icon-chess-rook:before {
- content: "\f447";
-}
-
-.icon-chevron-circle-down:before {
- content: "\f13a";
-}
-
-.icon-chevron-circle-left:before {
- content: "\f137";
-}
-
-.icon-chevron-circle-right:before {
- content: "\f138";
-}
-
-.icon-chevron-circle-up:before {
- content: "\f139";
-}
-
-.icon-chevron-down:before {
- content: "\f078";
-}
-
-.icon-chevron-left:before {
- content: "\f053";
-}
-
-.icon-chevron-right:before {
- content: "\f054";
-}
-
-.icon-chevron-up:before {
- content: "\f077";
-}
-
-.icon-child:before {
- content: "\f1ae";
-}
-
-.icon-chrome:before {
- content: "\f268";
-}
-
-.icon-chromecast:before {
- content: "\f838";
-}
-
-.icon-church:before {
- content: "\f51d";
-}
-
-.icon-circle:before {
- content: "\f111";
-}
-
-.icon-circle-notch:before {
- content: "\f1ce";
-}
-
-.icon-city:before {
- content: "\f64f";
-}
-
-.icon-clinic-medical:before {
- content: "\f7f2";
-}
-
-.icon-clipboard:before {
- content: "\f328";
-}
-
-.icon-clipboard-check:before {
- content: "\f46c";
-}
-
-.icon-clipboard-list:before {
- content: "\f46d";
-}
-
-.icon-clock:before {
- content: "\f017";
-}
-
-.icon-clone:before {
- content: "\f24d";
-}
-
-.icon-closed-captioning:before {
- content: "\f20a";
-}
-
-.icon-cloud:before {
- content: "\f0c2";
-}
-
-.icon-cloud-download-alt:before {
- content: "\f381";
-}
-
-.icon-cloud-meatball:before {
- content: "\f73b";
-}
-
-.icon-cloud-moon:before {
- content: "\f6c3";
-}
-
-.icon-cloud-moon-rain:before {
- content: "\f73c";
-}
-
-.icon-cloud-rain:before {
- content: "\f73d";
-}
-
-.icon-cloud-showers-heavy:before {
- content: "\f740";
-}
-
-.icon-cloud-sun:before {
- content: "\f6c4";
-}
-
-.icon-cloud-sun-rain:before {
- content: "\f743";
-}
-
-.icon-cloud-upload-alt:before {
- content: "\f382";
-}
-
-.icon-cloudflare:before {
- content: "\e07d";
-}
-
-.icon-cloudscale:before {
- content: "\f383";
-}
-
-.icon-cloudsmith:before {
- content: "\f384";
-}
-
-.icon-cloudversify:before {
- content: "\f385";
-}
-
-.icon-cocktail:before {
- content: "\f561";
-}
-
-.icon-code:before {
- content: "\f121";
-}
-
-.icon-code-branch:before {
- content: "\f126";
-}
-
-.icon-codepen:before {
- content: "\f1cb";
-}
-
-.icon-codiepie:before {
- content: "\f284";
-}
-
-.icon-coffee:before {
- content: "\f0f4";
-}
-
-.icon-cog:before {
- content: "\f013";
-}
-
-.icon-cogs:before {
- content: "\f085";
-}
-
-.icon-coins:before {
- content: "\f51e";
-}
-
-.icon-columns:before {
- content: "\f0db";
-}
-
-.icon-comment:before {
- content: "\f075";
-}
-
-.icon-comment-alt:before {
- content: "\f27a";
-}
-
-.icon-comment-dollar:before {
- content: "\f651";
-}
-
-.icon-comment-dots:before {
- content: "\f4ad";
-}
-
-.icon-comment-medical:before {
- content: "\f7f5";
-}
-
-.icon-comment-slash:before {
- content: "\f4b3";
-}
-
-.icon-comments:before {
- content: "\f086";
-}
-
-.icon-comments-dollar:before {
- content: "\f653";
-}
-
-.icon-compact-disc:before {
- content: "\f51f";
-}
-
-.icon-compass:before {
- content: "\f14e";
-}
-
-.icon-compress:before {
- content: "\f066";
-}
-
-.icon-compress-alt:before {
- content: "\f422";
-}
-
-.icon-compress-arrows-alt:before {
- content: "\f78c";
-}
-
-.icon-concierge-bell:before {
- content: "\f562";
-}
-
-.icon-confluence:before {
- content: "\f78d";
-}
-
-.icon-connectdevelop:before {
- content: "\f20e";
-}
-
-.icon-contao:before {
- content: "\f26d";
-}
-
-.icon-cookie:before {
- content: "\f563";
-}
-
-.icon-cookie-bite:before {
- content: "\f564";
-}
-
-.icon-copy:before {
- content: "\f0c5";
-}
-
-.icon-copyright:before {
- content: "\f1f9";
-}
-
-.icon-cotton-bureau:before {
- content: "\f89e";
-}
-
-.icon-couch:before {
- content: "\f4b8";
-}
-
-.icon-cpanel:before {
- content: "\f388";
-}
-
-.icon-creative-commons:before {
- content: "\f25e";
-}
-
-.icon-creative-commons-by:before {
- content: "\f4e7";
-}
-
-.icon-creative-commons-nc:before {
- content: "\f4e8";
-}
-
-.icon-creative-commons-nc-eu:before {
- content: "\f4e9";
-}
-
-.icon-creative-commons-nc-jp:before {
- content: "\f4ea";
-}
-
-.icon-creative-commons-nd:before {
- content: "\f4eb";
-}
-
-.icon-creative-commons-pd:before {
- content: "\f4ec";
-}
-
-.icon-creative-commons-pd-alt:before {
- content: "\f4ed";
-}
-
-.icon-creative-commons-remix:before {
- content: "\f4ee";
-}
-
-.icon-creative-commons-sa:before {
- content: "\f4ef";
-}
-
-.icon-creative-commons-sampling:before {
- content: "\f4f0";
-}
-
-.icon-creative-commons-sampling-plus:before {
- content: "\f4f1";
-}
-
-.icon-creative-commons-share:before {
- content: "\f4f2";
-}
-
-.icon-creative-commons-zero:before {
- content: "\f4f3";
-}
-
-.icon-credit-card:before {
- content: "\f09d";
-}
-
-.icon-critical-role:before {
- content: "\f6c9";
-}
-
-.icon-crop:before {
- content: "\f125";
-}
-
-.icon-crop-alt:before {
- content: "\f565";
-}
-
-.icon-cross:before {
- content: "\f654";
-}
-
-.icon-crosshairs:before {
- content: "\f05b";
-}
-
-.icon-crow:before {
- content: "\f520";
-}
-
-.icon-crown:before {
- content: "\f521";
-}
-
-.icon-crutch:before {
- content: "\f7f7";
-}
-
-.icon-css3:before {
- content: "\f13c";
-}
-
-.icon-css3-alt:before {
- content: "\f38b";
-}
-
-.icon-cube:before {
- content: "\f1b2";
-}
-
-.icon-cubes:before {
- content: "\f1b3";
-}
-
-.icon-cut:before {
- content: "\f0c4";
-}
-
-.icon-cuttlefish:before {
- content: "\f38c";
-}
-
-.icon-d-and-d:before {
- content: "\f38d";
-}
-
-.icon-d-and-d-beyond:before {
- content: "\f6ca";
-}
-
-.icon-dailymotion:before {
- content: "\e052";
-}
-
-.icon-dashcube:before {
- content: "\f210";
-}
-
-.icon-database:before {
- content: "\f1c0";
-}
-
-.icon-deaf:before {
- content: "\f2a4";
-}
-
-.icon-deezer:before {
- content: "\e077";
-}
-
-.icon-delicious:before {
- content: "\f1a5";
-}
-
-.icon-democrat:before {
- content: "\f747";
-}
-
-.icon-deploydog:before {
- content: "\f38e";
-}
-
-.icon-deskpro:before {
- content: "\f38f";
-}
-
-.icon-desktop:before {
- content: "\f108";
-}
-
-.icon-dev:before {
- content: "\f6cc";
-}
-
-.icon-deviantart:before {
- content: "\f1bd";
-}
-
-.icon-dharmachakra:before {
- content: "\f655";
-}
-
-.icon-dhl:before {
- content: "\f790";
-}
-
-.icon-diagnoses:before {
- content: "\f470";
-}
-
-.icon-diaspora:before {
- content: "\f791";
-}
-
-.icon-dice:before {
- content: "\f522";
-}
-
-.icon-dice-d20:before {
- content: "\f6cf";
-}
-
-.icon-dice-d6:before {
- content: "\f6d1";
-}
-
-.icon-dice-five:before {
- content: "\f523";
-}
-
-.icon-dice-four:before {
- content: "\f524";
-}
-
-.icon-dice-one:before {
- content: "\f525";
-}
-
-.icon-dice-six:before {
- content: "\f526";
-}
-
-.icon-dice-three:before {
- content: "\f527";
-}
-
-.icon-dice-two:before {
- content: "\f528";
-}
-
-.icon-digg:before {
- content: "\f1a6";
-}
-
-.icon-digital-ocean:before {
- content: "\f391";
-}
-
-.icon-digital-tachograph:before {
- content: "\f566";
-}
-
-.icon-directions:before {
- content: "\f5eb";
-}
-
-.icon-discord:before {
- content: "\f392";
-}
-
-.icon-discourse:before {
- content: "\f393";
-}
-
-.icon-disease:before {
- content: "\f7fa";
-}
-
-.icon-divide:before {
- content: "\f529";
-}
-
-.icon-dizzy:before {
- content: "\f567";
-}
-
-.icon-dna:before {
- content: "\f471";
-}
-
-.icon-dochub:before {
- content: "\f394";
-}
-
-.icon-docker:before {
- content: "\f395";
-}
-
-.icon-dog:before {
- content: "\f6d3";
-}
-
-.icon-dollar-sign:before {
- content: "\f155";
-}
-
-.icon-dolly:before {
- content: "\f472";
-}
-
-.icon-dolly-flatbed:before {
- content: "\f474";
-}
-
-.icon-donate:before {
- content: "\f4b9";
-}
-
-.icon-door-closed:before {
- content: "\f52a";
-}
-
-.icon-door-open:before {
- content: "\f52b";
-}
-
-.icon-dot-circle:before {
- content: "\f192";
-}
-
-.icon-dove:before {
- content: "\f4ba";
-}
-
-.icon-download:before {
- content: "\f019";
-}
-
-.icon-draft2digital:before {
- content: "\f396";
-}
-
-.icon-drafting-compass:before {
- content: "\f568";
-}
-
-.icon-dragon:before {
- content: "\f6d5";
-}
-
-.icon-draw-polygon:before {
- content: "\f5ee";
-}
-
-.icon-dribbble:before {
- content: "\f17d";
-}
-
-.icon-dribbble-square:before {
- content: "\f397";
-}
-
-.icon-dropbox:before {
- content: "\f16b";
-}
-
-.icon-drum:before {
- content: "\f569";
-}
-
-.icon-drum-steelpan:before {
- content: "\f56a";
-}
-
-.icon-drumstick-bite:before {
- content: "\f6d7";
-}
-
-.icon-drupal:before {
- content: "\f1a9";
-}
-
-.icon-dumbbell:before {
- content: "\f44b";
-}
-
-.icon-dumpster:before {
- content: "\f793";
-}
-
-.icon-dumpster-fire:before {
- content: "\f794";
-}
-
-.icon-dungeon:before {
- content: "\f6d9";
-}
-
-.icon-dyalog:before {
- content: "\f399";
-}
-
-.icon-earlybirds:before {
- content: "\f39a";
-}
-
-.icon-ebay:before {
- content: "\f4f4";
-}
-
-.icon-edge:before {
- content: "\f282";
-}
-
-.icon-edge-legacy:before {
- content: "\e078";
-}
-
-.icon-edit:before {
- content: "\f044";
-}
-
-.icon-egg:before {
- content: "\f7fb";
-}
-
-.icon-eject:before {
- content: "\f052";
-}
-
-.icon-elementor:before {
- content: "\f430";
-}
-
-.icon-ellipsis-h:before {
- content: "\f141";
-}
-
-.icon-ellipsis-v:before {
- content: "\f142";
-}
-
-.icon-ello:before {
- content: "\f5f1";
-}
-
-.icon-ember:before {
- content: "\f423";
-}
-
-.icon-empire:before {
- content: "\f1d1";
-}
-
-.icon-envelope:before {
- content: "\f0e0";
-}
-
-.icon-envelope-open:before {
- content: "\f2b6";
-}
-
-.icon-envelope-open-text:before {
- content: "\f658";
-}
-
-.icon-envelope-square:before {
- content: "\f199";
-}
-
-.icon-envira:before {
- content: "\f299";
-}
-
-.icon-equals:before {
- content: "\f52c";
-}
-
-.icon-eraser:before {
- content: "\f12d";
-}
-
-.icon-erlang:before {
- content: "\f39d";
-}
-
-.icon-ethereum:before {
- content: "\f42e";
-}
-
-.icon-ethernet:before {
- content: "\f796";
-}
-
-.icon-etsy:before {
- content: "\f2d7";
-}
-
-.icon-euro-sign:before {
- content: "\f153";
-}
-
-.icon-evernote:before {
- content: "\f839";
-}
-
-.icon-exchange-alt:before {
- content: "\f362";
-}
-
-.icon-exclamation:before {
- content: "\f12a";
-}
-
-.icon-exclamation-circle:before {
- content: "\f06a";
-}
-
-.icon-exclamation-triangle:before {
- content: "\f071";
-}
-
-.icon-expand:before {
- content: "\f065";
-}
-
-.icon-expand-alt:before {
- content: "\f424";
-}
-
-.icon-expand-arrows-alt:before {
- content: "\f31e";
-}
-
-.icon-expeditedssl:before {
- content: "\f23e";
-}
-
-.icon-external-link-alt:before {
- content: "\f35d";
-}
-
-.icon-external-link-square-alt:before {
- content: "\f360";
-}
-
-.icon-eye:before {
- content: "\f06e";
-}
-
-.icon-eye-dropper:before {
- content: "\f1fb";
-}
-
-.icon-eye-slash:before {
- content: "\f070";
-}
-
-.icon-facebook:before {
- content: "\f09a";
-}
-
-.icon-facebook-f:before {
- content: "\f39e";
-}
-
-.icon-facebook-messenger:before {
- content: "\f39f";
-}
-
-.icon-facebook-square:before {
- content: "\f082";
-}
-
-.icon-fan:before {
- content: "\f863";
-}
-
-.icon-fantasy-flight-games:before {
- content: "\f6dc";
-}
-
-.icon-fast-backward:before {
- content: "\f049";
-}
-
-.icon-fast-forward:before {
- content: "\f050";
-}
-
-.icon-faucet:before {
- content: "\e005";
-}
-
-.icon-fax:before {
- content: "\f1ac";
-}
-
-.icon-feather:before {
- content: "\f52d";
-}
-
-.icon-feather-alt:before {
- content: "\f56b";
-}
-
-.icon-fedex:before {
- content: "\f797";
-}
-
-.icon-fedora:before {
- content: "\f798";
-}
-
-.icon-female:before {
- content: "\f182";
-}
-
-.icon-fighter-jet:before {
- content: "\f0fb";
-}
-
-.icon-figma:before {
- content: "\f799";
-}
-
-.icon-file:before {
- content: "\f15b";
-}
-
-.icon-file-alt:before {
- content: "\f15c";
-}
-
-.icon-file-archive:before {
- content: "\f1c6";
-}
-
-.icon-file-audio:before {
- content: "\f1c7";
-}
-
-.icon-file-code:before {
- content: "\f1c9";
-}
-
-.icon-file-contract:before {
- content: "\f56c";
-}
-
-.icon-file-csv:before {
- content: "\f6dd";
-}
-
-.icon-file-download:before {
- content: "\f56d";
-}
-
-.icon-file-excel:before {
- content: "\f1c3";
-}
-
-.icon-file-export:before {
- content: "\f56e";
-}
-
-.icon-file-image:before {
- content: "\f1c5";
-}
-
-.icon-file-import:before {
- content: "\f56f";
-}
-
-.icon-file-invoice:before {
- content: "\f570";
-}
-
-.icon-file-invoice-dollar:before {
- content: "\f571";
-}
-
-.icon-file-medical:before {
- content: "\f477";
-}
-
-.icon-file-medical-alt:before {
- content: "\f478";
-}
-
-.icon-file-pdf:before {
- content: "\f1c1";
-}
-
-.icon-file-powerpoint:before {
- content: "\f1c4";
-}
-
-.icon-file-prescription:before {
- content: "\f572";
-}
-
-.icon-file-signature:before {
- content: "\f573";
-}
-
-.icon-file-upload:before {
- content: "\f574";
-}
-
-.icon-file-video:before {
- content: "\f1c8";
-}
-
-.icon-file-word:before {
- content: "\f1c2";
-}
-
-.icon-fill:before {
- content: "\f575";
-}
-
-.icon-fill-drip:before {
- content: "\f576";
-}
-
-.icon-film:before {
- content: "\f008";
-}
-
-.icon-filter:before {
- content: "\f0b0";
-}
-
-.icon-fingerprint:before {
- content: "\f577";
-}
-
-.icon-fire:before {
- content: "\f06d";
-}
-
-.icon-fire-alt:before {
- content: "\f7e4";
-}
-
-.icon-fire-extinguisher:before {
- content: "\f134";
-}
-
-.icon-firefox:before {
- content: "\f269";
-}
-
-.icon-firefox-browser:before {
- content: "\e007";
-}
-
-.icon-first-aid:before {
- content: "\f479";
-}
-
-.icon-first-order:before {
- content: "\f2b0";
-}
-
-.icon-first-order-alt:before {
- content: "\f50a";
-}
-
-.icon-firstdraft:before {
- content: "\f3a1";
-}
-
-.icon-fish:before {
- content: "\f578";
-}
-
-.icon-fist-raised:before {
- content: "\f6de";
-}
-
-.icon-flag:before {
- content: "\f024";
-}
-
-.icon-flag-checkered:before {
- content: "\f11e";
-}
-
-.icon-flag-usa:before {
- content: "\f74d";
-}
-
-.icon-flask:before {
- content: "\f0c3";
-}
-
-.icon-flickr:before {
- content: "\f16e";
-}
-
-.icon-flipboard:before {
- content: "\f44d";
-}
-
-.icon-flushed:before {
- content: "\f579";
-}
-
-.icon-fly:before {
- content: "\f417";
-}
-
-.icon-folder:before {
- content: "\f07b";
-}
-
-.icon-folder-minus:before {
- content: "\f65d";
-}
-
-.icon-folder-open:before {
- content: "\f07c";
-}
-
-.icon-folder-plus:before {
- content: "\f65e";
-}
-
-.icon-font:before {
- content: "\f031";
-}
-
-.icon-font-awesome:before {
- content: "\f2b4";
-}
-
-.icon-font-awesome-alt:before {
- content: "\f35c";
-}
-
-.icon-font-awesome-flag:before {
- content: "\f425";
-}
-
-.icon-font-awesome-logo-full:before {
- content: "\f4e6";
-}
-
-.icon-fonticons:before {
- content: "\f280";
-}
-
-.icon-fonticons-fi:before {
- content: "\f3a2";
-}
-
-.icon-football-ball:before {
- content: "\f44e";
-}
-
-.icon-fort-awesome:before {
- content: "\f286";
-}
-
-.icon-fort-awesome-alt:before {
- content: "\f3a3";
-}
-
-.icon-forumbee:before {
- content: "\f211";
-}
-
-.icon-forward:before {
- content: "\f04e";
-}
-
-.icon-foursquare:before {
- content: "\f180";
-}
-
-.icon-free-code-camp:before {
- content: "\f2c5";
-}
-
-.icon-freebsd:before {
- content: "\f3a4";
-}
-
-.icon-frog:before {
- content: "\f52e";
-}
-
-.icon-frown:before {
- content: "\f119";
-}
-
-.icon-frown-open:before {
- content: "\f57a";
-}
-
-.icon-fulcrum:before {
- content: "\f50b";
-}
-
-.icon-funnel-dollar:before {
- content: "\f662";
-}
-
-.icon-futbol:before {
- content: "\f1e3";
-}
-
-.icon-galactic-republic:before {
- content: "\f50c";
-}
-
-.icon-galactic-senate:before {
- content: "\f50d";
-}
-
-.icon-gamepad:before {
- content: "\f11b";
-}
-
-.icon-gas-pump:before {
- content: "\f52f";
-}
-
-.icon-gavel:before {
- content: "\f0e3";
-}
-
-.icon-gem:before {
- content: "\f3a5";
-}
-
-.icon-genderless:before {
- content: "\f22d";
-}
-
-.icon-get-pocket:before {
- content: "\f265";
-}
-
-.icon-gg:before {
- content: "\f260";
-}
-
-.icon-gg-circle:before {
- content: "\f261";
-}
-
-.icon-ghost:before {
- content: "\f6e2";
-}
-
-.icon-gift:before {
- content: "\f06b";
-}
-
-.icon-gifts:before {
- content: "\f79c";
-}
-
-.icon-git:before {
- content: "\f1d3";
-}
-
-.icon-git-alt:before {
- content: "\f841";
-}
-
-.icon-git-square:before {
- content: "\f1d2";
-}
-
-.icon-github:before {
- content: "\f09b";
-}
-
-.icon-github-alt:before {
- content: "\f113";
-}
-
-.icon-github-square:before {
- content: "\f092";
-}
-
-.icon-gitkraken:before {
- content: "\f3a6";
-}
-
-.icon-gitlab:before {
- content: "\f296";
-}
-
-.icon-gitter:before {
- content: "\f426";
-}
-
-.icon-glass-cheers:before {
- content: "\f79f";
-}
-
-.icon-glass-martini:before {
- content: "\f000";
-}
-
-.icon-glass-martini-alt:before {
- content: "\f57b";
-}
-
-.icon-glass-whiskey:before {
- content: "\f7a0";
-}
-
-.icon-glasses:before {
- content: "\f530";
-}
-
-.icon-glide:before {
- content: "\f2a5";
-}
-
-.icon-glide-g:before {
- content: "\f2a6";
-}
-
-.icon-globe:before {
- content: "\f0ac";
-}
-
-.icon-globe-africa:before {
- content: "\f57c";
-}
-
-.icon-globe-americas:before {
- content: "\f57d";
-}
-
-.icon-globe-asia:before {
- content: "\f57e";
-}
-
-.icon-globe-europe:before {
- content: "\f7a2";
-}
-
-.icon-gofore:before {
- content: "\f3a7";
-}
-
-.icon-golf-ball:before {
- content: "\f450";
-}
-
-.icon-goodreads:before {
- content: "\f3a8";
-}
-
-.icon-goodreads-g:before {
- content: "\f3a9";
-}
-
-.icon-google:before {
- content: "\f1a0";
-}
-
-.icon-google-drive:before {
- content: "\f3aa";
-}
-
-.icon-google-pay:before {
- content: "\e079";
-}
-
-.icon-google-play:before {
- content: "\f3ab";
-}
-
-.icon-google-plus:before {
- content: "\f2b3";
-}
-
-.icon-google-plus-g:before {
- content: "\f0d5";
-}
-
-.icon-google-plus-square:before {
- content: "\f0d4";
-}
-
-.icon-google-wallet:before {
- content: "\f1ee";
-}
-
-.icon-gopuram:before {
- content: "\f664";
-}
-
-.icon-graduation-cap:before {
- content: "\f19d";
-}
-
-.icon-gratipay:before {
- content: "\f184";
-}
-
-.icon-grav:before {
- content: "\f2d6";
-}
-
-.icon-greater-than:before {
- content: "\f531";
-}
-
-.icon-greater-than-equal:before {
- content: "\f532";
-}
-
-.icon-grimace:before {
- content: "\f57f";
-}
-
-.icon-grin:before {
- content: "\f580";
-}
-
-.icon-grin-alt:before {
- content: "\f581";
-}
-
-.icon-grin-beam:before {
- content: "\f582";
-}
-
-.icon-grin-beam-sweat:before {
- content: "\f583";
-}
-
-.icon-grin-hearts:before {
- content: "\f584";
-}
-
-.icon-grin-squint:before {
- content: "\f585";
-}
-
-.icon-grin-squint-tears:before {
- content: "\f586";
-}
-
-.icon-grin-stars:before {
- content: "\f587";
-}
-
-.icon-grin-tears:before {
- content: "\f588";
-}
-
-.icon-grin-tongue:before {
- content: "\f589";
-}
-
-.icon-grin-tongue-squint:before {
- content: "\f58a";
-}
-
-.icon-grin-tongue-wink:before {
- content: "\f58b";
-}
-
-.icon-grin-wink:before {
- content: "\f58c";
-}
-
-.icon-grip-horizontal:before {
- content: "\f58d";
-}
-
-.icon-grip-lines:before {
- content: "\f7a4";
-}
-
-.icon-grip-lines-vertical:before {
- content: "\f7a5";
-}
-
-.icon-grip-vertical:before {
- content: "\f58e";
-}
-
-.icon-gripfire:before {
- content: "\f3ac";
-}
-
-.icon-grunt:before {
- content: "\f3ad";
-}
-
-.icon-guilded:before {
- content: "\e07e";
-}
-
-.icon-guitar:before {
- content: "\f7a6";
-}
-
-.icon-gulp:before {
- content: "\f3ae";
-}
-
-.icon-h-square:before {
- content: "\f0fd";
-}
-
-.icon-hacker-news:before {
- content: "\f1d4";
-}
-
-.icon-hacker-news-square:before {
- content: "\f3af";
-}
-
-.icon-hackerrank:before {
- content: "\f5f7";
-}
-
-.icon-hamburger:before {
- content: "\f805";
-}
-
-.icon-hammer:before {
- content: "\f6e3";
-}
-
-.icon-hamsa:before {
- content: "\f665";
-}
-
-.icon-hand-holding:before {
- content: "\f4bd";
-}
-
-.icon-hand-holding-heart:before {
- content: "\f4be";
-}
-
-.icon-hand-holding-medical:before {
- content: "\e05c";
-}
-
-.icon-hand-holding-usd:before {
- content: "\f4c0";
-}
-
-.icon-hand-holding-water:before {
- content: "\f4c1";
-}
-
-.icon-hand-lizard:before {
- content: "\f258";
-}
-
-.icon-hand-middle-finger:before {
- content: "\f806";
-}
-
-.icon-hand-paper:before {
- content: "\f256";
-}
-
-.icon-hand-peace:before {
- content: "\f25b";
-}
-
-.icon-hand-point-down:before {
- content: "\f0a7";
-}
-
-.icon-hand-point-left:before {
- content: "\f0a5";
-}
-
-.icon-hand-point-right:before {
- content: "\f0a4";
-}
-
-.icon-hand-point-up:before {
- content: "\f0a6";
-}
-
-.icon-hand-pointer:before {
- content: "\f25a";
-}
-
-.icon-hand-rock:before {
- content: "\f255";
-}
-
-.icon-hand-scissors:before {
- content: "\f257";
-}
-
-.icon-hand-sparkles:before {
- content: "\e05d";
-}
-
-.icon-hand-spock:before {
- content: "\f259";
-}
-
-.icon-hands:before {
- content: "\f4c2";
-}
-
-.icon-hands-helping:before {
- content: "\f4c4";
-}
-
-.icon-hands-wash:before {
- content: "\e05e";
-}
-
-.icon-handshake:before {
- content: "\f2b5";
-}
-
-.icon-handshake-alt-slash:before {
- content: "\e05f";
-}
-
-.icon-handshake-slash:before {
- content: "\e060";
-}
-
-.icon-hanukiah:before {
- content: "\f6e6";
-}
-
-.icon-hard-hat:before {
- content: "\f807";
-}
-
-.icon-hashtag:before {
- content: "\f292";
-}
-
-.icon-hat-cowboy:before {
- content: "\f8c0";
-}
-
-.icon-hat-cowboy-side:before {
- content: "\f8c1";
-}
-
-.icon-hat-wizard:before {
- content: "\f6e8";
-}
-
-.icon-hdd:before {
- content: "\f0a0";
-}
-
-.icon-head-side-cough:before {
- content: "\e061";
-}
-
-.icon-head-side-cough-slash:before {
- content: "\e062";
-}
-
-.icon-head-side-mask:before {
- content: "\e063";
-}
-
-.icon-head-side-virus:before {
- content: "\e064";
-}
-
-.icon-heading:before {
- content: "\f1dc";
-}
-
-.icon-headphones:before {
- content: "\f025";
-}
-
-.icon-headphones-alt:before {
- content: "\f58f";
-}
-
-.icon-headset:before {
- content: "\f590";
-}
-
-.icon-heart:before {
- content: "\f004";
-}
-
-.icon-heart-broken:before {
- content: "\f7a9";
-}
-
-.icon-heartbeat:before {
- content: "\f21e";
-}
-
-.icon-helicopter:before {
- content: "\f533";
-}
-
-.icon-highlighter:before {
- content: "\f591";
-}
-
-.icon-hiking:before {
- content: "\f6ec";
-}
-
-.icon-hippo:before {
- content: "\f6ed";
-}
-
-.icon-hips:before {
- content: "\f452";
-}
-
-.icon-hire-a-helper:before {
- content: "\f3b0";
-}
-
-.icon-history:before {
- content: "\f1da";
-}
-
-.icon-hive:before {
- content: "\e07f";
-}
-
-.icon-hockey-puck:before {
- content: "\f453";
-}
-
-.icon-holly-berry:before {
- content: "\f7aa";
-}
-
-.icon-home:before {
- content: "\f015";
-}
-
-.icon-hooli:before {
- content: "\f427";
-}
-
-.icon-hornbill:before {
- content: "\f592";
-}
-
-.icon-horse:before {
- content: "\f6f0";
-}
-
-.icon-horse-head:before {
- content: "\f7ab";
-}
-
-.icon-hospital:before {
- content: "\f0f8";
-}
-
-.icon-hospital-alt:before {
- content: "\f47d";
-}
-
-.icon-hospital-symbol:before {
- content: "\f47e";
-}
-
-.icon-hospital-user:before {
- content: "\f80d";
-}
-
-.icon-hot-tub:before {
- content: "\f593";
-}
-
-.icon-hotdog:before {
- content: "\f80f";
-}
-
-.icon-hotel:before {
- content: "\f594";
-}
-
-.icon-hotjar:before {
- content: "\f3b1";
-}
-
-.icon-hourglass:before {
- content: "\f254";
-}
-
-.icon-hourglass-end:before {
- content: "\f253";
-}
-
-.icon-hourglass-half:before {
- content: "\f252";
-}
-
-.icon-hourglass-start:before {
- content: "\f251";
-}
-
-.icon-house-damage:before {
- content: "\f6f1";
-}
-
-.icon-house-user:before {
- content: "\e065";
-}
-
-.icon-houzz:before {
- content: "\f27c";
-}
-
-.icon-hryvnia:before {
- content: "\f6f2";
-}
-
-.icon-html5:before {
- content: "\f13b";
-}
-
-.icon-hubspot:before {
- content: "\f3b2";
-}
-
-.icon-i-cursor:before {
- content: "\f246";
-}
-
-.icon-ice-cream:before {
- content: "\f810";
-}
-
-.icon-icicles:before {
- content: "\f7ad";
-}
-
-.icon-icons:before {
- content: "\f86d";
-}
-
-.icon-id-badge:before {
- content: "\f2c1";
-}
-
-.icon-id-card:before {
- content: "\f2c2";
-}
-
-.icon-id-card-alt:before {
- content: "\f47f";
-}
-
-.icon-ideal:before {
- content: "\e013";
-}
-
-.icon-igloo:before {
- content: "\f7ae";
-}
-
-.icon-image:before {
- content: "\f03e";
-}
-
-.icon-images:before {
- content: "\f302";
-}
-
-.icon-imdb:before {
- content: "\f2d8";
-}
-
-.icon-inbox:before {
- content: "\f01c";
-}
-
-.icon-indent:before {
- content: "\f03c";
-}
-
-.icon-industry:before {
- content: "\f275";
-}
-
-.icon-infinity:before {
- content: "\f534";
-}
-
-.icon-info:before {
- content: "\f129";
-}
-
-.icon-info-circle:before {
- content: "\f05a";
-}
-
-.icon-innosoft:before {
- content: "\e080";
-}
-
-.icon-instagram:before {
- content: "\f16d";
-}
-
-.icon-instagram-square:before {
- content: "\e055";
-}
-
-.icon-instalod:before {
- content: "\e081";
-}
-
-.icon-intercom:before {
- content: "\f7af";
-}
-
-.icon-internet-explorer:before {
- content: "\f26b";
-}
-
-.icon-invision:before {
- content: "\f7b0";
-}
-
-.icon-ioxhost:before {
- content: "\f208";
-}
-
-.icon-italic:before {
- content: "\f033";
-}
-
-.icon-itch-io:before {
- content: "\f83a";
-}
-
-.icon-itunes:before {
- content: "\f3b4";
-}
-
-.icon-itunes-note:before {
- content: "\f3b5";
-}
-
-.icon-java:before {
- content: "\f4e4";
-}
-
-.icon-jedi:before {
- content: "\f669";
-}
-
-.icon-jedi-order:before {
- content: "\f50e";
-}
-
-.icon-jenkins:before {
- content: "\f3b6";
-}
-
-.icon-jira:before {
- content: "\f7b1";
-}
-
-.icon-joget:before {
- content: "\f3b7";
-}
-
-.icon-joint:before {
- content: "\f595";
-}
-
-.icon-joomla:before {
- content: "\f1aa";
-}
-
-.icon-journal-whills:before {
- content: "\f66a";
-}
-
-.icon-js:before {
- content: "\f3b8";
-}
-
-.icon-js-square:before {
- content: "\f3b9";
-}
-
-.icon-jsfiddle:before {
- content: "\f1cc";
-}
-
-.icon-kaaba:before {
- content: "\f66b";
-}
-
-.icon-kaggle:before {
- content: "\f5fa";
-}
-
-.icon-key:before {
- content: "\f084";
-}
-
-.icon-keybase:before {
- content: "\f4f5";
-}
-
-.icon-keyboard:before {
- content: "\f11c";
-}
-
-.icon-keycdn:before {
- content: "\f3ba";
-}
-
-.icon-khanda:before {
- content: "\f66d";
-}
-
-.icon-kickstarter:before {
- content: "\f3bb";
-}
-
-.icon-kickstarter-k:before {
- content: "\f3bc";
-}
-
-.icon-kiss:before {
- content: "\f596";
-}
-
-.icon-kiss-beam:before {
- content: "\f597";
-}
-
-.icon-kiss-wink-heart:before {
- content: "\f598";
-}
-
-.icon-kiwi-bird:before {
- content: "\f535";
-}
-
-.icon-korvue:before {
- content: "\f42f";
-}
-
-.icon-landmark:before {
- content: "\f66f";
-}
-
-.icon-language:before {
- content: "\f1ab";
-}
-
-.icon-laptop:before {
- content: "\f109";
-}
-
-.icon-laptop-code:before {
- content: "\f5fc";
-}
-
-.icon-laptop-house:before {
- content: "\e066";
-}
-
-.icon-laptop-medical:before {
- content: "\f812";
-}
-
-.icon-laravel:before {
- content: "\f3bd";
-}
-
-.icon-lastfm:before {
- content: "\f202";
-}
-
-.icon-lastfm-square:before {
- content: "\f203";
-}
-
-.icon-laugh:before {
- content: "\f599";
-}
-
-.icon-laugh-beam:before {
- content: "\f59a";
-}
-
-.icon-laugh-squint:before {
- content: "\f59b";
-}
-
-.icon-laugh-wink:before {
- content: "\f59c";
-}
-
-.icon-layer-group:before {
- content: "\f5fd";
-}
-
-.icon-leaf:before {
- content: "\f06c";
-}
-
-.icon-leanpub:before {
- content: "\f212";
-}
-
-.icon-lemon:before {
- content: "\f094";
-}
-
-.icon-less:before {
- content: "\f41d";
-}
-
-.icon-less-than:before {
- content: "\f536";
-}
-
-.icon-less-than-equal:before {
- content: "\f537";
-}
-
-.icon-level-down-alt:before {
- content: "\f3be";
-}
-
-.icon-level-up-alt:before {
- content: "\f3bf";
-}
-
-.icon-life-ring:before {
- content: "\f1cd";
-}
-
-.icon-lightbulb:before {
- content: "\f0eb";
-}
-
-.icon-line:before {
- content: "\f3c0";
-}
-
-.icon-link:before {
- content: "\f0c1";
-}
-
-.icon-linkedin:before {
- content: "\f08c";
-}
-
-.icon-linkedin-in:before {
- content: "\f0e1";
-}
-
-.icon-linode:before {
- content: "\f2b8";
-}
-
-.icon-linux:before {
- content: "\f17c";
-}
-
-.icon-lira-sign:before {
- content: "\f195";
-}
-
-.icon-list:before {
- content: "\f03a";
-}
-
-.icon-list-alt:before {
- content: "\f022";
-}
-
-.icon-list-ol:before {
- content: "\f0cb";
-}
-
-.icon-list-ul:before {
- content: "\f0ca";
-}
-
-.icon-location-arrow:before {
- content: "\f124";
-}
-
-.icon-lock:before {
- content: "\f023";
-}
-
-.icon-lock-open:before {
- content: "\f3c1";
-}
-
-.icon-long-arrow-alt-down:before {
- content: "\f309";
-}
-
-.icon-long-arrow-alt-left:before {
- content: "\f30a";
-}
-
-.icon-long-arrow-alt-right:before {
- content: "\f30b";
-}
-
-.icon-long-arrow-alt-up:before {
- content: "\f30c";
-}
-
-.icon-low-vision:before {
- content: "\f2a8";
-}
-
-.icon-luggage-cart:before {
- content: "\f59d";
-}
-
-.icon-lungs:before {
- content: "\f604";
-}
-
-.icon-lungs-virus:before {
- content: "\e067";
-}
-
-.icon-lyft:before {
- content: "\f3c3";
-}
-
-.icon-magento:before {
- content: "\f3c4";
-}
-
-.icon-magic:before {
- content: "\f0d0";
-}
-
-.icon-magnet:before {
- content: "\f076";
-}
-
-.icon-mail-bulk:before {
- content: "\f674";
-}
-
-.icon-mailchimp:before {
- content: "\f59e";
-}
-
-.icon-male:before {
- content: "\f183";
-}
-
-.icon-mandalorian:before {
- content: "\f50f";
-}
-
-.icon-map:before {
- content: "\f279";
-}
-
-.icon-map-marked:before {
- content: "\f59f";
-}
-
-.icon-map-marked-alt:before {
- content: "\f5a0";
-}
-
-.icon-map-marker:before {
- content: "\f041";
-}
-
-.icon-map-marker-alt:before {
- content: "\f3c5";
-}
-
-.icon-map-pin:before {
- content: "\f276";
-}
-
-.icon-map-signs:before {
- content: "\f277";
-}
-
-.icon-markdown:before {
- content: "\f60f";
-}
-
-.icon-marker:before {
- content: "\f5a1";
-}
-
-.icon-mars:before {
- content: "\f222";
-}
-
-.icon-mars-double:before {
- content: "\f227";
-}
-
-.icon-mars-stroke:before {
- content: "\f229";
-}
-
-.icon-mars-stroke-h:before {
- content: "\f22b";
-}
-
-.icon-mars-stroke-v:before {
- content: "\f22a";
-}
-
-.icon-mask:before {
- content: "\f6fa";
-}
-
-.icon-mastodon:before {
- content: "\f4f6";
-}
-
-.icon-maxcdn:before {
- content: "\f136";
-}
-
-.icon-mdb:before {
- content: "\f8ca";
-}
-
-.icon-medal:before {
- content: "\f5a2";
-}
-
-.icon-medapps:before {
- content: "\f3c6";
-}
-
-.icon-medium:before {
- content: "\f23a";
-}
-
-.icon-medium-m:before {
- content: "\f3c7";
-}
-
-.icon-medkit:before {
- content: "\f0fa";
-}
-
-.icon-medrt:before {
- content: "\f3c8";
-}
-
-.icon-meetup:before {
- content: "\f2e0";
-}
-
-.icon-megaport:before {
- content: "\f5a3";
-}
-
-.icon-meh:before {
- content: "\f11a";
-}
-
-.icon-meh-blank:before {
- content: "\f5a4";
-}
-
-.icon-meh-rolling-eyes:before {
- content: "\f5a5";
-}
-
-.icon-memory:before {
- content: "\f538";
-}
-
-.icon-mendeley:before {
- content: "\f7b3";
-}
-
-.icon-menorah:before {
- content: "\f676";
-}
-
-.icon-mercury:before {
- content: "\f223";
-}
-
-.icon-meteor:before {
- content: "\f753";
-}
-
-.icon-microblog:before {
- content: "\e01a";
-}
-
-.icon-microchip:before {
- content: "\f2db";
-}
-
-.icon-microphone:before {
- content: "\f130";
-}
-
-.icon-microphone-alt:before {
- content: "\f3c9";
-}
-
-.icon-microphone-alt-slash:before {
- content: "\f539";
-}
-
-.icon-microphone-slash:before {
- content: "\f131";
-}
-
-.icon-microscope:before {
- content: "\f610";
-}
-
-.icon-microsoft:before {
- content: "\f3ca";
-}
-
-.icon-minus:before {
- content: "\f068";
-}
-
-.icon-minus-circle:before {
- content: "\f056";
-}
-
-.icon-minus-square:before {
- content: "\f146";
-}
-
-.icon-mitten:before {
- content: "\f7b5";
-}
-
-.icon-mix:before {
- content: "\f3cb";
-}
-
-.icon-mixcloud:before {
- content: "\f289";
-}
-
-.icon-mixer:before {
- content: "\e056";
-}
-
-.icon-mizuni:before {
- content: "\f3cc";
-}
-
-.icon-mobile:before {
- content: "\f10b";
-}
-
-.icon-mobile-alt:before {
- content: "\f3cd";
-}
-
-.icon-modx:before {
- content: "\f285";
-}
-
-.icon-monero:before {
- content: "\f3d0";
-}
-
-.icon-money-bill:before {
- content: "\f0d6";
-}
-
-.icon-money-bill-alt:before {
- content: "\f3d1";
-}
-
-.icon-money-bill-wave:before {
- content: "\f53a";
-}
-
-.icon-money-bill-wave-alt:before {
- content: "\f53b";
-}
-
-.icon-money-check:before {
- content: "\f53c";
-}
-
-.icon-money-check-alt:before {
- content: "\f53d";
-}
-
-.icon-monument:before {
- content: "\f5a6";
-}
-
-.icon-moon:before {
- content: "\f186";
-}
-
-.icon-mortar-pestle:before {
- content: "\f5a7";
-}
-
-.icon-mosque:before {
- content: "\f678";
-}
-
-.icon-motorcycle:before {
- content: "\f21c";
-}
-
-.icon-mountain:before {
- content: "\f6fc";
-}
-
-.icon-mouse:before {
- content: "\f8cc";
-}
-
-.icon-mouse-pointer:before {
- content: "\f245";
-}
-
-.icon-mug-hot:before {
- content: "\f7b6";
-}
-
-.icon-music:before {
- content: "\f001";
-}
-
-.icon-napster:before {
- content: "\f3d2";
-}
-
-.icon-neos:before {
- content: "\f612";
-}
-
-.icon-network-wired:before {
- content: "\f6ff";
-}
-
-.icon-neuter:before {
- content: "\f22c";
-}
-
-.icon-newspaper:before {
- content: "\f1ea";
-}
-
-.icon-nimblr:before {
- content: "\f5a8";
-}
-
-.icon-node:before {
- content: "\f419";
-}
-
-.icon-node-js:before {
- content: "\f3d3";
-}
-
-.icon-not-equal:before {
- content: "\f53e";
-}
-
-.icon-notes-medical:before {
- content: "\f481";
-}
-
-.icon-npm:before {
- content: "\f3d4";
-}
-
-.icon-ns8:before {
- content: "\f3d5";
-}
-
-.icon-nutritionix:before {
- content: "\f3d6";
-}
-
-.icon-object-group:before {
- content: "\f247";
-}
-
-.icon-object-ungroup:before {
- content: "\f248";
-}
-
-.icon-octopus-deploy:before {
- content: "\e082";
-}
-
-.icon-odnoklassniki:before {
- content: "\f263";
-}
-
-.icon-odnoklassniki-square:before {
- content: "\f264";
-}
-
-.icon-oil-can:before {
- content: "\f613";
-}
-
-.icon-old-republic:before {
- content: "\f510";
-}
-
-.icon-om:before {
- content: "\f679";
-}
-
-.icon-opencart:before {
- content: "\f23d";
-}
-
-.icon-openid:before {
- content: "\f19b";
-}
-
-.icon-opera:before {
- content: "\f26a";
-}
-
-.icon-optin-monster:before {
- content: "\f23c";
-}
-
-.icon-orcid:before {
- content: "\f8d2";
-}
-
-.icon-osi:before {
- content: "\f41a";
-}
-
-.icon-otter:before {
- content: "\f700";
-}
-
-.icon-outdent:before {
- content: "\f03b";
-}
-
-.icon-page4:before {
- content: "\f3d7";
-}
-
-.icon-pagelines:before {
- content: "\f18c";
-}
-
-.icon-pager:before {
- content: "\f815";
-}
-
-.icon-paint-brush:before {
- content: "\f1fc";
-}
-
-.icon-paint-roller:before {
- content: "\f5aa";
-}
-
-.icon-palette:before {
- content: "\f53f";
-}
-
-.icon-palfed:before {
- content: "\f3d8";
-}
-
-.icon-pallet:before {
- content: "\f482";
-}
-
-.icon-paper-plane:before {
- content: "\f1d8";
-}
-
-.icon-paperclip:before {
- content: "\f0c6";
-}
-
-.icon-parachute-box:before {
- content: "\f4cd";
-}
-
-.icon-paragraph:before {
- content: "\f1dd";
-}
-
-.icon-parking:before {
- content: "\f540";
-}
-
-.icon-passport:before {
- content: "\f5ab";
-}
-
-.icon-pastafarianism:before {
- content: "\f67b";
-}
-
-.icon-paste:before {
- content: "\f0ea";
-}
-
-.icon-patreon:before {
- content: "\f3d9";
-}
-
-.icon-pause:before {
- content: "\f04c";
-}
-
-.icon-pause-circle:before {
- content: "\f28b";
-}
-
-.icon-paw:before {
- content: "\f1b0";
-}
-
-.icon-paypal:before {
- content: "\f1ed";
-}
-
-.icon-peace:before {
- content: "\f67c";
-}
-
-.icon-pen:before {
- content: "\f304";
-}
-
-.icon-pen-alt:before {
- content: "\f305";
-}
-
-.icon-pen-fancy:before {
- content: "\f5ac";
-}
-
-.icon-pen-nib:before {
- content: "\f5ad";
-}
-
-.icon-pen-square:before {
- content: "\f14b";
-}
-
-.icon-pencil-alt:before {
- content: "\f303";
-}
-
-.icon-pencil-ruler:before {
- content: "\f5ae";
-}
-
-.icon-penny-arcade:before {
- content: "\f704";
-}
-
-.icon-people-arrows:before {
- content: "\e068";
-}
-
-.icon-people-carry:before {
- content: "\f4ce";
-}
-
-.icon-pepper-hot:before {
- content: "\f816";
-}
-
-.icon-perbyte:before {
- content: "\e083";
-}
-
-.icon-percent:before {
- content: "\f295";
-}
-
-.icon-percentage:before {
- content: "\f541";
-}
-
-.icon-periscope:before {
- content: "\f3da";
-}
-
-.icon-person-booth:before {
- content: "\f756";
-}
-
-.icon-phabricator:before {
- content: "\f3db";
-}
-
-.icon-phoenix-framework:before {
- content: "\f3dc";
-}
-
-.icon-phoenix-squadron:before {
- content: "\f511";
-}
-
-.icon-phone:before {
- content: "\f095";
-}
-
-.icon-phone-alt:before {
- content: "\f879";
-}
-
-.icon-phone-slash:before {
- content: "\f3dd";
-}
-
-.icon-phone-square:before {
- content: "\f098";
-}
-
-.icon-phone-square-alt:before {
- content: "\f87b";
-}
-
-.icon-phone-volume:before {
- content: "\f2a0";
-}
-
-.icon-photo-video:before {
- content: "\f87c";
-}
-
-.icon-php:before {
- content: "\f457";
-}
-
-.icon-pied-piper:before {
- content: "\f2ae";
-}
-
-.icon-pied-piper-alt:before {
- content: "\f1a8";
-}
-
-.icon-pied-piper-hat:before {
- content: "\f4e5";
-}
-
-.icon-pied-piper-pp:before {
- content: "\f1a7";
-}
-
-.icon-pied-piper-square:before {
- content: "\e01e";
-}
-
-.icon-piggy-bank:before {
- content: "\f4d3";
-}
-
-.icon-pills:before {
- content: "\f484";
-}
-
-.icon-pinterest:before {
- content: "\f0d2";
-}
-
-.icon-pinterest-p:before {
- content: "\f231";
-}
-
-.icon-pinterest-square:before {
- content: "\f0d3";
-}
-
-.icon-pizza-slice:before {
- content: "\f818";
-}
-
-.icon-place-of-worship:before {
- content: "\f67f";
-}
-
-.icon-plane:before {
- content: "\f072";
-}
-
-.icon-plane-arrival:before {
- content: "\f5af";
-}
-
-.icon-plane-departure:before {
- content: "\f5b0";
-}
-
-.icon-plane-slash:before {
- content: "\e069";
-}
-
-.icon-play:before {
- content: "\f04b";
-}
-
-.icon-play-circle:before {
- content: "\f144";
-}
-
-.icon-playstation:before {
- content: "\f3df";
-}
-
-.icon-plug:before {
- content: "\f1e6";
-}
-
-.icon-plus:before {
- content: "\f067";
-}
-
-.icon-plus-circle:before {
- content: "\f055";
-}
-
-.icon-plus-square:before {
- content: "\f0fe";
-}
-
-.icon-podcast:before {
- content: "\f2ce";
-}
-
-.icon-poll:before {
- content: "\f681";
-}
-
-.icon-poll-h:before {
- content: "\f682";
-}
-
-.icon-poo:before {
- content: "\f2fe";
-}
-
-.icon-poo-storm:before {
- content: "\f75a";
-}
-
-.icon-poop:before {
- content: "\f619";
-}
-
-.icon-portrait:before {
- content: "\f3e0";
-}
-
-.icon-pound-sign:before {
- content: "\f154";
-}
-
-.icon-power-off:before {
- content: "\f011";
-}
-
-.icon-pray:before {
- content: "\f683";
-}
-
-.icon-praying-hands:before {
- content: "\f684";
-}
-
-.icon-prescription:before {
- content: "\f5b1";
-}
-
-.icon-prescription-bottle:before {
- content: "\f485";
-}
-
-.icon-prescription-bottle-alt:before {
- content: "\f486";
-}
-
-.icon-print:before {
- content: "\f02f";
-}
-
-.icon-procedures:before {
- content: "\f487";
-}
-
-.icon-product-hunt:before {
- content: "\f288";
-}
-
-.icon-project-diagram:before {
- content: "\f542";
-}
-
-.icon-pump-medical:before {
- content: "\e06a";
-}
-
-.icon-pump-soap:before {
- content: "\e06b";
-}
-
-.icon-pushed:before {
- content: "\f3e1";
-}
-
-.icon-puzzle-piece:before {
- content: "\f12e";
-}
-
-.icon-python:before {
- content: "\f3e2";
-}
-
-.icon-qq:before {
- content: "\f1d6";
-}
-
-.icon-qrcode:before {
- content: "\f029";
-}
-
-.icon-question:before {
- content: "\f128";
-}
-
-.icon-question-circle:before {
- content: "\f059";
-}
-
-.icon-quidditch:before {
- content: "\f458";
-}
-
-.icon-quinscape:before {
- content: "\f459";
-}
-
-.icon-quora:before {
- content: "\f2c4";
-}
-
-.icon-quote-left:before {
- content: "\f10d";
-}
-
-.icon-quote-right:before {
- content: "\f10e";
-}
-
-.icon-quran:before {
- content: "\f687";
-}
-
-.icon-r-project:before {
- content: "\f4f7";
-}
-
-.icon-radiation:before {
- content: "\f7b9";
-}
-
-.icon-radiation-alt:before {
- content: "\f7ba";
-}
-
-.icon-rainbow:before {
- content: "\f75b";
-}
-
-.icon-random:before {
- content: "\f074";
-}
-
-.icon-raspberry-pi:before {
- content: "\f7bb";
-}
-
-.icon-ravelry:before {
- content: "\f2d9";
-}
-
-.icon-react:before {
- content: "\f41b";
-}
-
-.icon-reacteurope:before {
- content: "\f75d";
-}
-
-.icon-readme:before {
- content: "\f4d5";
-}
-
-.icon-rebel:before {
- content: "\f1d0";
-}
-
-.icon-receipt:before {
- content: "\f543";
-}
-
-.icon-record-vinyl:before {
- content: "\f8d9";
-}
-
-.icon-recycle:before {
- content: "\f1b8";
-}
-
-.icon-red-river:before {
- content: "\f3e3";
-}
-
-.icon-reddit:before {
- content: "\f1a1";
-}
-
-.icon-reddit-alien:before {
- content: "\f281";
-}
-
-.icon-reddit-square:before {
- content: "\f1a2";
-}
-
-.icon-redhat:before {
- content: "\f7bc";
-}
-
-.icon-redo:before {
- content: "\f01e";
-}
-
-.icon-redo-alt:before {
- content: "\f2f9";
-}
-
-.icon-registered:before {
- content: "\f25d";
-}
-
-.icon-remove-format:before {
- content: "\f87d";
-}
-
-.icon-renren:before {
- content: "\f18b";
-}
-
-.icon-reply:before {
- content: "\f3e5";
-}
-
-.icon-reply-all:before {
- content: "\f122";
-}
-
-.icon-replyd:before {
- content: "\f3e6";
-}
-
-.icon-republican:before {
- content: "\f75e";
-}
-
-.icon-researchgate:before {
- content: "\f4f8";
-}
-
-.icon-resolving:before {
- content: "\f3e7";
-}
-
-.icon-restroom:before {
- content: "\f7bd";
-}
-
-.icon-retweet:before {
- content: "\f079";
-}
-
-.icon-rev:before {
- content: "\f5b2";
-}
-
-.icon-ribbon:before {
- content: "\f4d6";
-}
-
-.icon-ring:before {
- content: "\f70b";
-}
-
-.icon-road:before {
- content: "\f018";
-}
-
-.icon-robot:before {
- content: "\f544";
-}
-
-.icon-rocket:before {
- content: "\f135";
-}
-
-.icon-rocketchat:before {
- content: "\f3e8";
-}
-
-.icon-rockrms:before {
- content: "\f3e9";
-}
-
-.icon-route:before {
- content: "\f4d7";
-}
-
-.icon-rss:before {
- content: "\f09e";
-}
-
-.icon-rss-square:before {
- content: "\f143";
-}
-
-.icon-ruble-sign:before {
- content: "\f158";
-}
-
-.icon-ruler:before {
- content: "\f545";
-}
-
-.icon-ruler-combined:before {
- content: "\f546";
-}
-
-.icon-ruler-horizontal:before {
- content: "\f547";
-}
-
-.icon-ruler-vertical:before {
- content: "\f548";
-}
-
-.icon-running:before {
- content: "\f70c";
-}
-
-.icon-rupee-sign:before {
- content: "\f156";
-}
-
-.icon-rust:before {
- content: "\e07a";
-}
-
-.icon-sad-cry:before {
- content: "\f5b3";
-}
-
-.icon-sad-tear:before {
- content: "\f5b4";
-}
-
-.icon-safari:before {
- content: "\f267";
-}
-
-.icon-salesforce:before {
- content: "\f83b";
-}
-
-.icon-sass:before {
- content: "\f41e";
-}
-
-.icon-satellite:before {
- content: "\f7bf";
-}
-
-.icon-satellite-dish:before {
- content: "\f7c0";
-}
-
-.icon-save:before {
- content: "\f0c7";
-}
-
-.icon-schlix:before {
- content: "\f3ea";
-}
-
-.icon-school:before {
- content: "\f549";
-}
-
-.icon-screwdriver:before {
- content: "\f54a";
-}
-
-.icon-scribd:before {
- content: "\f28a";
-}
-
-.icon-scroll:before {
- content: "\f70e";
-}
-
-.icon-sd-card:before {
- content: "\f7c2";
-}
-
-.icon-search:before {
- content: "\f002";
-}
-
-.icon-search-dollar:before {
- content: "\f688";
-}
-
-.icon-search-location:before {
- content: "\f689";
-}
-
-.icon-search-minus:before {
- content: "\f010";
-}
-
-.icon-search-plus:before {
- content: "\f00e";
-}
-
-.icon-searchengin:before {
- content: "\f3eb";
-}
-
-.icon-seedling:before {
- content: "\f4d8";
-}
-
-.icon-sellcast:before {
- content: "\f2da";
-}
-
-.icon-sellsy:before {
- content: "\f213";
-}
-
-.icon-server:before {
- content: "\f233";
-}
-
-.icon-servicestack:before {
- content: "\f3ec";
-}
-
-.icon-shapes:before {
- content: "\f61f";
-}
-
-.icon-share:before {
- content: "\f064";
-}
-
-.icon-share-alt:before {
- content: "\f1e0";
-}
-
-.icon-share-alt-square:before {
- content: "\f1e1";
-}
-
-.icon-share-square:before {
- content: "\f14d";
-}
-
-.icon-shekel-sign:before {
- content: "\f20b";
-}
-
-.icon-shield-alt:before {
- content: "\f3ed";
-}
-
-.icon-shield-virus:before {
- content: "\e06c";
-}
-
-.icon-ship:before {
- content: "\f21a";
-}
-
-.icon-shipping-fast:before {
- content: "\f48b";
-}
-
-.icon-shirtsinbulk:before {
- content: "\f214";
-}
-
-.icon-shoe-prints:before {
- content: "\f54b";
-}
-
-.icon-shopify:before {
- content: "\e057";
-}
-
-.icon-shopping-bag:before {
- content: "\f290";
-}
-
-.icon-shopping-basket:before {
- content: "\f291";
-}
-
-.icon-shopping-cart:before {
- content: "\f07a";
-}
-
-.icon-shopware:before {
- content: "\f5b5";
-}
-
-.icon-shower:before {
- content: "\f2cc";
-}
-
-.icon-shuttle-van:before {
- content: "\f5b6";
-}
-
-.icon-sign:before {
- content: "\f4d9";
-}
-
-.icon-sign-in-alt:before {
- content: "\f2f6";
-}
-
-.icon-sign-language:before {
- content: "\f2a7";
-}
-
-.icon-sign-out-alt:before {
- content: "\f2f5";
-}
-
-.icon-signal:before {
- content: "\f012";
-}
-
-.icon-signature:before {
- content: "\f5b7";
-}
-
-.icon-sim-card:before {
- content: "\f7c4";
-}
-
-.icon-simplybuilt:before {
- content: "\f215";
-}
-
-.icon-sink:before {
- content: "\e06d";
-}
-
-.icon-sistrix:before {
- content: "\f3ee";
-}
-
-.icon-sitemap:before {
- content: "\f0e8";
-}
-
-.icon-sith:before {
- content: "\f512";
-}
-
-.icon-skating:before {
- content: "\f7c5";
-}
-
-.icon-sketch:before {
- content: "\f7c6";
-}
-
-.icon-skiing:before {
- content: "\f7c9";
-}
-
-.icon-skiing-nordic:before {
- content: "\f7ca";
-}
-
-.icon-skull:before {
- content: "\f54c";
-}
-
-.icon-skull-crossbones:before {
- content: "\f714";
-}
-
-.icon-skyatlas:before {
- content: "\f216";
-}
-
-.icon-skype:before {
- content: "\f17e";
-}
-
-.icon-slack:before {
- content: "\f198";
-}
-
-.icon-slack-hash:before {
- content: "\f3ef";
-}
-
-.icon-slash:before {
- content: "\f715";
-}
-
-.icon-sleigh:before {
- content: "\f7cc";
-}
-
-.icon-sliders-h:before {
- content: "\f1de";
-}
-
-.icon-slideshare:before {
- content: "\f1e7";
-}
-
-.icon-smile:before {
- content: "\f118";
-}
-
-.icon-smile-beam:before {
- content: "\f5b8";
-}
-
-.icon-smile-wink:before {
- content: "\f4da";
-}
-
-.icon-smog:before {
- content: "\f75f";
-}
-
-.icon-smoking:before {
- content: "\f48d";
-}
-
-.icon-smoking-ban:before {
- content: "\f54d";
-}
-
-.icon-sms:before {
- content: "\f7cd";
-}
-
-.icon-snapchat:before {
- content: "\f2ab";
-}
-
-.icon-snapchat-ghost:before {
- content: "\f2ac";
-}
-
-.icon-snapchat-square:before {
- content: "\f2ad";
-}
-
-.icon-snowboarding:before {
- content: "\f7ce";
-}
-
-.icon-snowflake:before {
- content: "\f2dc";
-}
-
-.icon-snowman:before {
- content: "\f7d0";
-}
-
-.icon-snowplow:before {
- content: "\f7d2";
-}
-
-.icon-soap:before {
- content: "\e06e";
-}
-
-.icon-socks:before {
- content: "\f696";
-}
-
-.icon-solar-panel:before {
- content: "\f5ba";
-}
-
-.icon-sort:before {
- content: "\f0dc";
-}
-
-.icon-sort-alpha-down:before {
- content: "\f15d";
-}
-
-.icon-sort-alpha-down-alt:before {
- content: "\f881";
-}
-
-.icon-sort-alpha-up:before {
- content: "\f15e";
-}
-
-.icon-sort-alpha-up-alt:before {
- content: "\f882";
-}
-
-.icon-sort-amount-down:before {
- content: "\f160";
-}
-
-.icon-sort-amount-down-alt:before {
- content: "\f884";
-}
-
-.icon-sort-amount-up:before {
- content: "\f161";
-}
-
-.icon-sort-amount-up-alt:before {
- content: "\f885";
-}
-
-.icon-sort-down:before {
- content: "\f0dd";
-}
-
-.icon-sort-numeric-down:before {
- content: "\f162";
-}
-
-.icon-sort-numeric-down-alt:before {
- content: "\f886";
-}
-
-.icon-sort-numeric-up:before {
- content: "\f163";
-}
-
-.icon-sort-numeric-up-alt:before {
- content: "\f887";
-}
-
-.icon-sort-up:before {
- content: "\f0de";
-}
-
-.icon-soundcloud:before {
- content: "\f1be";
-}
-
-.icon-sourcetree:before {
- content: "\f7d3";
-}
-
-.icon-spa:before {
- content: "\f5bb";
-}
-
-.icon-space-shuttle:before {
- content: "\f197";
-}
-
-.icon-speakap:before {
- content: "\f3f3";
-}
-
-.icon-speaker-deck:before {
- content: "\f83c";
-}
-
-.icon-spell-check:before {
- content: "\f891";
-}
-
-.icon-spider:before {
- content: "\f717";
-}
-
-.icon-spinner:before {
- content: "\f110";
-}
-
-.icon-splotch:before {
- content: "\f5bc";
-}
-
-.icon-spotify:before {
- content: "\f1bc";
-}
-
-.icon-spray-can:before {
- content: "\f5bd";
-}
-
-.icon-square:before {
- content: "\f0c8";
-}
-
-.icon-square-full:before {
- content: "\f45c";
-}
-
-.icon-square-root-alt:before {
- content: "\f698";
-}
-
-.icon-squarespace:before {
- content: "\f5be";
-}
-
-.icon-stack-exchange:before {
- content: "\f18d";
-}
-
-.icon-stack-overflow:before {
- content: "\f16c";
-}
-
-.icon-stackpath:before {
- content: "\f842";
-}
-
-.icon-stamp:before {
- content: "\f5bf";
-}
-
-.icon-star:before {
- content: "\f005";
-}
-
-.icon-star-and-crescent:before {
- content: "\f699";
-}
-
-.icon-star-half:before {
- content: "\f089";
-}
-
-.icon-star-half-alt:before {
- content: "\f5c0";
-}
-
-.icon-star-of-david:before {
- content: "\f69a";
-}
-
-.icon-star-of-life:before {
- content: "\f621";
-}
-
-.icon-staylinked:before {
- content: "\f3f5";
-}
-
-.icon-steam:before {
- content: "\f1b6";
-}
-
-.icon-steam-square:before {
- content: "\f1b7";
-}
-
-.icon-steam-symbol:before {
- content: "\f3f6";
-}
-
-.icon-step-backward:before {
- content: "\f048";
-}
-
-.icon-step-forward:before {
- content: "\f051";
-}
-
-.icon-stethoscope:before {
- content: "\f0f1";
-}
-
-.icon-sticker-mule:before {
- content: "\f3f7";
-}
-
-.icon-sticky-note:before {
- content: "\f249";
-}
-
-.icon-stop:before {
- content: "\f04d";
-}
-
-.icon-stop-circle:before {
- content: "\f28d";
-}
-
-.icon-stopwatch:before {
- content: "\f2f2";
-}
-
-.icon-stopwatch-20:before {
- content: "\e06f";
-}
-
-.icon-store:before {
- content: "\f54e";
-}
-
-.icon-store-alt:before {
- content: "\f54f";
-}
-
-.icon-store-alt-slash:before {
- content: "\e070";
-}
-
-.icon-store-slash:before {
- content: "\e071";
-}
-
-.icon-strava:before {
- content: "\f428";
-}
-
-.icon-stream:before {
- content: "\f550";
-}
-
-.icon-street-view:before {
- content: "\f21d";
-}
-
-.icon-strikethrough:before {
- content: "\f0cc";
-}
-
-.icon-stripe:before {
- content: "\f429";
-}
-
-.icon-stripe-s:before {
- content: "\f42a";
-}
-
-.icon-stroopwafel:before {
- content: "\f551";
-}
-
-.icon-studiovinari:before {
- content: "\f3f8";
-}
-
-.icon-stumbleupon:before {
- content: "\f1a4";
-}
-
-.icon-stumbleupon-circle:before {
- content: "\f1a3";
-}
-
-.icon-subscript:before {
- content: "\f12c";
-}
-
-.icon-subway:before {
- content: "\f239";
-}
-
-.icon-suitcase:before {
- content: "\f0f2";
-}
-
-.icon-suitcase-rolling:before {
- content: "\f5c1";
-}
-
-.icon-sun:before {
- content: "\f185";
-}
-
-.icon-superpowers:before {
- content: "\f2dd";
-}
-
-.icon-superscript:before {
- content: "\f12b";
-}
-
-.icon-supple:before {
- content: "\f3f9";
-}
-
-.icon-surprise:before {
- content: "\f5c2";
-}
-
-.icon-suse:before {
- content: "\f7d6";
-}
-
-.icon-swatchbook:before {
- content: "\f5c3";
-}
-
-.icon-swift:before {
- content: "\f8e1";
-}
-
-.icon-swimmer:before {
- content: "\f5c4";
-}
-
-.icon-swimming-pool:before {
- content: "\f5c5";
-}
-
-.icon-symfony:before {
- content: "\f83d";
-}
-
-.icon-synagogue:before {
- content: "\f69b";
-}
-
-.icon-sync:before {
- content: "\f021";
-}
-
-.icon-sync-alt:before {
- content: "\f2f1";
-}
-
-.icon-syringe:before {
- content: "\f48e";
-}
-
-.icon-table:before {
- content: "\f0ce";
-}
-
-.icon-table-tennis:before {
- content: "\f45d";
-}
-
-.icon-tablet:before {
- content: "\f10a";
-}
-
-.icon-tablet-alt:before {
- content: "\f3fa";
-}
-
-.icon-tablets:before {
- content: "\f490";
-}
-
-.icon-tachometer-alt:before {
- content: "\f3fd";
-}
-
-.icon-tag:before {
- content: "\f02b";
-}
-
-.icon-tags:before {
- content: "\f02c";
-}
-
-.icon-tape:before {
- content: "\f4db";
-}
-
-.icon-tasks:before {
- content: "\f0ae";
-}
-
-.icon-taxi:before {
- content: "\f1ba";
-}
-
-.icon-teamspeak:before {
- content: "\f4f9";
-}
-
-.icon-teeth:before {
- content: "\f62e";
-}
-
-.icon-teeth-open:before {
- content: "\f62f";
-}
-
-.icon-telegram:before {
- content: "\f2c6";
-}
-
-.icon-telegram-plane:before {
- content: "\f3fe";
-}
-
-.icon-temperature-high:before {
- content: "\f769";
-}
-
-.icon-temperature-low:before {
- content: "\f76b";
-}
-
-.icon-tencent-weibo:before {
- content: "\f1d5";
-}
-
-.icon-tenge:before {
- content: "\f7d7";
-}
-
-.icon-terminal:before {
- content: "\f120";
-}
-
-.icon-text-height:before {
- content: "\f034";
-}
-
-.icon-text-width:before {
- content: "\f035";
-}
-
-.icon-th:before {
- content: "\f00a";
-}
-
-.icon-th-large:before {
- content: "\f009";
-}
-
-.icon-th-list:before {
- content: "\f00b";
-}
-
-.icon-the-red-yeti:before {
- content: "\f69d";
-}
-
-.icon-theater-masks:before {
- content: "\f630";
-}
-
-.icon-themeco:before {
- content: "\f5c6";
-}
-
-.icon-themeisle:before {
- content: "\f2b2";
-}
-
-.icon-thermometer:before {
- content: "\f491";
-}
-
-.icon-thermometer-empty:before {
- content: "\f2cb";
-}
-
-.icon-thermometer-full:before {
- content: "\f2c7";
-}
-
-.icon-thermometer-half:before {
- content: "\f2c9";
-}
-
-.icon-thermometer-quarter:before {
- content: "\f2ca";
-}
-
-.icon-thermometer-three-quarters:before {
- content: "\f2c8";
-}
-
-.icon-think-peaks:before {
- content: "\f731";
-}
-
-.icon-thumbs-down:before {
- content: "\f165";
-}
-
-.icon-thumbs-up:before {
- content: "\f164";
-}
-
-.icon-thumbtack:before {
- content: "\f08d";
-}
-
-.icon-ticket-alt:before {
- content: "\f3ff";
-}
-
-.icon-tiktok:before {
- content: "\e07b";
-}
-
-.icon-times:before {
- content: "\f00d";
-}
-
-.icon-times-circle:before {
- content: "\f057";
-}
-
-.icon-tint:before {
- content: "\f043";
-}
-
-.icon-tint-slash:before {
- content: "\f5c7";
-}
-
-.icon-tired:before {
- content: "\f5c8";
-}
-
-.icon-toggle-off:before {
- content: "\f204";
-}
-
-.icon-toggle-on:before {
- content: "\f205";
-}
-
-.icon-toilet:before {
- content: "\f7d8";
-}
-
-.icon-toilet-paper:before {
- content: "\f71e";
-}
-
-.icon-toilet-paper-slash:before {
- content: "\e072";
-}
-
-.icon-toolbox:before {
- content: "\f552";
-}
-
-.icon-tools:before {
- content: "\f7d9";
-}
-
-.icon-tooth:before {
- content: "\f5c9";
-}
-
-.icon-torah:before {
- content: "\f6a0";
-}
-
-.icon-torii-gate:before {
- content: "\f6a1";
-}
-
-.icon-tractor:before {
- content: "\f722";
-}
-
-.icon-trade-federation:before {
- content: "\f513";
-}
-
-.icon-trademark:before {
- content: "\f25c";
-}
-
-.icon-traffic-light:before {
- content: "\f637";
-}
-
-.icon-trailer:before {
- content: "\e041";
-}
-
-.icon-train:before {
- content: "\f238";
-}
-
-.icon-tram:before {
- content: "\f7da";
-}
-
-.icon-transgender:before {
- content: "\f224";
-}
-
-.icon-transgender-alt:before {
- content: "\f225";
-}
-
-.icon-trash:before {
- content: "\f1f8";
-}
-
-.icon-trash-alt:before {
- content: "\f2ed";
-}
-
-.icon-trash-restore:before {
- content: "\f829";
-}
-
-.icon-trash-restore-alt:before {
- content: "\f82a";
-}
-
-.icon-tree:before {
- content: "\f1bb";
-}
-
-.icon-trello:before {
- content: "\f181";
-}
-
-.icon-trophy:before {
- content: "\f091";
-}
-
-.icon-truck:before {
- content: "\f0d1";
-}
-
-.icon-truck-loading:before {
- content: "\f4de";
-}
-
-.icon-truck-monster:before {
- content: "\f63b";
-}
-
-.icon-truck-moving:before {
- content: "\f4df";
-}
-
-.icon-truck-pickup:before {
- content: "\f63c";
-}
-
-.icon-tshirt:before {
- content: "\f553";
-}
-
-.icon-tty:before {
- content: "\f1e4";
-}
-
-.icon-tumblr:before {
- content: "\f173";
-}
-
-.icon-tumblr-square:before {
- content: "\f174";
-}
-
-.icon-tv:before {
- content: "\f26c";
-}
-
-.icon-twitch:before {
- content: "\f1e8";
-}
-
-.icon-twitter:before {
- content: "\f099";
-}
-
-.icon-twitter-square:before {
- content: "\f081";
-}
-
-.icon-typo3:before {
- content: "\f42b";
-}
-
-.icon-uber:before {
- content: "\f402";
-}
-
-.icon-ubuntu:before {
- content: "\f7df";
-}
-
-.icon-uikit:before {
- content: "\f403";
-}
-
-.icon-umbraco:before {
- content: "\f8e8";
-}
-
-.icon-umbrella:before {
- content: "\f0e9";
-}
-
-.icon-umbrella-beach:before {
- content: "\f5ca";
-}
-
-.icon-uncharted:before {
- content: "\e084";
-}
-
-.icon-underline:before {
- content: "\f0cd";
-}
-
-.icon-undo:before {
- content: "\f0e2";
-}
-
-.icon-undo-alt:before {
- content: "\f2ea";
-}
-
-.icon-uniregistry:before {
- content: "\f404";
-}
-
-.icon-unity:before {
- content: "\e049";
-}
-
-.icon-universal-access:before {
- content: "\f29a";
-}
-
-.icon-university:before {
- content: "\f19c";
-}
-
-.icon-unlink:before {
- content: "\f127";
-}
-
-.icon-unlock:before {
- content: "\f09c";
-}
-
-.icon-unlock-alt:before {
- content: "\f13e";
-}
-
-.icon-unsplash:before {
- content: "\e07c";
-}
-
-.icon-untappd:before {
- content: "\f405";
-}
-
-.icon-upload:before {
- content: "\f093";
-}
-
-.icon-ups:before {
- content: "\f7e0";
-}
-
-.icon-usb:before {
- content: "\f287";
-}
-
-.icon-user:before {
- content: "\f007";
-}
-
-.icon-user-alt:before {
- content: "\f406";
-}
-
-.icon-user-alt-slash:before {
- content: "\f4fa";
-}
-
-.icon-user-astronaut:before {
- content: "\f4fb";
-}
-
-.icon-user-check:before {
- content: "\f4fc";
-}
-
-.icon-user-circle:before {
- content: "\f2bd";
-}
-
-.icon-user-clock:before {
- content: "\f4fd";
-}
-
-.icon-user-cog:before {
- content: "\f4fe";
-}
-
-.icon-user-edit:before {
- content: "\f4ff";
-}
-
-.icon-user-friends:before {
- content: "\f500";
-}
-
-.icon-user-graduate:before {
- content: "\f501";
-}
-
-.icon-user-injured:before {
- content: "\f728";
-}
-
-.icon-user-lock:before {
- content: "\f502";
-}
-
-.icon-user-md:before {
- content: "\f0f0";
-}
-
-.icon-user-minus:before {
- content: "\f503";
-}
-
-.icon-user-ninja:before {
- content: "\f504";
-}
-
-.icon-user-nurse:before {
- content: "\f82f";
-}
-
-.icon-user-plus:before {
- content: "\f234";
-}
-
-.icon-user-secret:before {
- content: "\f21b";
-}
-
-.icon-user-shield:before {
- content: "\f505";
-}
-
-.icon-user-slash:before {
- content: "\f506";
-}
-
-.icon-user-tag:before {
- content: "\f507";
-}
-
-.icon-user-tie:before {
- content: "\f508";
-}
-
-.icon-user-times:before {
- content: "\f235";
-}
-
-.icon-users:before {
- content: "\f0c0";
-}
-
-.icon-users-cog:before {
- content: "\f509";
-}
-
-.icon-users-slash:before {
- content: "\e073";
-}
-
-.icon-usps:before {
- content: "\f7e1";
-}
-
-.icon-ussunnah:before {
- content: "\f407";
-}
-
-.icon-utensil-spoon:before {
- content: "\f2e5";
-}
-
-.icon-utensils:before {
- content: "\f2e7";
-}
-
-.icon-vaadin:before {
- content: "\f408";
-}
-
-.icon-vector-square:before {
- content: "\f5cb";
-}
-
-.icon-venus:before {
- content: "\f221";
-}
-
-.icon-venus-double:before {
- content: "\f226";
-}
-
-.icon-venus-mars:before {
- content: "\f228";
-}
-
-.icon-vest:before {
- content: "\e085";
-}
-
-.icon-vest-patches:before {
- content: "\e086";
-}
-
-.icon-viacoin:before {
- content: "\f237";
-}
-
-.icon-viadeo:before {
- content: "\f2a9";
-}
-
-.icon-viadeo-square:before {
- content: "\f2aa";
-}
-
-.icon-vial:before {
- content: "\f492";
-}
-
-.icon-vials:before {
- content: "\f493";
-}
-
-.icon-viber:before {
- content: "\f409";
-}
-
-.icon-video:before {
- content: "\f03d";
-}
-
-.icon-video-slash:before {
- content: "\f4e2";
-}
-
-.icon-vihara:before {
- content: "\f6a7";
-}
-
-.icon-vimeo:before {
- content: "\f40a";
-}
-
-.icon-vimeo-square:before {
- content: "\f194";
-}
-
-.icon-vimeo-v:before {
- content: "\f27d";
-}
-
-.icon-vine:before {
- content: "\f1ca";
-}
-
-.icon-virus:before {
- content: "\e074";
-}
-
-.icon-virus-slash:before {
- content: "\e075";
-}
-
-.icon-viruses:before {
- content: "\e076";
-}
-
-.icon-vk:before {
- content: "\f189";
-}
-
-.icon-vnv:before {
- content: "\f40b";
-}
-
-.icon-voicemail:before {
- content: "\f897";
-}
-
-.icon-volleyball-ball:before {
- content: "\f45f";
-}
-
-.icon-volume-down:before {
- content: "\f027";
-}
-
-.icon-volume-mute:before {
- content: "\f6a9";
-}
-
-.icon-volume-off:before {
- content: "\f026";
-}
-
-.icon-volume-up:before {
- content: "\f028";
-}
-
-.icon-vote-yea:before {
- content: "\f772";
-}
-
-.icon-vr-cardboard:before {
- content: "\f729";
-}
-
-.icon-vuejs:before {
- content: "\f41f";
-}
-
-.icon-walking:before {
- content: "\f554";
-}
-
-.icon-wallet:before {
- content: "\f555";
-}
-
-.icon-warehouse:before {
- content: "\f494";
-}
-
-.icon-watchman-monitoring:before {
- content: "\e087";
-}
-
-.icon-water:before {
- content: "\f773";
-}
-
-.icon-wave-square:before {
- content: "\f83e";
-}
-
-.icon-waze:before {
- content: "\f83f";
-}
-
-.icon-weebly:before {
- content: "\f5cc";
-}
-
-.icon-weibo:before {
- content: "\f18a";
-}
-
-.icon-weight:before {
- content: "\f496";
-}
-
-.icon-weight-hanging:before {
- content: "\f5cd";
-}
-
-.icon-weixin:before {
- content: "\f1d7";
-}
-
-.icon-whatsapp:before {
- content: "\f232";
-}
-
-.icon-whatsapp-square:before {
- content: "\f40c";
-}
-
-.icon-wheelchair:before {
- content: "\f193";
-}
-
-.icon-whmcs:before {
- content: "\f40d";
-}
-
-.icon-wifi:before {
- content: "\f1eb";
-}
-
-.icon-wikipedia-w:before {
- content: "\f266";
-}
-
-.icon-wind:before {
- content: "\f72e";
-}
-
-.icon-window-close:before {
- content: "\f410";
-}
-
-.icon-window-maximize:before {
- content: "\f2d0";
-}
-
-.icon-window-minimize:before {
- content: "\f2d1";
-}
-
-.icon-window-restore:before {
- content: "\f2d2";
-}
-
-.icon-windows:before {
- content: "\f17a";
-}
-
-.icon-wine-bottle:before {
- content: "\f72f";
-}
-
-.icon-wine-glass:before {
- content: "\f4e3";
-}
-
-.icon-wine-glass-alt:before {
- content: "\f5ce";
-}
-
-.icon-wix:before {
- content: "\f5cf";
-}
-
-.icon-wizards-of-the-coast:before {
- content: "\f730";
-}
-
-.icon-wodu:before {
- content: "\e088";
-}
-
-.icon-wolf-pack-battalion:before {
- content: "\f514";
-}
-
-.icon-won-sign:before {
- content: "\f159";
-}
-
-.icon-wordpress:before {
- content: "\f19a";
-}
-
-.icon-wordpress-simple:before {
- content: "\f411";
-}
-
-.icon-wpbeginner:before {
- content: "\f297";
-}
-
-.icon-wpexplorer:before {
- content: "\f2de";
-}
-
-.icon-wpforms:before {
- content: "\f298";
-}
-
-.icon-wpressr:before {
- content: "\f3e4";
-}
-
-.icon-wrench:before {
- content: "\f0ad";
-}
-
-.icon-x-ray:before {
- content: "\f497";
-}
-
-.icon-xbox:before {
- content: "\f412";
-}
-
-.icon-xing:before {
- content: "\f168";
-}
-
-.icon-xing-square:before {
- content: "\f169";
-}
-
-.icon-y-combinator:before {
- content: "\f23b";
-}
-
-.icon-yahoo:before {
- content: "\f19e";
-}
-
-.icon-yammer:before {
- content: "\f840";
-}
-
-.icon-yandex:before {
- content: "\f413";
-}
-
-.icon-yandex-international:before {
- content: "\f414";
-}
-
-.icon-yarn:before {
- content: "\f7e3";
-}
-
-.icon-yelp:before {
- content: "\f1e9";
-}
-
-.icon-yen-sign:before {
- content: "\f157";
-}
-
-.icon-yin-yang:before {
- content: "\f6ad";
-}
-
-.icon-yoast:before {
- content: "\f2b1";
-}
-
-.icon-youtube:before {
- content: "\f167";
-}
-
-.icon-youtube-square:before {
- content: "\f431";
-}
-
-.icon-zhihu:before {
- content: "\f63f";
-}
-
-.sr-only {
- border: 0;
- clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
- clip: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- position: static;
- width: auto;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: "Font Awesome 5 Free";
- font-style: normal;
- font-weight: 900;
- font-display: block;
- src: url("../fonts/fa-solid-900.eot");
- src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg");
-}
-.fa,
-.fas {
- font-family: "Font Awesome 5 Free";
- font-weight: 900;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: "Font Awesome 5 Free";
- font-style: normal;
- font-weight: 400;
- font-display: block;
- src: url("../fonts/fa-regular-400.eot");
- src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg");
-}
-.far {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-/*!
- * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: "Font Awesome 5 Brands";
- font-style: normal;
- font-weight: 400;
- font-display: block;
- src: url("../fonts/fa-brands-400.eot");
- src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg");
-}
-.fab {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-glass:before {
- content: "\f000";
-}
-
-.icon.icon-meetup {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-star-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-star-o:before {
- content: "\f005";
-}
-
-.icon.icon-remove:before {
- content: "\f00d";
-}
-
-.icon.icon-close:before {
- content: "\f00d";
-}
-
-.icon.icon-gear:before {
- content: "\f013";
-}
-
-.icon.icon-trash-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-trash-o:before {
- content: "\f2ed";
-}
-
-.icon.icon-file-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-o:before {
- content: "\f15b";
-}
-
-.icon.icon-clock-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-clock-o:before {
- content: "\f017";
-}
-
-.icon.icon-arrow-circle-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-arrow-circle-o-down:before {
- content: "\f358";
-}
-
-.icon.icon-arrow-circle-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-arrow-circle-o-up:before {
- content: "\f35b";
-}
-
-.icon.icon-play-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-play-circle-o:before {
- content: "\f144";
-}
-
-.icon.icon-repeat:before {
- content: "\f01e";
-}
-
-.icon.icon-rotate-right:before {
- content: "\f01e";
-}
-
-.icon.icon-refresh:before {
- content: "\f021";
-}
-
-.icon.icon-list-alt {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-dedent:before {
- content: "\f03b";
-}
-
-.icon.icon-video-camera:before {
- content: "\f03d";
-}
-
-.icon.icon-picture-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-picture-o:before {
- content: "\f03e";
-}
-
-.icon.icon-photo {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-photo:before {
- content: "\f03e";
-}
-
-.icon.icon-image {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-image:before {
- content: "\f03e";
-}
-
-.icon.icon-pencil:before {
- content: "\f303";
-}
-
-.icon.icon-map-marker:before {
- content: "\f3c5";
-}
-
-.icon.icon-pencil-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-pencil-square-o:before {
- content: "\f044";
-}
-
-.icon.icon-share-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-share-square-o:before {
- content: "\f14d";
-}
-
-.icon.icon-check-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-check-square-o:before {
- content: "\f14a";
-}
-
-.icon.icon-arrows:before {
- content: "\f0b2";
-}
-
-.icon.icon-times-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-times-circle-o:before {
- content: "\f057";
-}
-
-.icon.icon-check-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-check-circle-o:before {
- content: "\f058";
-}
-
-.icon.icon-mail-forward:before {
- content: "\f064";
-}
-
-.icon.icon-expand:before {
- content: "\f424";
-}
-
-.icon.icon-compress:before {
- content: "\f422";
-}
-
-.icon.icon-eye {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-eye-slash {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-warning:before {
- content: "\f071";
-}
-
-.icon.icon-calendar:before {
- content: "\f073";
-}
-
-.icon.icon-arrows-v:before {
- content: "\f338";
-}
-
-.icon.icon-arrows-h:before {
- content: "\f337";
-}
-
-.icon.icon-bar-chart {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-bar-chart:before {
- content: "\f080";
-}
-
-.icon.icon-bar-chart-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-bar-chart-o:before {
- content: "\f080";
-}
-
-.icon.icon-twitter-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-facebook-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gears:before {
- content: "\f085";
-}
-
-.icon.icon-thumbs-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-thumbs-o-up:before {
- content: "\f164";
-}
-
-.icon.icon-thumbs-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-thumbs-o-down:before {
- content: "\f165";
-}
-
-.icon.icon-heart-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-heart-o:before {
- content: "\f004";
-}
-
-.icon.icon-sign-out:before {
- content: "\f2f5";
-}
-
-.icon.icon-linkedin-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-linkedin-square:before {
- content: "\f08c";
-}
-
-.icon.icon-thumb-tack:before {
- content: "\f08d";
-}
-
-.icon.icon-external-link:before {
- content: "\f35d";
-}
-
-.icon.icon-sign-in:before {
- content: "\f2f6";
-}
-
-.icon.icon-github-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-lemon-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-lemon-o:before {
- content: "\f094";
-}
-
-.icon.icon-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-square-o:before {
- content: "\f0c8";
-}
-
-.icon.icon-bookmark-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-bookmark-o:before {
- content: "\f02e";
-}
-
-.icon.icon-twitter {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-facebook {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-facebook:before {
- content: "\f39e";
-}
-
-.icon.icon-facebook-f {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-facebook-f:before {
- content: "\f39e";
-}
-
-.icon.icon-github {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-credit-card {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-feed:before {
- content: "\f09e";
-}
-
-.icon.icon-hdd-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hdd-o:before {
- content: "\f0a0";
-}
-
-.icon.icon-hand-o-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-o-right:before {
- content: "\f0a4";
-}
-
-.icon.icon-hand-o-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-o-left:before {
- content: "\f0a5";
-}
-
-.icon.icon-hand-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-o-up:before {
- content: "\f0a6";
-}
-
-.icon.icon-hand-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-o-down:before {
- content: "\f0a7";
-}
-
-.icon.icon-arrows-alt:before {
- content: "\f31e";
-}
-
-.icon.icon-group:before {
- content: "\f0c0";
-}
-
-.icon.icon-chain:before {
- content: "\f0c1";
-}
-
-.icon.icon-scissors:before {
- content: "\f0c4";
-}
-
-.icon.icon-files-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-files-o:before {
- content: "\f0c5";
-}
-
-.icon.icon-floppy-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-floppy-o:before {
- content: "\f0c7";
-}
-
-.icon.icon-navicon:before {
- content: "\f0c9";
-}
-
-.icon.icon-reorder:before {
- content: "\f0c9";
-}
-
-.icon.icon-pinterest {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-pinterest-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-plus-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-plus {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-plus:before {
- content: "\f0d5";
-}
-
-.icon.icon-money {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-money:before {
- content: "\f3d1";
-}
-
-.icon.icon-unsorted:before {
- content: "\f0dc";
-}
-
-.icon.icon-sort-desc:before {
- content: "\f0dd";
-}
-
-.icon.icon-sort-asc:before {
- content: "\f0de";
-}
-
-.icon.icon-linkedin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-linkedin:before {
- content: "\f0e1";
-}
-
-.icon.icon-rotate-left:before {
- content: "\f0e2";
-}
-
-.icon.icon-legal:before {
- content: "\f0e3";
-}
-
-.icon.icon-tachometer:before {
- content: "\f3fd";
-}
-
-.icon.icon-dashboard:before {
- content: "\f3fd";
-}
-
-.icon.icon-comment-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-comment-o:before {
- content: "\f075";
-}
-
-.icon.icon-comments-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-comments-o:before {
- content: "\f086";
-}
-
-.icon.icon-flash:before {
- content: "\f0e7";
-}
-
-.icon.icon-clipboard {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-paste {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-paste:before {
- content: "\f328";
-}
-
-.icon.icon-lightbulb-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-lightbulb-o:before {
- content: "\f0eb";
-}
-
-.icon.icon-exchange:before {
- content: "\f362";
-}
-
-.icon.icon-cloud-download:before {
- content: "\f381";
-}
-
-.icon.icon-cloud-upload:before {
- content: "\f382";
-}
-
-.icon.icon-bell-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-bell-o:before {
- content: "\f0f3";
-}
-
-.icon.icon-cutlery:before {
- content: "\f2e7";
-}
-
-.icon.icon-file-text-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-text-o:before {
- content: "\f15c";
-}
-
-.icon.icon-building-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-building-o:before {
- content: "\f1ad";
-}
-
-.icon.icon-hospital-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hospital-o:before {
- content: "\f0f8";
-}
-
-.icon.icon-tablet:before {
- content: "\f3fa";
-}
-
-.icon.icon-mobile:before {
- content: "\f3cd";
-}
-
-.icon.icon-mobile-phone:before {
- content: "\f3cd";
-}
-
-.icon.icon-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-circle-o:before {
- content: "\f111";
-}
-
-.icon.icon-mail-reply:before {
- content: "\f3e5";
-}
-
-.icon.icon-github-alt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-folder-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-folder-o:before {
- content: "\f07b";
-}
-
-.icon.icon-folder-open-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-folder-open-o:before {
- content: "\f07c";
-}
-
-.icon.icon-smile-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-smile-o:before {
- content: "\f118";
-}
-
-.icon.icon-frown-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-frown-o:before {
- content: "\f119";
-}
-
-.icon.icon-meh-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-meh-o:before {
- content: "\f11a";
-}
-
-.icon.icon-keyboard-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-keyboard-o:before {
- content: "\f11c";
-}
-
-.icon.icon-flag-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-flag-o:before {
- content: "\f024";
-}
-
-.icon.icon-mail-reply-all:before {
- content: "\f122";
-}
-
-.icon.icon-star-half-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-star-half-o:before {
- content: "\f089";
-}
-
-.icon.icon-star-half-empty {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-star-half-empty:before {
- content: "\f089";
-}
-
-.icon.icon-star-half-full {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-star-half-full:before {
- content: "\f089";
-}
-
-.icon.icon-code-fork:before {
- content: "\f126";
-}
-
-.icon.icon-chain-broken:before {
- content: "\f127";
-}
-
-.icon.icon-shield:before {
- content: "\f3ed";
-}
-
-.icon.icon-calendar-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-calendar-o:before {
- content: "\f133";
-}
-
-.icon.icon-maxcdn {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-html5 {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-css3 {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ticket:before {
- content: "\f3ff";
-}
-
-.icon.icon-minus-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-minus-square-o:before {
- content: "\f146";
-}
-
-.icon.icon-level-up:before {
- content: "\f3bf";
-}
-
-.icon.icon-level-down:before {
- content: "\f3be";
-}
-
-.icon.icon-pencil-square:before {
- content: "\f14b";
-}
-
-.icon.icon-external-link-square:before {
- content: "\f360";
-}
-
-.icon.icon-compass {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-caret-square-o-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-caret-square-o-down:before {
- content: "\f150";
-}
-
-.icon.icon-toggle-down {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-toggle-down:before {
- content: "\f150";
-}
-
-.icon.icon-caret-square-o-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-caret-square-o-up:before {
- content: "\f151";
-}
-
-.icon.icon-toggle-up {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-toggle-up:before {
- content: "\f151";
-}
-
-.icon.icon-caret-square-o-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-caret-square-o-right:before {
- content: "\f152";
-}
-
-.icon.icon-toggle-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-toggle-right:before {
- content: "\f152";
-}
-
-.icon.icon-eur:before {
- content: "\f153";
-}
-
-.icon.icon-euro:before {
- content: "\f153";
-}
-
-.icon.icon-gbp:before {
- content: "\f154";
-}
-
-.icon.icon-usd:before {
- content: "\f155";
-}
-
-.icon.icon-dollar:before {
- content: "\f155";
-}
-
-.icon.icon-inr:before {
- content: "\f156";
-}
-
-.icon.icon-rupee:before {
- content: "\f156";
-}
-
-.icon.icon-jpy:before {
- content: "\f157";
-}
-
-.icon.icon-cny:before {
- content: "\f157";
-}
-
-.icon.icon-rmb:before {
- content: "\f157";
-}
-
-.icon.icon-yen:before {
- content: "\f157";
-}
-
-.icon.icon-rub:before {
- content: "\f158";
-}
-
-.icon.icon-ruble:before {
- content: "\f158";
-}
-
-.icon.icon-rouble:before {
- content: "\f158";
-}
-
-.icon.icon-krw:before {
- content: "\f159";
-}
-
-.icon.icon-won:before {
- content: "\f159";
-}
-
-.icon.icon-btc {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bitcoin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bitcoin:before {
- content: "\f15a";
-}
-
-.icon.icon-file-text:before {
- content: "\f15c";
-}
-
-.icon.icon-sort-alpha-asc:before {
- content: "\f15d";
-}
-
-.icon.icon-sort-alpha-desc:before {
- content: "\f881";
-}
-
-.icon.icon-sort-amount-asc:before {
- content: "\f160";
-}
-
-.icon.icon-sort-amount-desc:before {
- content: "\f884";
-}
-
-.icon.icon-sort-numeric-asc:before {
- content: "\f162";
-}
-
-.icon.icon-sort-numeric-desc:before {
- content: "\f886";
-}
-
-.icon.icon-youtube-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-youtube {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-xing {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-xing-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-youtube-play {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-youtube-play:before {
- content: "\f167";
-}
-
-.icon.icon-dropbox {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-stack-overflow {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-instagram {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-flickr {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-adn {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bitbucket {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bitbucket-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bitbucket-square:before {
- content: "\f171";
-}
-
-.icon.icon-tumblr {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-tumblr-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-long-arrow-down:before {
- content: "\f309";
-}
-
-.icon.icon-long-arrow-up:before {
- content: "\f30c";
-}
-
-.icon.icon-long-arrow-left:before {
- content: "\f30a";
-}
-
-.icon.icon-long-arrow-right:before {
- content: "\f30b";
-}
-
-.icon.icon-apple {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-windows {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-android {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-linux {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-dribbble {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-skype {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-foursquare {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-trello {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gratipay {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gittip {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gittip:before {
- content: "\f184";
-}
-
-.icon.icon-sun-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-sun-o:before {
- content: "\f185";
-}
-
-.icon.icon-moon-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-moon-o:before {
- content: "\f186";
-}
-
-.icon.icon-vk {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-weibo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-renren {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-pagelines {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-stack-exchange {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-arrow-circle-o-right {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-arrow-circle-o-right:before {
- content: "\f35a";
-}
-
-.icon.icon-arrow-circle-o-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-arrow-circle-o-left:before {
- content: "\f359";
-}
-
-.icon.icon-caret-square-o-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-caret-square-o-left:before {
- content: "\f191";
-}
-
-.icon.icon-toggle-left {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-toggle-left:before {
- content: "\f191";
-}
-
-.icon.icon-dot-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-dot-circle-o:before {
- content: "\f192";
-}
-
-.icon.icon-vimeo-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-try:before {
- content: "\f195";
-}
-
-.icon.icon-turkish-lira:before {
- content: "\f195";
-}
-
-.icon.icon-plus-square-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-plus-square-o:before {
- content: "\f0fe";
-}
-
-.icon.icon-slack {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wordpress {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-openid {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-institution:before {
- content: "\f19c";
-}
-
-.icon.icon-bank:before {
- content: "\f19c";
-}
-
-.icon.icon-mortar-board:before {
- content: "\f19d";
-}
-
-.icon.icon-yahoo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-reddit {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-reddit-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-stumbleupon-circle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-stumbleupon {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-delicious {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-digg {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-pied-piper-pp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-pied-piper-alt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-drupal {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-joomla {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-spoon:before {
- content: "\f2e5";
-}
-
-.icon.icon-behance {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-behance-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-steam {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-steam-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-automobile:before {
- content: "\f1b9";
-}
-
-.icon.icon-envelope-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-envelope-o:before {
- content: "\f0e0";
-}
-
-.icon.icon-spotify {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-deviantart {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-soundcloud {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-file-pdf-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-pdf-o:before {
- content: "\f1c1";
-}
-
-.icon.icon-file-word-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-word-o:before {
- content: "\f1c2";
-}
-
-.icon.icon-file-excel-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-excel-o:before {
- content: "\f1c3";
-}
-
-.icon.icon-file-powerpoint-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-powerpoint-o:before {
- content: "\f1c4";
-}
-
-.icon.icon-file-image-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-image-o:before {
- content: "\f1c5";
-}
-
-.icon.icon-file-photo-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-photo-o:before {
- content: "\f1c5";
-}
-
-.icon.icon-file-picture-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-picture-o:before {
- content: "\f1c5";
-}
-
-.icon.icon-file-archive-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-archive-o:before {
- content: "\f1c6";
-}
-
-.icon.icon-file-zip-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-zip-o:before {
- content: "\f1c6";
-}
-
-.icon.icon-file-audio-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-audio-o:before {
- content: "\f1c7";
-}
-
-.icon.icon-file-sound-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-sound-o:before {
- content: "\f1c7";
-}
-
-.icon.icon-file-video-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-video-o:before {
- content: "\f1c8";
-}
-
-.icon.icon-file-movie-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-movie-o:before {
- content: "\f1c8";
-}
-
-.icon.icon-file-code-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-file-code-o:before {
- content: "\f1c9";
-}
-
-.icon.icon-vine {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-codepen {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-jsfiddle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-life-ring {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-life-bouy {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-life-bouy:before {
- content: "\f1cd";
-}
-
-.icon.icon-life-buoy {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-life-buoy:before {
- content: "\f1cd";
-}
-
-.icon.icon-life-saver {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-life-saver:before {
- content: "\f1cd";
-}
-
-.icon.icon-support {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-support:before {
- content: "\f1cd";
-}
-
-.icon.icon-circle-o-notch:before {
- content: "\f1ce";
-}
-
-.icon.icon-rebel {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ra {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ra:before {
- content: "\f1d0";
-}
-
-.icon.icon-resistance {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-resistance:before {
- content: "\f1d0";
-}
-
-.icon.icon-empire {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ge {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ge:before {
- content: "\f1d1";
-}
-
-.icon.icon-git-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-git {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-hacker-news {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-y-combinator-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-y-combinator-square:before {
- content: "\f1d4";
-}
-
-.icon.icon-yc-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-yc-square:before {
- content: "\f1d4";
-}
-
-.icon.icon-tencent-weibo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-qq {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-weixin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wechat {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wechat:before {
- content: "\f1d7";
-}
-
-.icon.icon-send:before {
- content: "\f1d8";
-}
-
-.icon.icon-paper-plane-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-paper-plane-o:before {
- content: "\f1d8";
-}
-
-.icon.icon-send-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-send-o:before {
- content: "\f1d8";
-}
-
-.icon.icon-circle-thin {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-circle-thin:before {
- content: "\f111";
-}
-
-.icon.icon-header:before {
- content: "\f1dc";
-}
-
-.icon.icon-sliders:before {
- content: "\f1de";
-}
-
-.icon.icon-futbol-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-futbol-o:before {
- content: "\f1e3";
-}
-
-.icon.icon-soccer-ball-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-soccer-ball-o:before {
- content: "\f1e3";
-}
-
-.icon.icon-slideshare {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-twitch {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-yelp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-newspaper-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-newspaper-o:before {
- content: "\f1ea";
-}
-
-.icon.icon-paypal {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-wallet {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-visa {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-mastercard {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-discover {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-amex {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-paypal {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-stripe {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bell-slash-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-bell-slash-o:before {
- content: "\f1f6";
-}
-
-.icon.icon-trash:before {
- content: "\f2ed";
-}
-
-.icon.icon-copyright {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-eyedropper:before {
- content: "\f1fb";
-}
-
-.icon.icon-area-chart:before {
- content: "\f1fe";
-}
-
-.icon.icon-pie-chart:before {
- content: "\f200";
-}
-
-.icon.icon-line-chart:before {
- content: "\f201";
-}
-
-.icon.icon-lastfm {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-lastfm-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ioxhost {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-angellist {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-cc:before {
- content: "\f20a";
-}
-
-.icon.icon-ils:before {
- content: "\f20b";
-}
-
-.icon.icon-shekel:before {
- content: "\f20b";
-}
-
-.icon.icon-sheqel:before {
- content: "\f20b";
-}
-
-.icon.icon-meanpath {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-meanpath:before {
- content: "\f2b4";
-}
-
-.icon.icon-buysellads {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-connectdevelop {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-dashcube {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-forumbee {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-leanpub {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-sellsy {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-shirtsinbulk {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-simplybuilt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-skyatlas {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-diamond {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-diamond:before {
- content: "\f3a5";
-}
-
-.icon.icon-intersex:before {
- content: "\f224";
-}
-
-.icon.icon-facebook-official {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-facebook-official:before {
- content: "\f09a";
-}
-
-.icon.icon-pinterest-p {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-whatsapp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-hotel:before {
- content: "\f236";
-}
-
-.icon.icon-viacoin {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-medium {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-y-combinator {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-yc {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-yc:before {
- content: "\f23b";
-}
-
-.icon.icon-optin-monster {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-opencart {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-expeditedssl {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-battery-4:before {
- content: "\f240";
-}
-
-.icon.icon-battery:before {
- content: "\f240";
-}
-
-.icon.icon-battery-3:before {
- content: "\f241";
-}
-
-.icon.icon-battery-2:before {
- content: "\f242";
-}
-
-.icon.icon-battery-1:before {
- content: "\f243";
-}
-
-.icon.icon-battery-0:before {
- content: "\f244";
-}
-
-.icon.icon-object-group {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-object-ungroup {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-sticky-note-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-sticky-note-o:before {
- content: "\f249";
-}
-
-.icon.icon-cc-jcb {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cc-diners-club {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-clone {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hourglass-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hourglass-o:before {
- content: "\f254";
-}
-
-.icon.icon-hourglass-1:before {
- content: "\f251";
-}
-
-.icon.icon-hourglass-2:before {
- content: "\f252";
-}
-
-.icon.icon-hourglass-3:before {
- content: "\f253";
-}
-
-.icon.icon-hand-rock-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-rock-o:before {
- content: "\f255";
-}
-
-.icon.icon-hand-grab-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-grab-o:before {
- content: "\f255";
-}
-
-.icon.icon-hand-paper-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-paper-o:before {
- content: "\f256";
-}
-
-.icon.icon-hand-stop-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-stop-o:before {
- content: "\f256";
-}
-
-.icon.icon-hand-scissors-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-scissors-o:before {
- content: "\f257";
-}
-
-.icon.icon-hand-lizard-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-lizard-o:before {
- content: "\f258";
-}
-
-.icon.icon-hand-spock-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-spock-o:before {
- content: "\f259";
-}
-
-.icon.icon-hand-pointer-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-pointer-o:before {
- content: "\f25a";
-}
-
-.icon.icon-hand-peace-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-hand-peace-o:before {
- content: "\f25b";
-}
-
-.icon.icon-registered {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-creative-commons {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gg {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gg-circle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-tripadvisor {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-odnoklassniki {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-odnoklassniki-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-get-pocket {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wikipedia-w {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-safari {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-chrome {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-firefox {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-opera {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-internet-explorer {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-television:before {
- content: "\f26c";
-}
-
-.icon.icon-contao {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-500px {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-amazon {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-calendar-plus-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-calendar-plus-o:before {
- content: "\f271";
-}
-
-.icon.icon-calendar-minus-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-calendar-minus-o:before {
- content: "\f272";
-}
-
-.icon.icon-calendar-times-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-calendar-times-o:before {
- content: "\f273";
-}
-
-.icon.icon-calendar-check-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-calendar-check-o:before {
- content: "\f274";
-}
-
-.icon.icon-map-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-map-o:before {
- content: "\f279";
-}
-
-.icon.icon-commenting:before {
- content: "\f4ad";
-}
-
-.icon.icon-commenting-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-commenting-o:before {
- content: "\f4ad";
-}
-
-.icon.icon-houzz {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-vimeo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-vimeo:before {
- content: "\f27d";
-}
-
-.icon.icon-black-tie {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-fonticons {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-reddit-alien {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-edge {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-credit-card-alt:before {
- content: "\f09d";
-}
-
-.icon.icon-codiepie {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-modx {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-fort-awesome {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-usb {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-product-hunt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-mixcloud {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-scribd {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-pause-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-pause-circle-o:before {
- content: "\f28b";
-}
-
-.icon.icon-stop-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-stop-circle-o:before {
- content: "\f28d";
-}
-
-.icon.icon-bluetooth {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-bluetooth-b {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-gitlab {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wpbeginner {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wpforms {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-envira {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wheelchair-alt {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wheelchair-alt:before {
- content: "\f368";
-}
-
-.icon.icon-question-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-question-circle-o:before {
- content: "\f059";
-}
-
-.icon.icon-volume-control-phone:before {
- content: "\f2a0";
-}
-
-.icon.icon-asl-interpreting:before {
- content: "\f2a3";
-}
-
-.icon.icon-deafness:before {
- content: "\f2a4";
-}
-
-.icon.icon-hard-of-hearing:before {
- content: "\f2a4";
-}
-
-.icon.icon-glide {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-glide-g {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-signing:before {
- content: "\f2a7";
-}
-
-.icon.icon-viadeo {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-viadeo-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-snapchat {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-snapchat-ghost {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-snapchat-square {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-pied-piper {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-first-order {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-yoast {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-themeisle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-plus-official {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-plus-official:before {
- content: "\f2b3";
-}
-
-.icon.icon-google-plus-circle {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-google-plus-circle:before {
- content: "\f2b3";
-}
-
-.icon.icon-font-awesome {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-fa {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-fa:before {
- content: "\f2b4";
-}
-
-.icon.icon-handshake-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-handshake-o:before {
- content: "\f2b5";
-}
-
-.icon.icon-envelope-open-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-envelope-open-o:before {
- content: "\f2b6";
-}
-
-.icon.icon-linode {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-address-book-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-address-book-o:before {
- content: "\f2b9";
-}
-
-.icon.icon-vcard:before {
- content: "\f2bb";
-}
-
-.icon.icon-address-card-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-address-card-o:before {
- content: "\f2bb";
-}
-
-.icon.icon-vcard-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-vcard-o:before {
- content: "\f2bb";
-}
-
-.icon.icon-user-circle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-user-circle-o:before {
- content: "\f2bd";
-}
-
-.icon.icon-user-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-user-o:before {
- content: "\f007";
-}
-
-.icon.icon-id-badge {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-drivers-license:before {
- content: "\f2c2";
-}
-
-.icon.icon-id-card-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-id-card-o:before {
- content: "\f2c2";
-}
-
-.icon.icon-drivers-license-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-drivers-license-o:before {
- content: "\f2c2";
-}
-
-.icon.icon-quora {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-free-code-camp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-telegram {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-thermometer-4:before {
- content: "\f2c7";
-}
-
-.icon.icon-thermometer:before {
- content: "\f2c7";
-}
-
-.icon.icon-thermometer-3:before {
- content: "\f2c8";
-}
-
-.icon.icon-thermometer-2:before {
- content: "\f2c9";
-}
-
-.icon.icon-thermometer-1:before {
- content: "\f2ca";
-}
-
-.icon.icon-thermometer-0:before {
- content: "\f2cb";
-}
-
-.icon.icon-bathtub:before {
- content: "\f2cd";
-}
-
-.icon.icon-s15:before {
- content: "\f2cd";
-}
-
-.icon.icon-window-maximize {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-window-restore {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-times-rectangle:before {
- content: "\f410";
-}
-
-.icon.icon-window-close-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-window-close-o:before {
- content: "\f410";
-}
-
-.icon.icon-times-rectangle-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-times-rectangle-o:before {
- content: "\f410";
-}
-
-.icon.icon-bandcamp {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-grav {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-etsy {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-imdb {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-ravelry {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-eercast {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-eercast:before {
- content: "\f2da";
-}
-
-.icon.icon-snowflake-o {
- font-family: "Font Awesome 5 Free";
- font-weight: 400;
-}
-
-.icon.icon-snowflake-o:before {
- content: "\f2dc";
-}
-
-.icon.icon-superpowers {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-wpexplorer {
- font-family: "Font Awesome 5 Brands";
- font-weight: 400;
-}
-
-.icon.icon-cab:before {
- content: "\f1ba";
-}
-
-#modx-navbar #modx-topnav {
- margin-left: auto;
- margin-right: auto;
- max-width: 1200px;
-}
-#modx-navbar #modx-topnav::after {
- clear: both;
- content: "";
- display: block;
-}
-
-.home-panel ol li:hover button:before, .modx-header-breadcrumbs ul li:after, .modx-status-msg:after, .icon, .ext-mb-icon:before, .modx-browser-detail-thumb.preview:before, .modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before, #modx-leftbar-header a:after, .locked-resource:before, .x-tree-node-expanded .parent-resource:before,
-.x-tree-node-expanded .icon-folder:before, .parent-resource:before,
-.icon-folder:before, .tree-symlink:before, .tree-weblink:before, .tree-static-resource:before, .tree-resource:before, .tree-context:before, .icon-lock, .icon-css:before,
-.icon-scss:before,
-.icon-less:before,
-.icon-styl:before, .icon-js:before,
-.icon-json:before,
-.icon-coffeescript:before, .icon-html:before,
-.icon-htm:before,
-.icon-xml:before, .icon-pdf:before, .icon-ppt:before,
-.icon-pptx:before, .icon-csv:before,
-.icon-xls:before,
-.icon-xlsx:before, .icon-doc:before,
-.icon-docx:before, .icon-php:before,
-.icon-cfm:before,
-.icon-rb:before,
-.icon-as:before,
-.icon-java:before,
-.icon-jar:before, .icon-access:before,
-.icon-htaccess:before, .icon-avi:before,
-.icon-mpg:before,
-.icon-mpeg:before,
-.icon-mov:before,
-.icon-mp4:before,
-.icon-m4v:before,
-.icon-3gp:before,
-.icon-flv:before,
-.icon-fla:before,
-.icon-swf:before,
-.icon-wmv:before, .icon-aac:before,
-.icon-mp3:before,
-.icon-ogg:before,
-.icon-wma:before,
-.icon-m4a:before,
-.icon-flac:before,
-.icon-wav:before,
-.icon-aif:before,
-.icon-aiff:before, .icon-txt:before,
-.icon-log:before, .icon-bat:before,
-.icon-scr:before,
-.icon-sh:before, .icon-jpg:before,
-.icon-jpeg:before,
-.icon-gif:before,
-.icon-png:before,
-.icon-bmp:before,
-.icon-tiff:before,
-.icon-svg:before, .icon-bk:before,
-.icon-bak:before,
-.icon-backup:before, .icon-zip:before,
-.icon-tar:before,
-.icon-tgz:before,
-.icon-gz:before,
-.icon-bz2:before,
-.icon-rar:before,
-.icon-7z:before,
-.icon-dmg:before,
-.icon-iso:before, .icon-db:before,
-.icon-sql:before, .icon-cal:before,
-.icon-ical:before,
-.icon-ics:before,
-.icon-vcs:before, .icon-rss:before, .x-tree-arrows .x-tree-elbow-plus:before,
-.x-tree-arrows .x-tree-elbow-minus:before,
-.x-tree-arrows .x-tree-elbow-end-plus:before,
-.x-tree-arrows .x-tree-elbow-end-minus:before, .modx-manager-search-results .loading-indicator:before, #modx-footer .modx-subnav li.sub:after, .x-tab-scroller-left:before,
-.x-tab-scroller-right:before, .x-date-right a:before,
-.x-date-left a:before,
-.x-date-mp-ybtn a.x-date-mp-prev:before,
-.x-date-mp-ybtn a.x-date-mp-next:before, .x-form-invalid-msg:before, .x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before, .x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before, .x-form-check-wrap .x-form-cb-label:before,
-.x-form-check-wrap .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before, .x-form-field-wrap .x-form-trigger:before, .desc-under .copy-this:hover::after, .desc-under .example-list ul li::before, .x-form-item label.x-form-item-label .modx-tv-reset::before,
-.x-form-item label.x-form-item-label .modx-field-utils::before, .tree-new-category > em > button:before, .tree-new-plugin > em > button:before, .tree-new-snippet > em > button:before, .tree-new-chunk > em > button:before, .tree-new-tv > em > button:before, .tree-new-template > em > button:before, .tree-trash > em > button:before, .tree-new-static-resource > em > button:before, .tree-new-symlink > em > button:before, .tree-new-weblink > em > button:before, .tree-new-resource > em > button:before, .x-btn-icon.icon-file_manager button:before, .x-btn-icon.icon-file_upload button:before, .x-btn-icon.icon-page_white button:before, .x-btn-icon.icon-folder button:before, .actions button .x-btn-split:before,
-.inline-button .x-btn-split:before,
-.x-superboxselect-item .x-btn-split:before,
-.x-form-trigger .x-btn-split:before,
-.x-date-mp-ok .x-btn-split:before,
-.x-date-mp-cancel .x-btn-split:before, .x-btn .x-btn-split:before,
-.actions button .x-btn-arrow:before,
-.inline-button .x-btn-arrow:before,
-.x-superboxselect-item .x-btn-arrow:before,
-.x-form-trigger .x-btn-arrow:before,
-.x-date-mp-ok .x-btn-arrow:before,
-.x-date-mp-cancel .x-btn-arrow:before,
-.x-btn .x-btn-arrow:before, .x-tool:after, .x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before, .x-grid-group-hd div.x-grid-group-title:before, .x-grid3-check-col-on:before, .x-grid3-check-col:before, .x-grid3-row-checker:before,
-.x-grid3-hd-checker:not(.x-grid3-hd-inner):before, .x-grid3-row-expanded .x-grid3-row-expander:before, .x-grid3-row-collapsed .x-grid3-row-expander:before, .x-grid3-hd-btn:before, .x-tbar-page-first:before, .x-tbar-loading:before, .x-tbar-page-prev:before, .x-tbar-page-next:before, .x-tbar-page-last:before, .crumb_wrapper .crumbs li.first:before, .x-btn-icon.refresh button:before, .x-btn-icon.arrow_down button:before, .x-btn-icon.arrow_up button:before {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: inline-block;
- font-style: normal;
- font-variant: normal;
- text-rendering: auto;
- font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
- font-weight: 900;
-}
-
-.x-tbar-page-first:before, .x-tbar-loading:before, .x-tbar-page-prev:before, .x-tbar-page-next:before, .x-tbar-page-last:before, .crumb_wrapper .crumbs li.first:before, .x-btn-icon.refresh button:before, .x-btn-icon.arrow_down button:before, .x-btn-icon.arrow_up button:before {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- line-height: 100%;
- width: 100%;
- height: 100%;
- font-size: 14px;
- color: inherit;
- text-align: center;
-}
-
-#modx-tv-tabs .lt-ie8 {
- *zoom: 1;
-}
-#modx-tv-tabs:before, #modx-tv-tabs:after {
- content: " ";
- /* 1 */
- display: table;
- /* 2 */
-}
-#modx-tv-tabs:after {
- clear: both;
-}
-
-@-moz-document url-prefix() {}
-/* Instead of writing the same code for every nav bar */
-.x-splitbar-proxy {
- background-color: #aaa;
-}
-
-.x-color-palette a {
- border-color: #FFF;
-}
-
-.x-color-palette a:hover,
-.x-color-palette a.x-color-palette-sel {
- background-color: #ebebeb;
- border-color: #b4b4b4;
-}
-
-.x-color-palette em {
- border-color: #aca899;
-}
-
-.loading-indicator {
- background-image: url("../images/modx-theme/grid/loading.gif");
- font-size: 11px;
-}
-
-.x-spotlight {
- background-color: #CCCCCC;
-}
-
-.ext-ie7 .x-plain-body {
- position: relative;
-}
-
-.x-statusbar .x-status-busy {
- background-image: url("../images/modx-theme/grid/loading.gif");
-}
-
-.x-statusbar .x-status-text-panel {
- border-color: #DFDFDF #FFF #FFF #DFDFDF;
-}
-
-.x-resizable-handle-southeast {
- bottom: 1px;
- right: 1px;
-}
-
-.x-resizable-over .x-resizable-handle-east,
-.x-resizable-pinned .x-resizable-handle-east,
-.x-resizable-over .x-resizable-handle-west,
-.x-resizable-pinned .x-resizable-handle-west {
- background-image: url("../images/modx-theme/sizer/e-handle.gif");
-}
-
-.x-resizable-over .x-resizable-handle-south,
-.x-resizable-pinned .x-resizable-handle-south,
-.x-resizable-over .x-resizable-handle-north,
-.x-resizable-pinned .x-resizable-handle-north {
- background-image: url("../images/modx-theme/sizer/s-handle.gif");
-}
-
-.x-resizable-over .x-resizable-handle-north,
-.x-resizable-pinned .x-resizable-handle-north {
- background-image: url("../images/modx-theme/sizer/s-handle.gif");
-}
-
-.x-resizable-over .x-resizable-handle-southeast,
-.x-resizable-pinned .x-resizable-handle-southeast {
- background-image: url("../images/modx-theme/sizer/se-handle.gif");
-}
-
-.x-resizable-over .x-resizable-handle-northwest,
-.x-resizable-pinned .x-resizable-handle-northwest {
- background-image: url("../images/modx-theme/sizer/nw-handle.gif");
-}
-
-.x-resizable-over .x-resizable-handle-northeast,
-.x-resizable-pinned .x-resizable-handle-northeast {
- background-image: url("../images/modx-theme/sizer/ne-handle.gif");
-}
-
-.x-resizable-over .x-resizable-handle-southwest,
-.x-resizable-pinned .x-resizable-handle-southwest {
- background-image: url("../images/modx-theme/sizer/sw-handle.gif");
-}
-
-.x-resizable-proxy {
- border-color: #575757;
-}
-
-.x-resizable-overlay {
- background-color: #FFF;
-}
-
-.x-grid3 {
- background-color: transparent;
- background-image: none;
- border: 1px solid #E4E9EE;
- border-radius: 3px;
- overflow: hidden;
- padding: 0;
-}
-
-.x-grid-panel .x-panel-mc .x-panel-body {
- border: 0 none;
-}
-
-.x-grid3-hd-row td,
-.x-grid3-row td,
-.x-grid3-summary-row td {
- font: normal 12px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-grid3-row td,
-.x-grid3-summary-row td {
- border-left: 1px solid transparent;
- padding-left: 0;
-}
-
-.x-grid3-hd-row td {
- text-align: initial;
- border-left: 1px solid #FFF;
- border-right: none;
-}
-
-.x-grid3-hd-row td.x-grid3-cell-first,
-.x-grid3-row td.x-grid3-cell-first,
-.x-grid3-row td.x-grid3-summary-first {
- border-left: 0 none;
-}
-
-.x-grid3-hd-row td.x-grid3-cell-last,
-.x-grid3-row td.x-grid3-cell-last,
-.x-grid3-row td.x-grid3-summary-last {
- border-right: 0 none;
-}
-
-.x-grid-row-loading {
- background-color: #FFF;
- background-image: url("../images/modx-theme/shared/loading-balls.gif");
-}
-
-.x-grid3-row {
- border-color: #FFF #FFF #EFEFEF;
-}
-
-.x-grid3-row-expanded .x-grid3-row-body {
- color: #888888;
- margin: 0 2px 0 -20px;
- padding: 0 25px 15px;
- word-wrap: break-word;
-}
-
-.x-grid3-row-expanded .x-grid3-row-body .desc {
- word-wrap: break-word;
-}
-
-.x-grid3-row-alt {
- background-color: #F5F6F9;
-}
-
-.x-panel-body-noheader .x-grid3-row {
- border-color: transparent;
-}
-
-.x-panel-body-noheader .x-grid3-row-alt {
- border-bottom: 1px solid #EAEAEA;
- border-top: 1px solid #EAEAEA;
-}
-
-.x-panel-body-noheader .x-grid3-row-alt .x-grid3-row-table {
- border-top: 1px solid transparent;
-}
-
-.x-grid3-row-over {
- background-color: #E0E8EF;
- background-image: none;
- border-bottom: 1px solid #D1D9DF;
-}
-
-.x-grid3-resize-proxy {
- background-color: #777;
-}
-
-.x-grid3-resize-marker {
- background-color: #777;
-}
-
-.x-grid3-header {
- background: #FFF;
- border-bottom: 1px solid #E4E9EE !important;
- padding: 0;
-}
-
-.x-panel-body-noheader .x-grid3-header {
- border: none;
-}
-
-.x-grid3-header-offset {
- padding-left: 0;
-}
-
-.x-grid3-header .x-grid3-hd-row td {
- color: dimgray;
- font-weight: bold;
- text-align: initial;
-}
-
-.x-grid3-header-pop {
- border-left-color: #DFDFDF;
-}
-
-.x-grid3-header-pop-inner {
- background-image: url("../images/modx-theme/grid/hd-pop.gif");
- border-left-color: #EEEEEE;
-}
-
-td.x-grid3-hd-over,
-td.sort-desc,
-td.sort-asc,
-td.x-grid3-hd-menu-open {
- border-left-color: #FFF;
- background: #FFF;
-}
-
-td.x-grid3-hd-over .x-grid3-hd-inner,
-td.sort-desc .x-grid3-hd-inner,
-td.sort-asc .x-grid3-hd-inner,
-td.x-grid3-hd-menu-open .x-grid3-hd-inner {
- color: #696969;
-}
-
-.sort-asc .x-grid3-sort-icon {
- background-image: url("../images/modx-theme/grid/sort_asc.gif");
-}
-
-.sort-desc .x-grid3-sort-icon {
- background-image: url("../images/modx-theme/grid/sort_desc.gif");
-}
-
-.x-panel-body-noheader .x-grid3-body {
- background-color: #FFF;
-}
-
-.x-grid3-cell-text,
-.x-grid3-hd-text {
- color: #515151;
-}
-
-.x-grid3-split {
- background-image: url("../images/modx-theme/grid/grid-split.gif");
-}
-
-.x-grid3-hd-text {
- color: #464646;
-}
-
-.x-dd-drag-proxy .x-grid3-hd-inner {
- background-color: #f2f2f2;
- background-image: url("../images/modx-theme/grid/grid3-hrow-over.gif");
- border-color: #c8c8c8;
-}
-
-.col-move-top {
- background-image: url("../images/modx-theme/grid/col-move-top.gif");
-}
-
-.col-move-bottom {
- background-image: url("../images/modx-theme/grid/col-move-bottom.gif");
-}
-
-.x-grid3-row-selected {
- background-color: #F0F0F0;
- background-image: none;
- border-bottom: 1px solid #E4E4E4 !important;
- border-top: 1px solid #E4E4E4 !important;
- color: #565550;
-}
-
-.x-grid3-row-last,
-.x-grid3-row-last .x-grid3-row-selected {
- border-bottom-color: transparent !important;
-}
-
-.x-grid3-cell-selected {
- background-color: #E0EAEF !important;
- color: #515151;
-}
-
-.x-grid3-cell-selected span {
- color: #515151 !important;
-}
-
-.x-grid3-cell-selected .x-grid3-cell-text {
- color: #515151;
-}
-
-.x-grid3-locked td.x-grid3-row-marker,
-.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker {
- background-color: #d7d9df !important;
- background-image: url("../images/modx-theme/grid/grid-hrow.gif") !important;
- border-right-color: #9c9c9c !important;
- border-top-color: #FFF;
- color: #515151;
-}
-
-.x-grid3-locked td.x-grid3-row-marker div,
-.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div {
- color: #464646 !important;
-}
-
-.x-grid3-dirty-cell {
- background-image: url("../images/modx-theme/grid/dirty.gif");
-}
-
-.x-grid3-topbar,
-.x-grid3-bottombar {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-grid3-bottombar .x-toolbar {
- border-top-color: #bcbcbc;
-}
-
-.x-props-grid .x-grid3-td-name .x-grid3-cell-inner {
- background-image: url("../images/modx-theme/grid/grid3-special-col-bg.gif") !important;
- color: #515151 !important;
-}
-
-.x-grid3-hd-inner {
- font-weight: bold;
- padding: 10px;
-}
-
-.ext-ie .x-grid3-hd-inner {
- width: auto;
-}
-
-.x-grid3-cell-inner,
-.x-grid3-hd-inner {
- padding: 10px;
-}
-
-.x-props-grid .x-grid3-body .x-grid3-td-name {
- background-color: #FFF !important;
- border-right-color: #EEEEEE;
-}
-
-.xg-hmenu-sort-asc .x-menu-item-icon {
- background-image: url("../images/modx-theme/grid/hmenu-asc.gif");
-}
-
-.xg-hmenu-sort-desc .x-menu-item-icon {
- background-image: url("../images/modx-theme/grid/hmenu-desc.gif");
-}
-
-.xg-hmenu-lock .x-menu-item-icon {
- background-image: url("../images/modx-theme/grid/hmenu-lock.gif");
-}
-
-.xg-hmenu-unlock .x-menu-item-icon {
- background-image: url("../images/modx-theme/grid/hmenu-unlock.gif");
-}
-
-.x-grid3-hd-btn {
- background-color: #FFF;
-}
-
-.x-grid3-hd-btn:before {
- content: "\f0d7";
- font-weight: 900;
- font-style: normal;
- color: #77899F;
- font-size: 14px;
- text-align: center;
- position: absolute;
- top: 14px;
- left: 0;
- right: 0;
-}
-
-.x-grid3-hd-btn:hover {
- background-color: #FFF;
-}
-
-.x-grid3-body .x-grid3-td-expander {
- background-image: none;
- text-align: right;
-}
-
-.x-grid3-row-collapsed .x-grid3-row-expander {
- height: 27px;
- margin-top: 10px;
-}
-
-.x-grid3-row-collapsed .x-grid3-row-expander:before {
- content: "\f0fe";
- font-weight: 400;
- font-size: 14px;
- color: #53595F;
-}
-
-.x-grid3-row-expanded .x-grid3-row-expander {
- height: 27px;
- margin-top: 10px;
-}
-
-.x-grid3-row-expanded .x-grid3-row-expander:before {
- content: "\f146";
- font-weight: 400;
- font-size: 14px;
- color: #53595F;
-}
-
-.x-grid3-body .x-grid3-td-checker {
- background-image: none;
- padding: 10px 0 0;
-}
-
-.x-grid3-row-checker,
-.x-grid3-hd-checker:not(.x-grid3-hd-inner) {
- cursor: pointer;
-}
-.x-grid3-row-checker:before,
-.x-grid3-hd-checker:not(.x-grid3-hd-inner):before {
- content: "\f0c8";
- font-weight: 400;
- font-size: 14px;
- display: inline-block;
- padding: 3px 5px;
- color: #53595F;
-}
-.x-grid3-row-selected .x-grid3-row-checker:before, .x-grid3-hd-checker-on .x-grid3-row-checker:before,
-.x-grid3-row-selected .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,
-.x-grid3-hd-checker-on .x-grid3-hd-checker:not(.x-grid3-hd-inner):before {
- content: "\f14a";
- font-weight: 400;
-}
-
-.x-grid3-body .x-grid3-td-numberer {
- background-color: #E5E5E5;
- border-bottom: 1px solid #DADADA;
- border-right: 1px solid #DADADA !important;
-}
-
-.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
- color: #444444;
- padding-left: 10px;
- padding-top: 10px !important;
-}
-
-.x-grid3-body .x-grid3-td-row-icon {
- background-image: url("../images/modx-theme/grid/grid3-special-col-bg.gif");
-}
-
-.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
-.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
-.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
- background-image: none;
-}
-
-.x-grid3-check-col {
- cursor: pointer;
- margin-top: 10px;
-}
-.x-grid3-check-col:before {
- content: "\f0c8";
- font-weight: 400;
- font-size: 14px;
- display: block;
- padding: 3px 5px;
- color: #53595F;
- text-align: left;
- width: 14px;
- margin: 0 auto;
-}
-
-.x-grid3-check-col-on {
- cursor: pointer;
- margin-top: 10px;
-}
-.x-grid3-check-col-on:before {
- content: "\f14a";
- font-weight: 400;
- font-size: 14px;
- display: block;
- padding: 3px 5px;
- color: #53595F;
- text-align: left;
- width: 14px;
- margin: 0 auto;
-}
-
-.x-grid-group,
-.x-grid-group-body,
-.x-grid-group-hd {
- zoom: 1;
-}
-
-.x-grid-group-hd {
- border-bottom-color: #53595F;
-}
-
-.x-grid-group-hd div.x-grid-group-title {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- color: #53595F;
- font-size: 12px;
- font-weight: bold;
- padding: 10px 0;
-}
-
-.x-grid-group-hd div.x-grid-group-title:before {
- content: "\f146";
- font-weight: 400;
- font-size: 14px;
- font-style: normal;
- padding: 0 5px;
-}
-
-.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before {
- content: "\f0fe";
- font-weight: 400;
- font-style: normal;
- padding: 0 5px;
-}
-
-.x-group-by-icon {
- background-image: url("../images/modx-theme/grid/group-by.gif");
-}
-
-.x-cols-icon {
- background-image: url("../images/modx-theme/grid/columns.gif");
-}
-
-.x-show-groups-icon {
- background-image: url("../images/modx-theme/grid/group-by.gif");
-}
-
-.x-grid-empty {
- color: #515151;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- text-align: center;
-}
-
-.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
- border-right-color: #ededed;
-}
-
-.x-grid-with-col-lines .x-grid3-row {
- border-left: 0 none;
- border-top: 0 none;
-}
-
-.x-grid-with-col-lines .x-grid3-row-selected {
- border-top-color: #E4E4E4;
-}
-
-.x-dd-drag-ghost {
- background-color: #FFF;
- border-color: #ddd #bbb #bbb #DFDFDF;
- color: #515151;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-dd-drop-nodrop .x-dd-drop-icon {
- background-image: url("../images/modx-theme/dd/drop-no.gif");
-}
-
-.x-dd-drop-ok .x-dd-drop-icon {
- background-image: url("../images/modx-theme/dd/drop-yes.gif");
-}
-
-.x-dd-drop-ok-add .x-dd-drop-icon {
- background-image: url("../images/modx-theme/dd/drop-add.gif");
-}
-
-.x-view-selector {
- background-color: #d8d8d8;
- border-color: #8d8d8d;
-}
-
-.x-tip {
- background: #575757;
- border-radius: 3px;
- padding: 5px;
- width: auto !important;
- /* override ExtJS inline width */
- max-width: 400px;
- min-width: 200px;
-}
-
-.x-tip .x-tip-close {
- background-image: url("../images/modx-theme/qtip/close.gif");
-}
-
-.x-tip .x-tip-tc,
-.x-tip .x-tip-tl,
-.x-tip .x-tip-tr,
-.x-tip .x-tip-bc,
-.x-tip .x-tip-bl,
-.x-tip .x-tip-br,
-.x-tip .x-tip-ml,
-.x-tip .x-tip-mr {
- background-image: none;
-}
-
-.x-tip .x-tip-mc {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-tip .x-tip-ml {
- background-color: transparent;
-}
-
-.x-tip .x-tip-header-text {
- color: #F0F0F0;
- font: normal 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-tip .x-tip-body {
- color: #f0f0f0;
- font: normal 12px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- width: auto !important;
- /* override ExtJS inline width */
-}
-
-.x-tip img {
- display: block;
- width: 100%;
- max-width: 100%;
- height: auto;
- background-color: #CCCCCC;
- background-image: url("../images/modx-theme/transparency-pattern.png");
-}
-
-.x-form-invalid-tip .x-tip-tc,
-.x-form-invalid-tip .x-tip-tl,
-.x-form-invalid-tip .x-tip-tr,
-.x-form-invalid-tip .x-tip-bc,
-.x-form-invalid-tip .x-tip-bl,
-.x-form-invalid-tip .x-tip-br,
-.x-form-invalid-tip .x-tip-ml,
-.x-form-invalid-tip .x-tip-mr {
- background-image: url("../images/modx-theme/form/error-tip-corners.gif");
-}
-
-.x-form-invalid-tip .x-tip-body {
- background-image: url("../images/modx-theme/form/exclamation.gif");
-}
-
-.x-tip-anchor {
- background-image: url("../images/modx-theme/qtip/tip-anchor-sprite.gif");
-}
-
-.x-menu {
- background-color: #FFF;
- border: 1px solid #E4E4E4;
- border-radius: 3px;
- /* TODO: replace with $borderRadius when merged */
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
- /* TODO: replace with $boxShadow when merged */
-}
-
-.x-menu-list {
- padding: 0;
-}
-.x-menu-list li {
- border: 0;
- margin: 0;
- padding: 0;
- /* override top and bottom margin for the calendar / datepicker */
-}
-.x-menu-list li:first-child {
- margin-top: 3px;
-}
-.x-menu-list li:last-child {
- margin-bottom: 3px;
-}
-.x-menu-list li.x-menu-date-item {
- margin: 0;
-}
-.x-menu-list li a.x-menu-item {
- color: #515151;
- font-size: 13px;
- padding: 3px 21px 3px 27px;
-}
-.x-menu-list li a.x-menu-item:hover {
- color: #515151;
-}
-.x-menu-list li.x-menu-item-active {
- background-color: #F0F0F0;
-}
-.x-menu-list li.x-menu-item-active a {
- color: #515151;
-}
-
-.x-menu-floating {
- border-color: #C7C7C7;
-}
-html[dir=rtl] .x-menu-floating {
- left: unset !important;
- right: 0;
-}
-
-.x-menu-nosep {
- background-image: none;
-}
-
-.x-menu-list-item {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-menu-item-arrow {
- background-image: url("../images/modx-theme/menu/menu-parent.gif");
-}
-
-.x-menu-sep {
- background-color: #E4E4E4;
- border-bottom: none;
- margin: 2px 0;
-}
-
-.x-menu-item-active a.x-menu-item {
- border: 0 none;
- margin: 0;
-}
-
-.x-menu-check-item .x-menu-item-icon {
- background-image: url("../images/modx-theme/menu/unchecked.gif");
-}
-
-.x-menu-item-checked .x-menu-item-icon {
- background-image: url("../images/modx-theme/menu/checked.gif");
-}
-
-.x-menu-item-checked .x-menu-group-item .x-menu-item-icon {
- background-image: url("../images/modx-theme/menu/group-checked.gif");
-}
-
-.x-menu-group-item .x-menu-item-icon {
- background-image: none;
-}
-
-.x-menu-plain {
- background-color: #FFF !important;
-}
-
-.x-cycle-menu .x-menu-item-checked {
- background-color: #DFDFDF;
- border-color: #b9b9b9 !important;
-}
-
-.x-menu-scroller-top {
- background-image: url("../images/modx-theme/layout/mini-top.gif");
-}
-
-.x-menu-scroller-bottom {
- background-image: url("../images/modx-theme/layout/mini-bottom.gif");
-}
-
-.x-box-tl,
-.x-box-ml {
- background-color: #FAFAFA;
- background-image: none;
- color: #393939;
- font: normal 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
-}
-
-.x-box-mc p {
- font-weight: normal;
- margin-bottom: 5px;
-}
-
-.x-box-tl {
- background-color: rgba(250, 250, 250, 0.8);
- border-left: 1px solid #DEDEDE;
- border-right: 1px solid #DEDEDE;
- border-top: 1px solid #DEDEDE;
-}
-
-.x-box-ml {
- background-color: rgba(250, 250, 250, 0.8);
- border-left: 1px solid #DEDEDE;
- border-right: 1px solid #DEDEDE;
-}
-
-.x-box-bl {
- background-color: rgba(230, 230, 230, 0.8);
- border-bottom: 1px solid #DEDEDE;
- border-left: 1px solid #DEDEDE;
- border-right: 1px solid #DEDEDE;
-}
-
-.x-box-mc h3 {
- font-size: 14px;
- font-weight: bold;
-}
-
-.x-box-mr,
-.x-box-bl,
-.x-box-bc,
-.x-box-br,
-.x-box-blue .x-box-bl,
-.x-box-blue .x-box-br,
-.x-box-blue .x-box-tl,
-.x-box-blue .x-box-tr {
- background-image: none;
-}
-
-.x-box-blue .x-box-bc,
-.x-box-blue .x-box-mc,
-.x-box-blue .x-box-tc {
- background-image: url("../images/modx-theme/box/tb-gray.gif");
-}
-
-.x-box-blue .x-box-mc {
- background-color: #d8d8d8;
-}
-
-.x-box-blue .x-box-mc h3 {
- color: #363636;
-}
-
-.x-box-blue .x-box-ml {
- background-image: url("../images/modx-theme/box/l-gray.gif");
-}
-
-.x-box-blue .x-box-mr {
- background-image: url("../images/modx-theme/box/r-gray.gif");
-}
-
-#x-debug-browser .x-tree .x-tree-node a span {
- color: #333333;
- font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
- font-size: 11px;
-}
-
-#x-debug-browser .x-tree a i {
- color: #CF1124;
- font-style: normal;
-}
-
-#x-debug-browser .x-tree a em {
- color: #999;
-}
-
-#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span {
- background-color: #d8d8d8;
-}
-
-.x-panel-bwrap {
- overflow: visible;
-}
-
-.x-panel-body {
- border: 0;
- border-radius: 3px;
- overflow: visible;
-}
-#modx-panel-packages-browser .x-panel-body {
- border-radius: 0;
- /* prevent rounded borders on the two panels most popular / newest additions */
-}
-
-.x-grid-panel .x-panel-body {
- background-color: #F5F5F5;
- border-bottom: 1px solid #E4E4E4;
- border-top: 1px solid #FAFAFA;
- border: 0 none;
-}
-
-.x-grid-panel .x-panel-body-noheader {
- background-color: transparent;
- border: 0 none;
- padding: 0 !important;
-}
-
-.x-panel-tl .x-panel-header {
- color: #6A6A6A;
- font: normal 12px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
-}
-
-.x-panel-tl .x-panel-icon {
- background-position: 0 8px;
-}
-
-.x-panel-tc {
- background-image: none;
-}
-
-.x-panel-tl,
-.x-panel-tr,
-.x-panel-bl,
-.x-panel-br {
- background-image: none;
- border-bottom-color: #DFDFDF;
-}
-
-.x-panel-bc {
- background-image: none;
-}
-
-.x-panel-tc {
- background-color: #F5F5F5;
-}
-
-.x-panel-tl {
- border-color: #E3E3E3 #E3E3E3;
- border-style: solid solid none;
- border-width: 1px 1px 0;
-}
-
-.x-panel-tl .x-panel-header {
- border-bottom: 1px solid #E4E4E4;
- padding: 10px 0;
-}
-
-.x-panel-bc .x-panel-footer {
- padding-bottom: 0;
-}
-
-.x-panel-btns {
- background-color: transparent;
- padding: 15px 0 1px 0;
- /* override extjs default theme rule, padding bottom 1px to not cut off buttons box-shadow */
-}
-.x-panel-btns td.x-toolbar-cell {
- padding: 0;
- /* override extjs default theme rule */
-}
-
-.x-panel-mc {
- background-color: #F5F5F5;
- border-bottom: 1px solid #DFDFDF;
- border-top: 1px solid #FAFAFA;
- padding: 10px 5px;
-}
-
-.x-panel-tl,
-.x-panel-ml,
-.x-panel-bl {
- background-color: #F5F5F5;
- padding-left: 8px;
-}
-
-.x-panel-ml,
-.x-panel-mr {
- background-image: none;
-}
-
-.x-panel-bl {
- border-color: #E3E3E3 #E3E3E3;
- border-style: none solid solid;
- border-width: 0 1px 1px;
- padding-bottom: 8px;
-}
-
-.x-panel-ml {
- border-left: 1px solid #E3E3E3;
- border-right: 1px solid #E3E3E3;
-}
-
-.x-panel-mr {
- padding-right: 8px;
-}
-
-.x-panel-tr,
-.x-panel-mr,
-.x-panel-br {
- background-color: #f7f7f7;
-}
-
-.x-tool {
- background: none;
- border-radius: 50%;
- color: #515151;
- font-size: 14px;
- margin: 0 3px 0 0;
- position: relative;
- transition: all 0.3s;
- width: 18px;
- height: 18px;
-}
-.x-tool:after {
- box-sizing: border-box;
- padding-top: 2px;
- position: absolute;
- top: 0;
- left: 0;
- text-align: center;
- vertical-align: middle;
- width: 18px;
- height: 18px;
-}
-.x-tool:hover {
- color: #FFF;
- background: #234368;
-}
-.x-tool.x-tool-toggle:after {
- content: "\f077";
- padding-top: 2px;
-}
-.x-tool.x-tool-toggle-over:after, .x-tool.x-tool-toggle:hover:after {
- content: "\f077";
-}
-.x-panel-collapsed .x-tool.x-tool-toggle:after {
- content: "\f078";
- padding-top: 3px;
-}
-.x-panel-collapsed .x-tool.x-tool-toggle-over:after, .x-panel-collapsed .x-tool.x-tool-toggle:hover:after {
- content: "\f078";
- padding-top: 3px;
-}
-.x-tool.x-tool-close:after {
- content: "\f00d";
-}
-.x-tool.x-tool-minimize:after {
- content: "\f066";
-}
-.x-tool.x-tool-maximize:after {
- content: "\f065";
-}
-.x-tool.x-tool-restore:after {
- content: "\f066";
-}
-.x-tool.x-tool-gear:after {
- content: "\f013";
-}
-.x-tool.x-tool-pin:after {
- content: "\f111";
-}
-.x-tool.x-tool-pin-over:after, .x-tool.x-tool-pin:hover:after {
- content: "\f192";
-}
-.x-tool.x-tool-unpin:after {
- content: "\f192";
-}
-.x-tool.x-tool-unpin-over:after, .x-tool.x-tool-unpin:hover:after {
- content: "\f111";
-}
-.x-tool.x-tool-right:after {
- content: "\f054";
- padding-left: 1px;
-}
-.x-tool.x-tool-left:after {
- content: "\f053";
- padding-right: 2px;
-}
-.x-tool.x-tool-up:after {
- content: "\f077";
- padding-top: 1px;
-}
-.x-tool.x-tool-down:after {
- content: "\f078";
- padding-top: 1px;
-}
-.x-tool.x-tool-minus:after {
- content: "\f068";
-}
-.x-tool.x-tool-plus:after {
- content: "\f067";
-}
-
-.x-panel-dd-spacer {
- border-color: #DFDFDF;
-}
-
-.x-panel-fbar td,
-.x-panel-fbar span,
-.x-panel-fbar input,
-.x-panel-fbar div,
-.x-panel-fbar select,
-.x-panel-fbar label {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-panel-header {
- border-radius: 3px 3px 0 0;
- border: 1px solid #c0c0c0;
- font-size: 14px;
- font-weight: bold;
- margin-top: 0;
- padding: 10px 10px 8px;
-}
-
-.x-portal-space {
- border-bottom: 1px solid #afafaf;
- padding: 0;
-}
-
-.x-column-inner {
- overflow: visible;
- /* prevent second col with fields to have excessive margin on the right */
- /* distance to the right for all following columns, this makes the first one 15px wider than the rest*/
- /* but allows for more than 2 columns layouts */
-}
-.x-column-inner > .x-column {
- margin-right: 0;
- overflow: visible;
-}
-.x-column-inner > .x-column:not(.x-hide-display) ~ .x-column {
- margin-right: 0;
- margin-left: 15px;
-}
-
-.x-panel-nofooter .x-panel-bc {
- background-image: none;
- height: 0;
-}
-
-.x-panel-ghost {
- background-color: #dbdbdb;
-}
-
-.x-panel-ghost ul {
- border-color: #d0d0d0;
-}
-
-.x-panel-dd-spacer {
- border-color: #d0d0d0;
-}
-
-.x-dlg-mask {
- background-color: #CCCCCC;
-}
-
-.x-html-editor-wrap {
- background-color: #FFF;
- border-color: #bcbcbc;
-}
-
-.x-panel-noborder .x-panel-header-noborder {
- border-bottom-color: transparent;
-}
-
-.x-border-layout-ct {
- background-color: #FAFAFA;
-}
-
-.x-accordion-hd {
- background-image: url("../images/modx-theme/panel/light-hd.gif");
- color: #222;
- font-weight: normal;
-}
-
-.x-layout-collapsed {
- background-color: #E4E4E4;
- border-color: #DFDFDF;
- width: 7px !important;
-}
-
-.x-layout-collapsed-over {
- background-color: #e6e6e6;
-}
-
-.x-layout-split-west .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-left.gif");
-}
-
-.x-layout-split-east .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-right.gif");
-}
-
-.x-layout-split-north .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-top.gif");
-}
-
-.x-layout-split-south .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-bottom.gif");
-}
-
-.x-layout-cmini-west .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-right.gif");
-}
-
-.x-layout-cmini-east .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-left.gif");
-}
-
-.x-layout-cmini-north .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-bottom.gif");
-}
-
-.x-layout-cmini-south .x-layout-mini {
- background-image: url("../images/modx-theme/layout/mini-top.gif");
-}
-
-.x-list-header {
- background-color: #f9f9f9;
- background-image: url("../images/modx-theme/grid/grid3-hrow.gif");
-}
-
-.x-list-header-inner div em {
- border-left-color: #DFDFDF;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-list-body dt em {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-list-over {
- background-color: #EEEEEE;
-}
-
-.x-list-selected {
- background-color: #e7e7e7;
-}
-
-.x-list-resizer {
- border-left-color: #555;
- border-right-color: #555;
-}
-
-.x-list-header-inner em.sort-asc,
-.x-list-header-inner em.sort-desc {
- background-image: url("../images/modx-theme/grid/sort-hd.gif");
- border-color: #DFDFDF;
-}
-
-.x-slider-horz,
-.x-slider-horz .x-slider-end,
-.x-slider-horz .x-slider-inner {
- background-image: url("../images/modx-theme/slider/slider-bg.png");
-}
-
-.x-slider-horz .x-slider-thumb {
- background-image: url("../images/modx-theme/slider/slider-thumb.png");
-}
-
-.x-slider-vert,
-.x-slider-vert .x-slider-end,
-.x-slider-vert .x-slider-inner {
- background-image: url("../images/modx-theme/slider/slider-v-bg.png");
-}
-
-.x-slider-vert .x-slider-thumb {
- background-image: url("../images/modx-theme/slider/slider-v-thumb.png");
-}
-
-/* portal */
-.x-portal .x-panel-tl .x-panel-header {
- background: none;
- font-size: 14px;
- padding: 8px 0 8px 0;
-}
-
-.x-portal .x-tool {
- margin-top: 0;
-}
-
-.x-portal .x-panel-body {
- font-weight: normal;
- margin-bottom: 5px;
- padding: 0;
- text-transform: none;
-}
-
-.x-portal-space {
- margin-bottom: 5px;
-}
-
-/* grid checker */
-.x-grid3-body .x-grid3-td-checker {
- background-image: none !important;
-}
-
-/* combo tpl stuff */
-.modx-combo-desc {
- color: #515151;
- font-size: 0.9em;
- font-style: italic;
-}
-
-.modx-combo-title {
- font-weight: bold;
-}
-
-/* draggable grids */
-.modx-grid-draggable .x-grid3-row {
- cursor: move;
-}
-
-/* On deprecated logs controller, allow group title to expand normally which is inexplicably hardcoded in the extjs files */
-#modx-grid-deprecated-log .x-grid-group-hd div {
- height: auto;
-}
-
-/* having to do some real janky stuff to work with ExtJS markup */
-.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-btn, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn, .actions button.primary-button,
-.primary-button.inline-button,
-.primary-button.x-superboxselect-item,
-.primary-button.x-form-trigger,
-.primary-button.x-date-mp-ok,
-.primary-button.x-date-mp-cancel, .primary-button.x-btn {
- transition: background-color 0.2s ease-out;
- background: #6CB24A;
- box-shadow: none;
- color: #FFF;
-}
-.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-btn-focus.x-btn:not(.x-btn-over), .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-focus.x-btn:not(.x-btn-over), .actions button.x-btn-focus.primary-button:not(.x-btn-over),
-.x-btn-focus.primary-button.inline-button:not(.x-btn-over),
-.x-btn-focus.primary-button.x-superboxselect-item:not(.x-btn-over),
-.x-btn-focus.primary-button.x-form-trigger:not(.x-btn-over),
-.x-btn-focus.primary-button.x-date-mp-ok:not(.x-btn-over),
-.x-btn-focus.primary-button.x-date-mp-cancel:not(.x-btn-over), .x-btn-focus.primary-button.x-btn:not(.x-btn-over) {
- background: #6CB24A;
- color: #FFF;
-}
-.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-btn-over.x-btn, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-over.x-btn, .actions button.x-btn-over.primary-button,
-.x-btn-over.primary-button.inline-button,
-.x-btn-over.primary-button.x-superboxselect-item,
-.x-btn-over.primary-button.x-form-trigger,
-.x-btn-over.primary-button.x-date-mp-ok,
-.x-btn-over.primary-button.x-date-mp-cancel, .x-btn-over.primary-button.x-btn, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-btn:hover, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:hover, .actions button.primary-button:hover,
-.primary-button.inline-button:hover,
-.primary-button.x-superboxselect-item:hover,
-.primary-button.x-form-trigger:hover,
-.primary-button.x-date-mp-ok:hover,
-.primary-button.x-date-mp-cancel:hover, .primary-button.x-btn:hover {
- background: #528738;
- box-shadow: none;
- color: #FFF;
-}
-.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-btn-click.x-btn, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-click.x-btn, .actions button.x-btn-click.primary-button,
-.x-btn-click.primary-button.inline-button,
-.x-btn-click.primary-button.x-superboxselect-item,
-.x-btn-click.primary-button.x-form-trigger,
-.x-btn-click.primary-button.x-date-mp-ok,
-.x-btn-click.primary-button.x-date-mp-cancel, .x-btn-click.primary-button.x-btn, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-btn:active, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:active, .actions button.primary-button:active,
-.primary-button.inline-button:active,
-.primary-button.x-superboxselect-item:active,
-.primary-button.x-form-trigger:active,
-.primary-button.x-date-mp-ok:active,
-.primary-button.x-date-mp-cancel:active, .primary-button.x-btn:active {
- background: #385c26;
- box-shadow: none;
- color: #FFF;
-}
-.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(1) .x-item-disabled.x-btn, .x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-item-disabled.x-btn, .actions button.x-item-disabled.primary-button,
-.x-item-disabled.primary-button.inline-button,
-.x-item-disabled.primary-button.x-superboxselect-item,
-.x-item-disabled.primary-button.x-form-trigger,
-.x-item-disabled.primary-button.x-date-mp-ok,
-.x-item-disabled.primary-button.x-date-mp-cancel, .x-item-disabled.primary-button.x-btn {
- background: #6CB24A;
- box-shadow: none;
- color: #FFF;
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
-}
-
-.actions button,
-.inline-button,
-.x-superboxselect-item,
-.x-form-trigger,
-.x-date-picker .x-btn,
-.x-date-mp-ok,
-.x-date-mp-cancel, .x-btn {
- background-color: #FFF;
- background-repeat: no-repeat;
- /* prevent any background-images from repeating, extras compatibility */
- border: 0;
- border-radius: 3px;
- box-shadow: 0 0 0 1px #E4E4E4;
- color: #515151;
- cursor: pointer;
- display: inline-block;
- *display: inline;
- line-height: 1;
- padding: 10px 15px 10px 15px;
- position: relative;
- text-decoration: none;
- transition: background-color 0.2s ease-out;
- zoom: 1;
- /* .x-btn buttons are wrapped in an em tag */
-}
-.ext-webkit .actions button em, .actions .ext-webkit button em,
-.ext-webkit .inline-button em,
-.ext-webkit .x-superboxselect-item em,
-.ext-webkit .x-form-trigger em,
-.ext-webkit .x-date-mp-ok em,
-.ext-webkit .x-date-mp-cancel em, .ext-webkit .x-btn em {
- font-size: 0;
- /* prevent strange excessive height, creates too much height in firefox^^ */
-}
-.actions button button,
-.inline-button button,
-.x-superboxselect-item button,
-.x-form-trigger button,
-.x-date-picker .x-btn button,
-.x-date-mp-ok button,
-.x-date-mp-cancel button, .x-btn button {
- background-repeat: no-repeat;
- /* prevent any background-images from repeating, mainly for extra compatibility */
- color: inherit;
- cursor: pointer;
- font-size: 13px;
- font-style: normal;
- /* override default italic from the parent em tag */
- line-height: 1;
- height: 16px;
- min-width: 100%;
- padding: 0;
- /* override extjs default theme styles */
-}
-.ext-ie8 .actions button button, .actions .ext-ie8 button button,
-.ext-ie8 .inline-button button,
-.ext-ie8 .x-superboxselect-item button,
-.ext-ie8 .x-form-trigger button,
-.ext-ie8 .x-date-mp-ok button,
-.ext-ie8 .x-date-mp-cancel button, .ext-ie8 .x-btn button {
- padding-top: 0;
- /* fix IE < 9 (overriding extjs default style) */
-}
-.actions button .x-btn-split,
-.inline-button .x-btn-split,
-.x-superboxselect-item .x-btn-split,
-.x-form-trigger .x-btn-split,
-.x-date-picker .x-btn .x-btn-split,
-.x-date-mp-ok .x-btn-split,
-.x-date-mp-cancel .x-btn-split, .x-btn .x-btn-split,
-.actions button .x-btn-arrow,
-.inline-button .x-btn-arrow,
-.x-superboxselect-item .x-btn-arrow,
-.x-form-trigger .x-btn-arrow,
-.x-date-picker .x-btn .x-btn-arrow,
-.x-date-mp-ok .x-btn-arrow,
-.x-date-mp-cancel .x-btn-arrow,
-.x-btn .x-btn-arrow {
- display: block;
- padding-right: 20px;
- position: relative;
-}
-.actions button .x-btn-split:before,
-.inline-button .x-btn-split:before,
-.x-superboxselect-item .x-btn-split:before,
-.x-form-trigger .x-btn-split:before,
-.x-date-mp-ok .x-btn-split:before,
-.x-date-mp-cancel .x-btn-split:before, .x-btn .x-btn-split:before,
-.actions button .x-btn-arrow:before,
-.inline-button .x-btn-arrow:before,
-.x-superboxselect-item .x-btn-arrow:before,
-.x-form-trigger .x-btn-arrow:before,
-.x-date-mp-ok .x-btn-arrow:before,
-.x-date-mp-cancel .x-btn-arrow:before,
-.x-btn .x-btn-arrow:before {
- color: inherit;
- content: "\f0d7";
- font-size: 14px;
- margin-top: 0;
- position: absolute;
- top: 50%;
- right: 0;
- /* vertically center the arrow */
-}
-.actions button .x-btn-split button,
-.inline-button .x-btn-split button,
-.x-superboxselect-item .x-btn-split button,
-.x-form-trigger .x-btn-split button,
-.x-date-mp-ok .x-btn-split button,
-.x-date-mp-cancel .x-btn-split button, .x-btn .x-btn-split button,
-.actions button .x-btn-arrow button,
-.inline-button .x-btn-arrow button,
-.x-superboxselect-item .x-btn-arrow button,
-.x-form-trigger .x-btn-arrow button,
-.x-date-mp-ok .x-btn-arrow button,
-.x-date-mp-cancel .x-btn-arrow button,
-.x-btn .x-btn-arrow button {
- border-right-color: inherit;
- border-right-style: solid;
- border-right-width: 1px;
- padding-right: 10px;
-}
-.actions button.x-btn-focus:not(.x-btn-over),
-.x-btn-focus.inline-button:not(.x-btn-over),
-.x-btn-focus.x-superboxselect-item:not(.x-btn-over),
-.x-btn-focus.x-form-trigger:not(.x-btn-over),
-.x-btn-focus.x-date-mp-ok:not(.x-btn-over),
-.x-btn-focus.x-date-mp-cancel:not(.x-btn-over), .x-btn-focus.x-btn:not(.x-btn-over) {
- background: #FFF;
- color: #515151;
-}
-.actions button.x-btn-over,
-.x-btn-over.inline-button,
-.x-btn-over.x-superboxselect-item,
-.x-btn-over.x-form-trigger,
-.x-btn-over.x-date-mp-ok,
-.x-btn-over.x-date-mp-cancel, .x-btn-over.x-btn, .actions button:hover,
-.inline-button:hover,
-.x-superboxselect-item:hover,
-.x-form-trigger:hover,
-.x-date-mp-ok:hover,
-.x-date-mp-cancel:hover, .x-btn:hover {
- background-color: #E4E4E4;
- box-shadow: #DCDCDC;
- color: #515151;
-}
-.actions button.x-btn-click,
-.x-btn-click.inline-button,
-.x-btn-click.x-superboxselect-item,
-.x-btn-click.x-form-trigger,
-.x-btn-click.x-date-mp-ok,
-.x-btn-click.x-date-mp-cancel, .x-btn-click.x-btn, .actions button:active,
-.inline-button:active,
-.x-superboxselect-item:active,
-.x-form-trigger:active,
-.x-date-mp-ok:active,
-.x-date-mp-cancel:active, .x-btn:active {
- background-color: #E4E4E4;
- box-shadow: #DCDCDC;
- color: #515151;
-}
-.actions button.x-btn-menu-active .x-btn-split:before,
-.x-btn-menu-active.inline-button .x-btn-split:before,
-.x-btn-menu-active.x-superboxselect-item .x-btn-split:before,
-.x-btn-menu-active.x-form-trigger .x-btn-split:before,
-.x-btn-menu-active.x-date-mp-ok .x-btn-split:before,
-.x-btn-menu-active.x-date-mp-cancel .x-btn-split:before, .x-btn-menu-active.x-btn .x-btn-split:before {
- content: "\f0d8";
-}
-.actions button.x-item-disabled,
-.x-item-disabled.inline-button,
-.x-item-disabled.x-superboxselect-item,
-.x-item-disabled.x-form-trigger,
-.x-item-disabled.x-date-mp-ok,
-.x-item-disabled.x-date-mp-cancel, .x-item-disabled.x-btn {
- background-color: #FFF;
- color: #1e1e1e;
- box-shadow: 0 0 0 1px #E4E4E4;
- opacity: 0.6;
- /* extjs default theme is also 0.6 */
- filter: alpha(opacity=60);
- /* for IE <= 8 */
-}
-button {
- margin: 2px;
- /* default in chrome, apply it to everybody */
-}
-
-/* btn style */
-.x-panel-btns .x-btn {
- margin: 0 0 0 7px;
-}
-
-/* Action buttons */
-.actions {
- bottom: 8px;
- margin: 0;
- overflow: visible;
- position: absolute;
-}
-.actions li {
- float: left;
- line-height: 0.7;
- margin-right: 2px;
-}
-
-.actions button,
-.inline-button,
-.x-superboxselect-item,
-.x-form-trigger,
-.x-date-picker .x-btn,
-.x-date-mp-ok,
-.x-date-mp-cancel {
- box-shadow: 0 0 0 1px #DCDCDC;
- box-sizing: content-box;
- /* override browser default of border-box */
- padding: 5px;
-}
-.actions button:hover, .actions button:focus,
-.inline-button:hover,
-.inline-button:focus,
-.x-superboxselect-item:hover,
-.x-superboxselect-item:focus,
-.x-form-trigger:hover,
-.x-form-trigger:focus,
-.x-date-picker .x-btn:hover,
-.x-date-picker .x-btn:focus,
-.x-date-mp-ok:hover,
-.x-date-mp-ok:focus,
-.x-date-mp-cancel:hover,
-.x-date-mp-cancel:focus {
- box-shadow: #999999;
-}
-.actions button:active,
-.inline-button:active,
-.x-superboxselect-item:active,
-.x-form-trigger:active,
-.x-date-picker .x-btn:active,
-.x-date-mp-ok:active,
-.x-date-mp-cancel:active {
- box-shadow: #999999;
-}
-.actions button.yellow,
-.inline-button.yellow,
-.x-superboxselect-item.yellow,
-.x-form-trigger.yellow,
-.x-date-picker .x-btn.yellow,
-.x-date-mp-ok.yellow,
-.x-date-mp-cancel.yellow {
- background: #FCE588;
- box-shadow: 0 0 0 1px #FCE588;
- color: #515151 !important;
-}
-.actions button.yellow:hover, .actions button.yellow:focus,
-.inline-button.yellow:hover,
-.inline-button.yellow:focus,
-.x-superboxselect-item.yellow:hover,
-.x-superboxselect-item.yellow:focus,
-.x-form-trigger.yellow:hover,
-.x-form-trigger.yellow:focus,
-.x-date-picker .x-btn.yellow:hover,
-.x-date-picker .x-btn.yellow:focus,
-.x-date-mp-ok.yellow:hover,
-.x-date-mp-ok.yellow:focus,
-.x-date-mp-cancel.yellow:hover,
-.x-date-mp-cancel.yellow:focus {
- background: #fbe06f;
- box-shadow: 0 0 0 1px #fbe06f;
-}
-.actions button.yellow:active,
-.inline-button.yellow:active,
-.x-superboxselect-item.yellow:active,
-.x-form-trigger.yellow:active,
-.x-date-picker .x-btn.yellow:active,
-.x-date-mp-ok.yellow:active,
-.x-date-mp-cancel.yellow:active {
- background: #fbda56;
- box-shadow: 0 0 0 1px #fbda56;
-}
-.actions button.orange,
-.inline-button.orange,
-.x-superboxselect-item.orange,
-.x-form-trigger.orange,
-.x-date-picker .x-btn.orange,
-.x-date-mp-ok.orange,
-.x-date-mp-cancel.orange {
- background: #F0B429;
- box-shadow: 0 0 0 1px #F0B429;
- color: #FFF !important;
-}
-.actions button.orange:hover, .actions button.orange:focus,
-.inline-button.orange:hover,
-.inline-button.orange:focus,
-.x-superboxselect-item.orange:hover,
-.x-superboxselect-item.orange:focus,
-.x-form-trigger.orange:hover,
-.x-form-trigger.orange:focus,
-.x-date-picker .x-btn.orange:hover,
-.x-date-picker .x-btn.orange:focus,
-.x-date-mp-ok.orange:hover,
-.x-date-mp-ok.orange:focus,
-.x-date-mp-cancel.orange:hover,
-.x-date-mp-cancel.orange:focus {
- background: #eeac11;
- box-shadow: 0 0 0 1px #eeac11;
-}
-.actions button.orange:active,
-.inline-button.orange:active,
-.x-superboxselect-item.orange:active,
-.x-form-trigger.orange:active,
-.x-date-picker .x-btn.orange:active,
-.x-date-mp-ok.orange:active,
-.x-date-mp-cancel.orange:active {
- background: #d79b0f;
- box-shadow: 0 0 0 1px #d79b0f;
-}
-.actions button.red,
-.inline-button.red,
-.x-superboxselect-item.red,
-.x-form-trigger.red,
-.x-date-picker .x-btn.red,
-.x-date-mp-ok.red,
-.x-date-mp-cancel.red {
- background: #CF1124;
- box-shadow: 0 0 0 1px #CF1124;
- color: #FFF !important;
-}
-.actions button.red:hover, .actions button.red:focus,
-.inline-button.red:hover,
-.inline-button.red:focus,
-.x-superboxselect-item.red:hover,
-.x-superboxselect-item.red:focus,
-.x-form-trigger.red:hover,
-.x-form-trigger.red:focus,
-.x-date-picker .x-btn.red:hover,
-.x-date-picker .x-btn.red:focus,
-.x-date-mp-ok.red:hover,
-.x-date-mp-ok.red:focus,
-.x-date-mp-cancel.red:hover,
-.x-date-mp-cancel.red:focus {
- background: #c11022;
- box-shadow: 0 0 0 1px #c11022;
-}
-.actions button.red:active,
-.inline-button.red:active,
-.x-superboxselect-item.red:active,
-.x-form-trigger.red:active,
-.x-date-picker .x-btn.red:active,
-.x-date-mp-ok.red:active,
-.x-date-mp-cancel.red:active {
- background: #b30f1f;
- box-shadow: 0 0 0 1px #b30f1f;
-}
-.actions button.green,
-.inline-button.green,
-.x-superboxselect-item.green,
-.x-form-trigger.green,
-.x-date-picker .x-btn.green,
-.x-date-mp-ok.green,
-.x-date-mp-cancel.green {
- background: #6CB24A;
- box-shadow: 0 0 0 1px #6CB24A;
- color: #FFF !important;
- /* override !important of .green class */
-}
-.actions button.green:hover, .actions button.green:focus,
-.inline-button.green:hover,
-.inline-button.green:focus,
-.x-superboxselect-item.green:hover,
-.x-superboxselect-item.green:focus,
-.x-form-trigger.green:hover,
-.x-form-trigger.green:focus,
-.x-date-picker .x-btn.green:hover,
-.x-date-picker .x-btn.green:focus,
-.x-date-mp-ok.green:hover,
-.x-date-mp-ok.green:focus,
-.x-date-mp-cancel.green:hover,
-.x-date-mp-cancel.green:focus {
- background: #61a043;
- box-shadow: 0 0 0 1px #61a043;
-}
-.actions button.green:active,
-.inline-button.green:active,
-.x-superboxselect-item.green:active,
-.x-form-trigger.green:active,
-.x-date-picker .x-btn.green:active,
-.x-date-mp-ok.green:active,
-.x-date-mp-cancel.green:active {
- background: #568e3b;
- box-shadow: 0 0 0 1px #568e3b;
-}
-.actions button.blue,
-.inline-button.blue,
-.x-superboxselect-item.blue,
-.x-form-trigger.blue,
-.x-date-picker .x-btn.blue,
-.x-date-mp-ok.blue,
-.x-date-mp-cancel.blue {
- background: #4A90E2;
- box-shadow: 0 0 0 1px #4A90E2;
- color: #FFF !important;
- /* override !important of .green class */
-}
-.actions button.blue:hover, .actions button.blue:focus,
-.inline-button.blue:hover,
-.inline-button.blue:focus,
-.x-superboxselect-item.blue:hover,
-.x-superboxselect-item.blue:focus,
-.x-form-trigger.blue:hover,
-.x-form-trigger.blue:focus,
-.x-date-picker .x-btn.blue:hover,
-.x-date-picker .x-btn.blue:focus,
-.x-date-mp-ok.blue:hover,
-.x-date-mp-ok.blue:focus,
-.x-date-mp-cancel.blue:hover,
-.x-date-mp-cancel.blue:focus {
- background: #3483de;
- box-shadow: 0 0 0 1px #3483de;
-}
-.actions button.blue:active,
-.inline-button.blue:active,
-.x-superboxselect-item.blue:active,
-.x-form-trigger.blue:active,
-.x-date-picker .x-btn.blue:active,
-.x-date-mp-ok.blue:active,
-.x-date-mp-cancel.blue:active {
- background: #2275d7;
- box-shadow: 0 0 0 1px #2275d7;
-}
-
-/* Toolbar combo/text styled just like the buttons */
-.x-toolbar .x-form-field-trigger-wrap {
- background: #FFF;
- border: 0;
- border-radius: 3px;
- box-shadow: 0 0 0 1px #E4E4E4;
- cursor: pointer;
- line-height: 1;
-}
-.x-toolbar .x-form-field-trigger-wrap .x-form-text {
- background: #FFF;
- border: 0;
- margin: 0 !important;
-}
-.x-toolbar .x-form-field-trigger-wrap .x-form-trigger:before {
- margin-top: 0;
-}
-.x-toolbar .x-form-field-trigger-wrap.x-trigger-wrap-focus {
- box-shadow: 0 0 0 1px #999999;
-}
-html[dir=rtl] .x-toolbar-left table {
- float: right;
-}
-.x-toolbar .x-toolbar-left-row .x-btn,
-.x-toolbar .x-toolbar-left-row .x-form-text,
-.x-toolbar .x-toolbar-left-row .x-form-field-trigger-wrap {
- margin: 0 3px;
-}
-.x-toolbar .x-toolbar-left-row td .x-btn {
- display: block;
-}
-.x-toolbar .x-toolbar-left-row .x-form-filter {
- border-radius: 3px 0 0 3px;
- z-index: 1;
- /* prevent clear filter button from overlapping the textfield */
-}
-.x-toolbar .x-toolbar-left-row .x-form-filter:not(.x-form-empty-field) {
- border-color: #000;
-}
-.x-toolbar .x-toolbar-left-row .x-form-filter.x-form-focus {
- border-color: #999999;
-}
-.x-toolbar .x-toolbar-left-row .x-form-filter-clear {
- border-radius: 0 3px 3px 0;
- margin-right: 0;
-}
-.x-toolbar .x-toolbar-right-row .x-btn,
-.x-toolbar .x-toolbar-right-row .x-form-text,
-.x-toolbar .x-toolbar-right-row .x-form-field-trigger-wrap {
- margin: 0 3px;
-}
-.x-toolbar .x-toolbar-right-row td .x-btn {
- display: block;
-}
-.x-toolbar .x-toolbar-right-row .x-form-filter {
- border-radius: 3px 0 0 3px;
- z-index: 1;
- /* prevent clear filter button from overlapping the textfield */
-}
-.x-toolbar .x-toolbar-right-row .x-form-filter:not(.x-form-empty-field) {
- border-color: #000;
-}
-.x-toolbar .x-toolbar-right-row .x-form-filter.x-form-focus {
- border-color: #999999;
-}
-.x-toolbar .x-toolbar-right-row .x-form-filter-clear {
- border-radius: 0 3px 3px 0;
- margin-left: 0;
-}
-.x-toolbar .x-form-text {
- padding: 8px 13px;
- border-radius: 3px;
- font-size: 13px !important;
-}
-.x-toolbar.x-small-editor .x-form-text {
- padding-top: 8px;
- /* overrides ext standard theme rule which isn't overridden by padding rule above */
-}
-.x-toolbar .xtb-sep {
- /* use margin on the elements itself as the separators are not inserted consistently */
- /* separators are removed, but we leave this rule for safety */
- margin: 0;
- width: 0;
-}
-.x-tree .x-toolbar .x-btn {
- padding: 7px;
-}
-.x-tree .x-toolbar .x-btn-icon {
- box-shadow: none;
- padding: 7px;
-}
-.x-tree .x-toolbar .x-btn-icon.x-btn-over {
- background: none;
- box-shadow: none;
- color: #234368;
-}
-.x-tree .x-toolbar .x-btn-icon.x-btn-click {
- background: none;
- box-shadow: none;
- color: #1b3451;
-}
-.x-tree .x-toolbar .x-btn-icon:before {
- content: none;
-}
-.x-tree .x-toolbar .x-toolbar-left-row .x-form-field-wrap,
-.x-tree .x-toolbar .x-toolbar-right-row .x-form-field-wrap {
- margin-right: 6px;
- margin-left: 6px !important;
- /* we need !important to override the rules above */
-}
-
-/* action buttons bar, declare after general toolbar styles to make use of the cascade */
-#modx-action-buttons {
- position: fixed;
- top: 0;
- right: 0;
- left: auto;
- background: #F1F1F1;
- padding: 0.5rem 1rem;
- border: 0;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- border-radius: 3px;
- z-index: 12;
- /* prevent panel collapse arrows + toggles from overlapping */
-}
-#modx-action-buttons .x-toolbar-cell {
- padding: 0.25rem;
-}
-#modx-action-buttons .x-btn {
- margin: 0;
-}
-#modx-action-buttons #modx-abtn-menu .x-btn-split {
- padding: 0;
-}
-#modx-action-buttons #modx-abtn-menu .x-btn-split:before {
- display: none;
-}
-#modx-action-buttons #modx-abtn-menu .x-btn-split .x-btn-text {
- padding: 0;
- border: none;
-}
-#modx-action-buttons .x-toolbar-left {
- width: auto !important;
- zoom: 1;
-}
-@media screen and (max-width: 960px) {
- #modx-action-buttons {
- background: transparent;
- padding: 0 15px;
- position: relative;
- top: auto;
- left: auto;
- right: auto;
- bottom: auto;
- max-width: 100%;
- border-radius: 0;
- }
- #modx-action-buttons table table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) {
- display: block;
- }
- #modx-action-buttons table table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody {
- display: block;
- }
- #modx-action-buttons table table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr {
- margin-left: auto;
- margin-right: auto;
- max-width: 1200px;
- display: flex;
- flex-wrap: wrap;
- }
- #modx-action-buttons table table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr::after {
- clear: both;
- content: "";
- display: block;
- }
- #modx-action-buttons table table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr td {
- display: inline-block;
- float: left;
- padding: 0 !important;
- margin-bottom: 1em;
- flex-grow: 1;
- }
- #modx-action-buttons table table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr td .x-btn {
- margin-left: 3px;
- margin-right: 3px;
- }
- #modx-panel-welcome #modx-action-buttons {
- display: none;
- }
- #modx-action-buttons .x-toolbar-cell {
- width: auto;
- margin: 5px;
- }
-}
-
-@media screen and (max-width: 960px) {
- .tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) {
- display: block;
- }
- .tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody {
- display: block;
- }
- .tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr {
- margin-left: auto;
- margin-right: auto;
- max-width: 1200px;
- display: flex;
- flex-wrap: wrap;
- }
- .tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr::after {
- clear: both;
- content: "";
- display: block;
- }
- .tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr td {
- display: inline-block;
- float: left;
- padding: 0 !important;
- margin-bottom: 1em;
- flex-grow: 1;
- }
- .tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr td .x-btn {
- margin-left: 3px;
- margin-right: 3px;
- }
- .tab-panel-wrapper .x-panel-tbar .x-toolbar-left input,
-.tab-panel-wrapper .x-panel-tbar .x-toolbar-right input {
- height: auto !important;
- width: 100%;
- box-sizing: border-box;
- margin-left: 0;
- }
-}
-
-@media screen and (max-width: 960px) {
- html.ext-strict body #modx-container .x-small-editor .x-form-text {
- height: auto !important;
- }
-}
-
-@media screen and (max-width: 960px) {
- #modx-grid-element-properties table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) {
- display: block;
- }
- #modx-grid-element-properties table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody {
- display: block;
- }
- #modx-grid-element-properties table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr {
- margin-left: auto;
- margin-right: auto;
- max-width: 1200px;
- display: flex;
- flex-wrap: wrap;
- }
- #modx-grid-element-properties table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr::after {
- clear: both;
- content: "";
- display: block;
- }
- #modx-grid-element-properties table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr td {
- display: inline-block;
- float: left;
- padding: 0 !important;
- margin-bottom: 1em;
- flex-grow: 1;
- }
- #modx-grid-element-properties table:not(#modx-tree-panel-usergroup table, #modx-grid-lexicon table, #modx-panel-property-sets) tbody tr td .x-btn {
- margin-left: 3px;
- margin-right: 3px;
- }
- #modx-grid-element-properties .x-toolbar-left {
- margin-bottom: 0;
- }
- #modx-grid-element-properties .x-toolbar-cell > * {
- width: 100% !important;
- box-sizing: border-box;
- margin-left: auto;
- margin-right: auto;
- }
-}
-
-.x-btn-icon button {
- font-size: 18px;
- height: 18px;
- width: 18px;
- position: relative;
-}
-
-.x-btn-icon.arrow_up button {
- background: none !important;
- /* #shame */
- position: relative;
-}
-.x-btn-icon.arrow_up button:before {
- content: "\f3bf";
- top: 1px;
- bottom: auto;
-}
-.x-btn-icon.arrow_down button {
- background: none !important;
- /* #shame */
- position: relative;
-}
-.x-btn-icon.arrow_down button:before {
- content: "\f3be";
- top: 1px;
- bottom: auto;
-}
-.x-btn-icon.refresh button {
- background: none !important;
- /* #shame */
- position: relative;
-}
-.x-btn-icon.refresh button:before {
- content: "\f021";
- top: 1px;
- bottom: auto;
-}
-.x-btn-icon.icon-folder button:before {
- content: "\f07b";
-}
-.x-btn-icon.icon-page_white button:before {
- content: "\f15c";
-}
-.x-btn-icon.icon-file_upload button:before {
- content: "\f35b";
-}
-.x-btn-icon.icon-file_manager button:before {
- content: "\f14d";
-}
-
-.x-btn-text-icon button {
- padding-left: 20px !important;
-}
-
-.x-html-editor-tb .x-btn {
- background-color: transparent;
- background-image: none;
- border: 0 none;
- box-shadow: none;
- margin: 0;
-}
-
-.x-html-editor-tb .x-btn-over {
- border: 0 none;
-}
-
-.x-btn-group {
- border-radius: 3px;
- border: 1px solid #DBE0E4;
- margin-right: 2px;
- padding: 0;
-}
-
-.x-btn-group .x-btn {
- background-color: transparent;
- background-image: none;
- border: 1px solid transparent;
- box-shadow: transparent 0 0 1px;
-}
-
-.x-btn-group .x-btn button {
- color: #868B8F;
- height: auto !important;
-}
-
-.x-btn-group .x-btn-over {
- background: #DFDFDF;
- background: #F0F0F0;
- border: 1px solid #DBE0E4;
-}
-
-.x-btn-group .x-btn-over button {
- color: #5b7a98;
-}
-
-.x-btn-group .x-btn-click {
- background-color: #FFF;
- background-image: none;
- box-shadow: 0 0 3px #AAAAAA inset;
- margin: 0 2px 0 0;
-}
-
-.x-btn-group-bwrap {
- padding: 1px 0 0;
-}
-
-.x-btn-group-header {
- background-color: #DBE0E4;
- color: #73797f;
- text-shadow: 0 1px 0 #FAFAFA;
-}
-
-.x-btn-group-tl,
-.x-btn-group-tr {
- background-image: none;
- padding: 0;
-}
-
-.x-btn-group-tc,
-.x-btn-group-bc,
-.x-btn-group-bl,
-.x-btn-group-br {
- background-image: none;
-}
-
-.x-btn-group-ml {
- background-image: none;
- padding-left: 1px;
-}
-
-.x-btn-group-mr {
- background-image: none;
- padding-right: 1px;
-}
-
-.x-btn em.x-btn-arrow-bottom {
- background-image: url("../images/modx-theme/button/s-arrow-b-noline.gif");
-}
-
-.x-btn em.x-btn-split-bottom {
- background-image: url("../images/modx-theme/button/s-arrow-b.gif");
-}
-
-.x-btn-over em.x-btn-split-bottom,
-.x-btn-click em.x-btn-split-bottom,
-.x-btn-menu-active em.x-btn-split-bottom,
-.x-btn-pressed em.x-btn-split-bottom {
- background-image: url("../images/modx-theme/button/s-arrow-bo.gif");
-}
-
-.x-btn-group-notitle .x-btn-group-tc {
- background-image: url("../images/modx-theme/button/group-tb.gif");
-}
-
-/* basic tree toolbar styles */
-#modx-leftbar .x-toolbar-ct .x-btn {
- margin: 0 3px;
- padding: 0;
- width: 25px;
- height: 30px;
- border: none;
- box-shadow: none;
- color: #515151;
- background: #F1F1F1;
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
- display: inline-block;
- position: relative;
-}
-#modx-leftbar .x-toolbar-ct .x-btn > em > button {
- /*color: $buttonColor;*/
- font-size: 18px;
- text-shadow: none;
- overflow: visible;
- position: absolute;
- height: 24px;
- top: 4px;
- left: 2px;
-}
-#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over, #modx-leftbar .x-toolbar-ct .x-btn:hover, #modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus, #modx-leftbar .x-toolbar-ct .x-btn:focus, #modx-leftbar .x-toolbar-ct .x-btn.x-btn-click, #modx-leftbar .x-toolbar-ct .x-btn:active {
- background: none;
- box-shadow: none;
- color: #234368;
-}
-#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over button, #modx-leftbar .x-toolbar-ct .x-btn:hover button, #modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus button, #modx-leftbar .x-toolbar-ct .x-btn:focus button, #modx-leftbar .x-toolbar-ct .x-btn.x-btn-click button, #modx-leftbar .x-toolbar-ct .x-btn:active button {
- color: inherit;
-}
-#modx-leftbar .x-toolbar-ct .x-btn span {
- vertical-align: middle;
-}
-#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn {
- /* the resource trash button in the tree */
-}
-#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn > em > button {
- /* not sure why the trash needs a different color when active? */
- font-size: 20px;
- /* trash icon is a bit smaller than the others at 18px */
-}
-#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled {
- color: #919191 !important;
- /* !important prevents hover / active styles */
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
-}
-#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled button {
- color: inherit;
-}
-
-/* resource tree toolbar icons */
-.tree-new-resource > em > button:before {
- content: "\f15b";
-}
-
-.tree-new-weblink > em > button:before {
- content: "\f0c1";
-}
-
-.tree-new-symlink > em > button:before {
- content: "\f0c5";
- font-weight: 400;
-}
-
-.tree-new-static-resource > em > button:before {
- content: "\f15c";
- font-weight: 400;
-}
-
-.tree-trash > em > button:before {
- content: "\f2ed";
- font-weight: 400;
-}
-
-/* alignment overrides */
-#modx-leftbar .x-toolbar-ct .x-btn .tree-new-symlink > em > button {
- top: 4px;
- left: 2px;
-}
-
-#modx-leftbar .x-toolbar-ct .x-btn .tree-new-weblink > em > button {
- left: 2px;
-}
-
-/* element tree toolbar */
-.tree-new-template > em > button:before {
- content: "\f0db";
-}
-
-.tree-new-tv > em > button:before {
- content: "\f022";
- font-weight: 400;
-}
-
-.tree-new-chunk > em > button:before {
- content: "\f009";
- font-weight: 900;
-}
-
-.tree-new-snippet > em > button:before {
- content: "\f121";
-}
-
-.tree-new-plugin > em > button:before {
- content: "\f085";
-}
-
-.tree-new-category > em > button:before {
- content: "\f07b";
-}
-
-textarea {
- overflow: auto;
-}
-
-textarea.x-form-field,
-.x-form-textarea {
- display: block;
- /* make the field description (below) stick to the bottom correctly */
- font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
- padding: 5px;
- /* override standard extjs theme */
-}
-
-/* use default manager font for TV textareas to have unified look across TVs */
-.modx-tv .x-form-textarea:not(div) {
- font-family: inherit;
-}
-
-/* general class that can be applied to any form field that should display code font */
-.modx-code-content {
- font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-}
-
-textarea[name=description],
-textarea[name=introtext],
-.modx-text-content {
- font: normal 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-form-text,
-textarea.x-form-field,
-.x-form-textarea {
- max-width: 100%;
- background-color: #FFF;
- background-image: none;
- border-radius: 3px;
- border: 1px solid #E4E4E4;
- position: relative;
- transition: border-color 0.25s;
-}
-
-.x-viewport .x-trigger-wrap-focus,
-.x-viewport input.x-form-focus,
-.x-viewport textarea.x-form-focus,
-.x-viewport .x-form-textarea .x-form-focus {
- border-color: #999999;
-}
-
-.x-viewport .x-trigger-wrap-open {
- border-radius: 3px 3px 0 0;
-}
-
-.x-form-invalid,
-textarea.x-form-invalid {
- border-color: #CF1124 !important;
-}
-
-/* fix oversize of buttons in FF */
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-/* special rule for the TVs additional input/output properties form to have padding on top */
-#modx-input-props,
-#modx-widget-props {
- padding: 15px 0 0 0;
-}
-
-/* the wrapper structure for form inputs */
-.x-form-item {
- display: block;
- margin: 0;
- outline: 0 none;
- /* prevent firefox from creating ugly dotted outlines */
- position: relative;
- /* boundary for absolutely positioned elements */
- /* general styles for form labels, paddings for various form layouts are handled below */
- /* label.x-form-item-label */
- /* is outside of the label */
- /* Tag TVs tag list below */
- /* a few styles for the old original type multi select TV */
- /* style the labels and form items in the various form layouts */
- /* .x-form-label-left needs to come first, so .x-form-label-top rules can override, as some forms are strangely nested */
- /* .x-form-element */
- /* prevent columns used inside form elements to have too much spacing, some custom TV types need this */
- /* prevent nested elements with class .container having a lot of margin, some custom TV types need this */
-}
-.x-form-item label.x-form-item-label {
- color: #515151;
- font-size: 13px;
- font-weight: bold;
- position: relative;
- /* boundary for absolutely positioned elements */
-}
-.x-form-item label.x-form-item-label .modx-tv-label-title {
- display: inline-block;
-}
-.x-form-item label.x-form-item-label .modx-tv-label-description {
- display: inline-block;
- font-style: italic;
- font-weight: normal;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset,
-.x-form-item label.x-form-item-label .modx-field-utils {
- cursor: pointer;
- display: inline-block;
- position: relative;
- opacity: 0;
- filter: alpha(opacity=0);
- /* for IE <= 8 */
- padding: 0 0 0 3px;
- top: 0;
- right: 0;
- transition: all 0.25s;
- width: 16px;
- height: 16px;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset::before,
-.x-form-item label.x-form-item-label .modx-field-utils::before {
- box-sizing: border-box;
- color: #a8a8a8;
- content: "\f2ea";
- /* better match IMO for the action being taken */
- font-size: 14px;
- position: relative;
- bottom: 2px;
- left: 0;
- text-align: center;
- vertical-align: middle;
- width: 16px;
- height: 16px;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-reset::before,
-.x-form-item label.x-form-item-label .modx-field-utils.modx-field-reset::before {
- content: "\f2ea";
-}
-.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-reset:hover::before,
-.x-form-item label.x-form-item-label .modx-field-utils.modx-field-reset:hover::before {
- color: #6CB24A;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-clear::before,
-.x-form-item label.x-form-item-label .modx-field-utils.modx-field-clear::before {
- content: "\f12d";
- font-size: 15px;
- margin-bottom: 4px;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-clear:hover::before,
-.x-form-item label.x-form-item-label .modx-field-utils.modx-field-clear:hover::before {
- color: #CF1124;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset:hover:before,
-.x-form-item label.x-form-item-label .modx-field-utils:hover:before {
- color: #6CB24A;
-}
-.x-form-item label.x-form-item-label .modx-tv-reset:active:before,
-.x-form-item label.x-form-item-label .modx-field-utils:active:before {
- color: #1b3451;
-}
-.x-form-item label.x-form-item-label:hover .modx-tv-reset, .x-form-item label.x-form-item-label:hover .modx-field-utils {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-.x-form-item.modx-tv {
- padding: 0 0 0 0 !important;
-}
-.x-form-item .modx-tv-inherited {
- color: #515151;
- display: inline-block;
- font-size: 10px;
- font-style: italic;
- position: absolute;
- top: 19px;
- right: 0;
- /* absolute position to avoid layout issues with long descriptions */
-}
-.x-form-item .modx-tv-image-preview {
- margin-top: 7px;
-}
-.x-form-item .modx-tv-image-preview img {
- display: block;
-}
-.x-form-item .modx-tag-list {
- list-style: none;
- margin: 0;
- overflow: auto;
- padding: 0;
-}
-.x-form-item .modx-tag-list .modx-tag-opt {
- background-color: #E4E4E4;
- border-radius: 0 3px 3px 0;
- cursor: pointer;
- display: inline-block;
- margin: 4px 5px 0 10px;
- padding: 1px 5px;
- position: relative;
-}
-.x-form-item .modx-tag-list .modx-tag-opt:before {
- border-style: solid;
- border-width: 10px 10px 10px 0;
- border-color: transparent #E4E4E4 transparent transparent;
- content: "";
- position: absolute;
- top: 0;
- left: -10px;
- transform: rotate(360deg);
- /* for better anti-aliasing in webkit browsers */
- width: 0;
- height: 0;
-}
-.x-form-item .modx-tag-list .modx-tag-opt:after {
- background-color: #FFF;
- border-radius: 50%;
- /* make a circle */
- content: "";
- position: absolute;
- top: 8px;
- left: -4px;
- width: 4px;
- height: 4px;
-}
-.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked, .x-form-item .modx-tag-list .modx-tag-opt:hover {
- background-color: #234368;
- color: #FFFFFF;
- text-decoration: none;
-}
-.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:before, .x-form-item .modx-tag-list .modx-tag-opt:hover:before {
- border-color: transparent #234368 transparent transparent;
-}
-.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:hover, .x-form-item .modx-tag-list .modx-tag-opt:hover:hover {
- background-color: #1b3451;
-}
-.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:hover:before, .x-form-item .modx-tag-list .modx-tag-opt:hover:hover:before {
- border-color: transparent #1b3451 transparent transparent;
-}
-.x-form-item .modx-tv-legacy-select {
- border: 1px solid #E4E4E4;
- border-radius: 3px;
- padding: 5px;
- transition: all 0.25s;
- /* does not work in webkit but it's here anyways if some browsers support it */
-}
-.x-form-item .modx-tv-legacy-select:focus {
- border: 1px solid #1b3451;
-}
-.x-form-item .modx-tv-legacy-select option[selected] {
- background-color: #E4E4E4;
-}
-.x-form-label-left .x-form-item {
- /* targets .x-form-item */
- padding: 15px 0 0 0;
- padding-bottom: 0;
- /* override extjs default theme styles */
-}
-.x-form-label-left .x-form-item:first-of-type {
- /* do not add the top padding to the first .x-form-item in this type of form layout */
- padding: 0;
-}
-.x-form-label-left .x-form-item label.x-form-item-label {
- display: inline-block;
- /* override extjs default theme styles */
- margin: 0;
- /* override extjs default theme styles */
- padding: 7px 0 7px 0;
-}
-.x-form-label-top .x-form-item {
- /* targets .x-form-item */
- padding: 0;
- /* override the .x-form-label-left rule */
- padding-bottom: 0;
- /* override extjs default theme styles */
-}
-.x-form-label-top .x-form-item label.x-form-item-label {
- display: inline-block;
- /* override extjs default theme styles */
- margin: 15px 0 4px 0;
- padding: 0;
-}
-.x-window .x-form-item .x-form-item-label {
- padding: 10px 0 4px 0;
- /* move the form fields a bit tighter together inside windows */
-}
-.x-form-item.x-hide-label {
- padding-top: 10px !important;
- /* make this override common rules */
-}
-#modx-resource-content .x-form-item.x-hide-label {
- padding-top: 0 !important;
- /* make this override the rule above */
-}
-.x-form-item.x-hide-label label.x-form-item-label {
- display: none;
- /* override !important rule from above */
-}
-.x-form-item.disabled label {
- color: #a8a8a8;
-}
-.x-form-item .x-form-element {
- padding: 0;
- font: normal 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-.x-form-item .x-column-inner > .x-column ~ .x-column {
- margin-left: 5px;
-}
-.x-form-item .x-column-inner > .x-column .x-form-field-wrap {
- width: auto !important;
- /* make sure the wrap is always full width of parent, fixes some custom TVs */
-}
-.x-form-item .container {
- margin: 0;
-}
-.x-form-item .x-btn {
- padding: 7px 10px 7px 10px;
-}
-
-/* .x-form-item */
-.desc-under {
- color: #999999;
- display: block;
- font-size: 12px;
- font-style: italic;
- margin: 0.4em 0 0 0;
-}
-.desc-under.toggle-slider-above {
- margin: 0.3em 0;
- padding-left: 3.9em;
-}
-.desc-under .warning {
- color: #CF1124;
- overflow: hidden;
- padding: 0;
-}
-.desc-under .example-list ul {
- margin: 0.4em 0;
-}
-.desc-under .example-list ul li {
- position: relative;
- margin-bottom: 0.25em;
- padding-left: 1.25em;
-}
-.desc-under .example-list ul li::before {
- position: absolute;
- left: 0.2em;
- top: 0;
- content: "\f101";
- color: #adadad;
-}
-.desc-under .example-input,
-.desc-under .copy-this {
- padding: 0 0.3em;
- border-radius: 2px;
- transition: width 1s;
-}
-.desc-under .example-input {
- color: #6e935d;
- background-color: #f6faf5;
-}
-.desc-under .example-input:hover {
- background-color: #eff6ec;
- color: #578c3d;
- cursor: pointer;
-}
-.desc-under .copy-this {
- color: #5e8bbf;
- background-color: #f1f6fc;
-}
-.desc-under .copy-this:hover {
- background-color: #e7f1fb;
- color: #1b5ca8;
- cursor: pointer;
-}
-.desc-under .copy-this:hover::after {
- content: "\f0c5";
- color: #6892c4;
- display: inherit;
- margin-left: 0.5em;
-}
-.desc-under .copy-this:hover:active {
- color: #515151;
-}
-.desc-under .copy-this:hover:active::after {
- color: #515151;
-}
-.desc-under .feedback {
- margin-left: 0.75em;
- color: #1b5ca8;
- font-style: normal;
-}
-.desc-under .feedback.item-copied {
- opacity: 1;
- transition: opacity 1.5s;
-}
-.desc-under a {
- text-decoration: none;
- border-bottom: 1px dotted #999999;
- color: #999999;
-}
-.desc-under a:hover {
- color: #515151;
-}
-.desc-under .deemphasize {
- font-style: normal;
-}
-
-.fs-toggle {
- padding-top: 1em;
- margin-top: 2em;
- margin-bottom: 0.5em;
- border-top: 1px dashed #E4E4E4;
-}
-
-.x-fieldset {
- border: 1px solid #E4E4E4;
- border-radius: 3px !important;
- /* !important ensures the border radius, also when the fieldset has a class that sets it to 0 */
- margin: 15px 0 0 0;
- overflow: visible;
- /* allow the legend to be displayed correctly */
- padding: 0;
- /* override extjs default styles */
- position: relative;
- /* for toggled fieldsets */
-}
-.x-fieldset .x-fieldset-header {
- /* legend */
- color: #515151;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
- margin: 0 0 0 10px;
- padding: 0 5px 0 3px;
- position: relative;
-}
-.x-fieldset .x-fieldset-header .x-fieldset-header-text {
- line-height: 18px;
- /* prevent collapse button cut off */
-}
-.x-fieldset .x-fieldset-bwrap .x-fieldset-body {
- overflow-x: hidden !important;
- /* prevent unnecessary horizontal scrollbars */
- padding: 0 10px 10px 10px;
-}
-.x-fieldset.form-row-wrapper .x-fieldset-bwrap .x-fieldset-body {
- padding: 0 15px 15px 15px;
-}
-.x-fieldset#tv-input-opts-fs, .x-fieldset#tv-output-opts-fs {
- border: 0;
- margin: 0;
-}
-.x-fieldset#tv-input-opts-fs .x-fieldset-bwrap .x-fieldset-body, .x-fieldset#tv-output-opts-fs .x-fieldset-bwrap .x-fieldset-body {
- padding: 0;
-}
-.x-fieldset#tv-input-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body, .x-fieldset#tv-output-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body {
- padding: 0 15px 15px 15px;
-}
-
-.x-form-field {
- font: inherit;
- /* composite fields that are used by some extras */
-}
-.x-form-field.x-form-composite {
- margin-bottom: 0 !important;
- /* not sure if this applies to all buttons inside composite fields, could only find Image+ TV using this */
-}
-.x-form-field.x-form-composite .x-btn {
- top: 1px !important;
- /* override inline style */
-}
-
-/* the different input fields */
-.x-static-text-field {
- color: inherit;
- font-size: inherit;
-}
-.x-static-text-field.x-form-focus {
- border-color: #E4E4E4 !important;
-}
-
-.x-form-text {
- /*box-sizing: border-box;*/
- /* we cannot use this because extjs calculates widths with the old box-model */
- line-height: 20px;
- min-height: 20px;
- /* + 5px + 5px padding = 30px */
- padding: 5px;
-}
-
-.x-form-field-wrap {
- max-width: 100%;
- background: #FFF;
- border: 1px solid #E4E4E4;
- border-radius: 3px;
- /*box-shadow: $shadowBorderField;*/
- /* xtype: fileuploadfield styles, mainly used for import windows */
-}
-.x-form-field-wrap .x-form-text:not(.x-form-invalid) {
- border: 0;
-}
-.x-form-field-wrap .x-form-trigger {
- border: 0;
- border-radius: 0 3px 3px 0;
- /* override button styles border-radius */
- box-shadow: none;
- /* override button styles box-shadow */
- padding: 0;
- /* override button styles padding */
- width: 30px;
- height: 100% !important;
- /* height 100% to enable vertical centering, !important to override default extjs theme styles */
- position: absolute;
- top: 0;
- right: 0;
- /* for xtype datefield */
- /* for xtype timefield, doesn't add the class somehow...but it's here anyways */
- /* to make it work the property ,triggerClass: 'x-form-time-trigger' has to be specified for xtype: 'timefield' */
-}
-.x-form-field-wrap .x-form-trigger:before {
- box-sizing: border-box;
- content: "\f078";
- font-size: 14px;
- margin-top: -7px;
- /* half of the height to center vertically with top 50% */
- opacity: 0.8;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
- position: absolute;
- top: 50%;
- right: 0;
- text-align: center;
- width: 30px;
- transition: opacity 0.25s;
-}
-.x-form-field-wrap .x-form-trigger.x-form-trigger-over, .x-form-field-wrap .x-form-trigger:hover {
- box-shadow: #999999;
-}
-.x-form-field-wrap .x-form-trigger.x-form-trigger-over:before, .x-form-field-wrap .x-form-trigger:hover:before {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-.x-form-field-wrap .x-form-trigger.x-form-trigger-click, .x-form-field-wrap .x-form-trigger:active {
- box-shadow: 0 0 0 1px #8a8a8a;
-}
-.x-form-field-wrap .x-form-trigger.x-form-trigger-click:before, .x-form-field-wrap .x-form-trigger:active:before {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-.x-form-field-wrap .x-form-trigger.x-form-date-trigger:before {
- content: "\f133";
- font-weight: 400;
-}
-.x-form-field-wrap .x-form-trigger.x-form-time-trigger:before {
- content: "\f017";
- font-weight: 400;
-}
-.x-form-field-wrap .x-form-trigger.x-form-file-trigger:before {
- content: "\f15b";
- font-weight: 400;
-}
-.x-form-field-wrap .x-form-trigger.x-form-image-trigger:before {
- content: "\f1c5";
- font-weight: 400;
-}
-.x-form-field-wrap .x-form-trigger.x-form-code-trigger:before {
- content: "\f1c9";
- font-weight: 400;
-}
-.x-form-field-wrap.x-datetime-wrap {
- background: none;
- border: 0;
-}
-.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-trigger:before {
- content: "\f133";
-}
-.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-trigger:before {
- content: "\f017";
-}
-.x-form-field-wrap.x-form-fileupload-wrap {
- overflow: visible;
- /* allows the upload button to cover the border of the wrap on hover */
- position: relative;
-}
-.x-form-field-wrap.x-form-fileupload-wrap .x-form-file {
- position: absolute;
- top: 0;
- right: 0;
- min-height: 20px;
- opacity: 0;
- filter: alpha(opacity=0);
- /* for IE <= 8 */
- padding: 5px;
- z-index: 2;
-}
-.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-btn {
- border-radius: 0 3px 3px 0;
- padding: 7px;
- /* override default button padding */
- position: absolute;
- top: 0;
- right: 0;
- z-index: 1;
- /* needs to stay below the transparent file input field */
- line-height: 0;
- box-shadow: none;
- border-left: solid 1px #E4E4E4;
-}
-.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-text {
- position: relative;
- z-index: 3;
- /* needs to stay above the transparent file input field */
-}
-
-#x-form-el-modx-user-photo .x-form-file-trigger:before {
- content: "\f1c5";
-}
-
-#x-form-el-modx-tv-locked {
- margin-top: 1em;
-}
-
-/* .x-form-field-wrap */
-/* both, radio groups and checkbox groups are wrapped in a x-form-check-wrap */
-.x-form-check-wrap,
-.x-fieldset-checkbox-toggle legend {
- height: auto !important;
- line-height: 18px;
- /* this is also default in the extjs default theme */
- /* checkbox & radio button replacement */
-}
-.x-form-label-left .x-form-check-wrap,
-.x-form-label-left .x-fieldset-checkbox-toggle legend {
- padding: 7px 0 7px 0;
-}
-.x-form-label-top .x-form-check-wrap,
-.x-form-label-top .x-fieldset-checkbox-toggle legend {
- padding: 0;
-}
-.x-form-check-wrap .x-form-cb-label,
-.x-form-check-wrap .x-fieldset-header-text,
-.x-fieldset-checkbox-toggle legend .x-form-cb-label,
-.x-fieldset-checkbox-toggle legend .x-fieldset-header-text {
- color: #515151;
- cursor: pointer;
- display: inline-block;
- /* make line-height apply */
- font-weight: normal;
- margin: 0;
- padding-left: 1.9em;
- position: relative;
- top: 0;
- /* override extjs default style */
-}
-.ext-ie8 .x-form-check-wrap .x-form-cb-label,
-.ext-ie8 .x-form-check-wrap .x-fieldset-header-text,
-.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label,
-.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text {
- padding-left: 3px;
-}
-.ext-ie8 .x-form-check-wrap .x-form-cb-label:before,
-.ext-ie8 .x-form-check-wrap .x-fieldset-header-text:before,
-.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,
-.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before {
- content: "";
-}
-.x-form-check-wrap .x-form-cb-label:before,
-.x-form-check-wrap .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before {
- box-sizing: border-box;
- content: "";
- font-size: 18px;
- padding-right: 3px;
- position: absolute;
- top: 0;
- left: 0;
- text-align: center;
- vertical-align: middle;
- width: 18px;
- height: 18px;
-}
-.x-form-check-wrap .x-form-cb-label:hover:before, .x-form-check-wrap .x-form-cb-label:focus:before,
-.x-form-check-wrap .x-fieldset-header-text:hover:before,
-.x-form-check-wrap .x-fieldset-header-text:focus:before,
-.x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,
-.x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,
-.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:hover:before,
-.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:focus:before {
- color: #234368;
-}
-.x-form-check-wrap .x-form-cb-label:active:before,
-.x-form-check-wrap .x-fieldset-header-text:active:before,
-.x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,
-.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:active:before {
- color: #1b3451;
-}
-.x-form-check-wrap .x-form-checkbox,
-.x-form-check-wrap input[type=checkbox],
-.x-form-check-wrap .x-form-radio,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox,
-.x-fieldset-checkbox-toggle legend input[type=checkbox],
-.x-fieldset-checkbox-toggle legend .x-form-radio {
- /*display: none;*/
- cursor: pointer;
- opacity: 0;
- position: absolute;
- top: 0;
- left: 0;
- width: 18px;
- height: 18px;
- z-index: 1;
-}
-.ext-ie8 .x-form-check-wrap .x-form-checkbox,
-.ext-ie8 .x-form-check-wrap input[type=checkbox],
-.ext-ie8 .x-form-check-wrap .x-form-radio,
-.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-checkbox,
-.ext-ie8 .x-fieldset-checkbox-toggle legend input[type=checkbox],
-.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-radio {
- /*display: inline-block; /* fallback for IE8 */
- position: relative;
- top: auto;
- left: auto;
- width: 13px;
- height: 13px;
-}
-.x-form-check-wrap .x-form-checkbox:hover + .x-form-cb-label:before, .x-form-check-wrap .x-form-checkbox:hover + .x-fieldset-header-text:before, .x-form-check-wrap .x-form-checkbox:focus + .x-form-cb-label:before, .x-form-check-wrap .x-form-checkbox:focus + .x-fieldset-header-text:before,
-.x-form-check-wrap input[type=checkbox]:hover + .x-form-cb-label:before,
-.x-form-check-wrap input[type=checkbox]:hover + .x-fieldset-header-text:before,
-.x-form-check-wrap input[type=checkbox]:focus + .x-form-cb-label:before,
-.x-form-check-wrap input[type=checkbox]:focus + .x-fieldset-header-text:before,
-.x-form-check-wrap .x-form-radio:hover + .x-form-cb-label:before,
-.x-form-check-wrap .x-form-radio:hover + .x-fieldset-header-text:before,
-.x-form-check-wrap .x-form-radio:focus + .x-form-cb-label:before,
-.x-form-check-wrap .x-form-radio:focus + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:hover + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:hover + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:focus + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:focus + .x-fieldset-header-text:before {
- color: #234368;
-}
-.x-form-check-wrap .x-form-checkbox:active + .x-form-cb-label:before, .x-form-check-wrap .x-form-checkbox:active + .x-fieldset-header-text:before,
-.x-form-check-wrap input[type=checkbox]:active + .x-form-cb-label:before,
-.x-form-check-wrap input[type=checkbox]:active + .x-fieldset-header-text:before,
-.x-form-check-wrap .x-form-radio:active + .x-form-cb-label:before,
-.x-form-check-wrap .x-form-radio:active + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:active + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:active + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:active + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:active + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:active + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:active + .x-fieldset-header-text:before {
- color: #1b3451;
-}
-.x-form-check-wrap .x-form-checkbox + .x-form-cb-label:before,
-.x-form-check-wrap input[type=checkbox] + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox] + .x-fieldset-header-text:before {
- content: "\f0c8";
- font-weight: 400;
-}
-.x-form-check-wrap .x-form-checkbox:checked + .x-form-cb-label:before,
-.x-form-check-wrap input[type=checkbox]:checked + .x-fieldset-header-text:before,
-.x-fieldset-checkbox-toggle legend .x-form-checkbox:checked + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend input[type=checkbox]:checked + .x-fieldset-header-text:before {
- content: "\f14a";
- font-weight: 400;
-}
-.x-form-check-wrap .x-form-radio + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio + .x-form-cb-label:before {
- content: "\f111";
- font-weight: 400;
-}
-.x-form-check-wrap .x-form-radio:checked + .x-form-cb-label:before,
-.x-fieldset-checkbox-toggle legend .x-form-radio:checked + .x-form-cb-label:before {
- content: "\f192";
- font-weight: 400;
-}
-
-/* .x-form-check-wrap */
-/* Special checboxes for resources and tv configs */
-#modx-resource-tabs .x-form-check-wrap [type=checkbox],
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],
-#modx-resource-tabs .x-fieldset legend [type=checkbox],
-#modx-tv-tabs .x-form-check-wrap [type=checkbox],
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],
-#modx-tv-tabs .x-fieldset legend [type=checkbox] {
- position: absolute;
- left: -9999px;
-}
-html[dir=rtl] #modx-resource-tabs .x-form-check-wrap [type=checkbox],
-html[dir=rtl] #modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],
-html[dir=rtl] #modx-resource-tabs .x-fieldset legend [type=checkbox],
-html[dir=rtl] #modx-tv-tabs .x-form-check-wrap [type=checkbox],
-html[dir=rtl] #modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],
-html[dir=rtl] #modx-tv-tabs .x-fieldset legend [type=checkbox] {
- right: -9999px;
- left: unset;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label, #modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text {
- position: relative;
- padding-left: 3.6em;
- padding-top: 0.2em;
- margin-left: 0;
- cursor: pointer;
- box-sizing: border-box;
- line-height: 1;
- /* fixes vertical alignment with slider control */
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:before, #modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:after, #modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:before, #modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:after,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:after,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:after,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:after,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after {
- content: "";
- position: absolute;
- transition: all 0.2s ease;
- font-size: inherit;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:before, #modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before {
- left: 0;
- top: 0;
- width: 3em;
- height: 1.6em;
- background: #E4E4E4;
- border-radius: 1.2em;
- z-index: 10;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:after, #modx-resource-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:after,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:after,
-#modx-resource-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-form-cb-label:after,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:after,
-#modx-tv-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after {
- left: 0.1em;
- top: 0.8em;
- margin-top: -0.65em;
- height: 1.3em;
- width: 1.3em;
- border-radius: 50%;
- background-color: #FFF;
- z-index: 11;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox]:checked + .x-form-cb-label:after, #modx-resource-tabs .x-form-check-wrap [type=checkbox]:checked + .x-fieldset-header-text:after,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:after,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:after,
-#modx-resource-tabs .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:after,
-#modx-resource-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox]:checked + .x-form-cb-label:after,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox]:checked + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:after,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:after,
-#modx-tv-tabs .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:after,
-#modx-tv-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:after {
- left: 1.6em;
- top: 0.8em;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox]:checked + .x-form-cb-label:before, #modx-resource-tabs .x-form-check-wrap [type=checkbox]:checked + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox]:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox]:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:before {
- background-color: #6CB24A;
- border-color: #6CB24A;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox].danger:checked + .x-form-cb-label:before, #modx-resource-tabs .x-form-check-wrap [type=checkbox].danger:checked + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox].danger:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox].danger:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-fieldset-header-text:before {
- background-color: #CF1124;
- border-color: #CF1124;
-}
-#modx-resource-tabs .x-form-check-wrap [type=checkbox].warning:checked + .x-form-cb-label:before, #modx-resource-tabs .x-form-check-wrap [type=checkbox].warning:checked + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-fieldset-header-text:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-form-cb-label:before,
-#modx-resource-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox].warning:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-form-check-wrap [type=checkbox].warning:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-fieldset-header-text:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-form-cb-label:before,
-#modx-tv-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-fieldset-header-text:before {
- background-color: #F0B429;
- border-color: #F0B429;
-}
-
-.x-form-check-group,
-.x-form-radio-group {
- /*overflow: visible; /* do not cut off the bottom of the input elements */
- overflow: hidden;
- /* visible causes horizontal scrollbars in vertical tabs */
- padding-bottom: 0.5em;
- /* prevent bottom-most sliders from being clipped */
- /* applies to new xcheckboxgroup custom checkbox group */
-}
-.x-form-check-group .x-column,
-.x-form-radio-group .x-column {
- /* we need this to have access to the first child */
-}
-.x-form-check-group .x-column .x-form-item:first-child,
-.x-form-radio-group .x-column .x-form-item:first-child {
- padding: 4px 0 0 0;
-}
-.x-form-check-group.aggregated-group,
-.x-form-radio-group.aggregated-group {
- padding-left: 1em;
- padding-right: 1em;
-}
-
-/* superboxselect / multi-select field */
-.x-superboxselect {
- height: auto !important;
- /* override the extjs default theme style of 18px */
- margin: 0;
- outline: 0;
- padding: 0 5px 5px 5px;
- /* special padding because selected items need margin-top */
- position: relative;
- white-space: normal;
- /* make selected options wrap */
- width: auto !important;
- /* prevents the right border to be cut off */
- /* these buttons got the .x-form-trigger class assigned */
-}
-.ext-strict .x-toolbar .x-small-editor .x-superboxselect {
- height: auto !important;
- /* override the extjs default theme style high specifiy + !important rule, wtf... */
-}
-.x-superboxselect ul {
- cursor: text;
- min-height: 20px;
- overflow: visible;
- /* prevent item box-shadow from being cut off */
- padding-right: 61px;
- /* 2 * 30px for each .x-form-trigger + 1px border */
- white-space: normal;
- /* make selected options wrap */
- width: auto !important;
- /* override extjs width calculation */
-}
-.x-toolbar .x-superboxselect ul {
- margin: -5px 0 0 -5px;
- /* fix for superbox selects in toolbars */
-}
-.x-superboxselect ul li {
- margin: 5px 5px 0 0;
- padding: 0;
-}
-.x-superboxselect ul li.x-superboxselect-item {
- cursor: default;
- /* don't make the selected options appear like full buttons */
- font-size: 12px;
- padding: 4px 18px 4px 4px !important;
- /* can somehow not override the extended rules */
- position: relative;
- /* focus styles need to be defined as the item is an li element which normally doesn't get :focus */
-}
-.x-superboxselect ul li.x-superboxselect-item.x-superboxselect-item-focus {
- background-color: #234368;
- box-shadow: 0 0 0 1px #234368;
- color: #FFF;
-}
-.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close {
- border: 0;
- color: inherit;
- cursor: pointer;
- display: inline-block;
- /*font-size: 1px;*/
- outline: 0;
- /* fix firefox dotted outlines */
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
- padding: 0;
- position: absolute;
- top: 0;
- right: 0;
- transition: opacity 0.25s;
- width: 16px;
- height: 100%;
-}
-.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before {
- box-sizing: border-box;
- content: "\f00d";
- color: inherit;
- font-size: 14px;
- margin-top: -7px;
- /* half of the height to center vertically with top 50% */
- position: absolute;
- top: 50%;
- right: 0;
- text-align: center;
- vertical-align: middle;
- width: 16px;
-}
-.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:hover, .x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:focus {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-.x-superboxselect ul li.x-superboxselect-input {
- display: inline-block;
-}
-.x-superboxselect ul li.x-superboxselect-input input {
- background: none;
- border: 0;
- line-height: 20px;
- outline: 0;
-}
-.x-superboxselect.x-superboxselect-stacked li {
- box-sizing: border-box;
- margin: 5px 0 0 0;
- width: 100%;
-}
-.x-superboxselect .x-superboxselect-btns {
- overflow: visible;
- position: absolute;
- top: 0;
- right: 0;
- width: 61px;
- height: 100%;
- /* 61px account for the border of the clear button */
-}
-.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-expand {
- border-radius: 0;
- right: 31px;
- /* account for the border of the clear button */
-}
-.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear {
- border-left: 1px solid #E4E4E4;
- /* we need to style that separator border individually */
-}
-.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before {
- content: "\f00d";
-}
-.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:hover {
- border-left: 1px solid #234368;
-}
-.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:active {
- border-left: 1px solid #1b3451;
-}
-
-.inline-form {
- border: 0 none;
- padding: 15px 15px 0;
-}
-.inline-form label {
- color: #777777;
- display: block;
- font-weight: bold;
- margin-bottom: 2px;
-}
-.inline-form input[type=text],
-.inline-form textarea {
- background-color: #FFF;
- background-image: none;
- border-radius: 3px;
- border: 1px solid #CCCCCC;
- position: relative;
- width: 97%;
-}
-.inline-form input[type=text] {
- font-size: 13px;
- height: 20px !important;
- padding: 5px;
-}
-
-/* cannot find this class anywhere, leaving it for savety, but most likely broken when it appears */
-.modx-tv-description {
- color: #515151;
- font-size: 10px;
- line-height: 1.2;
- margin-top: 2px !important;
-}
-
-/* TODO: is it used? -> exside: yes, but it ha a class of .modx-tv-reset */
-.modx-tv-reload-btn {
- float: right;
- position: absolute;
- right: 19px;
- z-index: 10;
-}
-
-.modx-tv-reload-btn div {
- z-index: 10;
-}
-
-.modx-tv-th label {
- cursor: pointer;
-}
-
-.modx-tv-th .tv-description {
- color: #515151;
- font-size: 11px;
- font-weight: normal;
-}
-
-.x-editor .x-form-check-wrap {
- background-color: #FFF;
-}
-
-/* fix combo on grid editor bug */
-.x-grid-editor .x-form-field-wrap {
- background: #f6f2f7 url("../images/modx-theme/form/combo-bck.png") repeat-x scroll 0 100%;
-}
-
-.x-grid-editor .x-form-field-wrap input {
- background-color: transparent !important;
-}
-
-.x-grid-editor .x-form-field-wrap img {
- background-color: #FFF;
- background-image: url("../images/modx-theme/form/trigger.png");
-}
-
-.x-form-grow-sizer {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.x-form-invalid-msg {
- color: #CF1124;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- margin-top: 2px;
- position: relative;
- min-width: 95%;
-}
-.x-form-invalid-msg:before {
- content: "\f071";
- /* : "\f071" */
- position: absolute;
- top: 3px;
- left: 3px;
- color: inherit;
-}
-
-.x-form-empty-field {
- color: #515151;
-}
-
-.x-grid3 .x-small-editor .x-form-text,
-.x-grid3 .x-small-editor .x-form-field-wrap {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- margin-top: 7px;
- padding: 2px 5px 2px 5px;
-}
-.x-grid3 .x-small-editor .x-form-text .x-form-text,
-.x-grid3 .x-small-editor .x-form-field-wrap .x-form-text {
- margin: 0;
- padding: 0;
-}
-.x-grid3 .x-small-editor .x-form-field-wrap {
- overflow: hidden;
-}
-
-/* the following styles have to be outside of their component blocks as they are inserted at the end of the DOM */
-.x-combo-list {
- border: 0;
- /* set the border on .x-combo-list-inner */
- border-radius: 0 0 3px 3px;
- overflow: visible;
- /* prevent the left/right borders of .x-combo-list-inner to be cut off */
- /* the pagination toolbar inside a combobox has 2 buttons left, text, pagenumberfield, text, 2 buttons */
- /* this information is important to understand the following code with uses sibling selectors for IE8 compat */
- /* the small resize handle bottom right */
-}
-.x-combo-list .x-combo-list-inner {
- background-color: #FFF;
- border: 1px solid #999999;
- /* apply the border here as we move this element 1px left to be in line with the combobox border */
- border-radius: 0 0 3px 3px;
- margin-left: -1px;
- /* we cannot use this on the .x-combo-list element as it's used for position calculation */
- width: 100% !important;
- /* override extjs calculated inline dimensions and stretch to container */
-}
-.x-combo-list .x-combo-list-item {
- padding: 6px 8px;
- color: #515151;
- min-height: 18.2px;
- border: 0 !important;
- border-bottom: 1px solid #E4E4E4 !important;
-}
-.x-combo-list .x-combo-list-item:last-child {
- border-bottom: 0;
-}
-.x-combo-list .x-combo-list-item.x-combo-selected {
- color: #1b3451;
- background-color: #E4E4E4;
- border: 0 !important;
- border-bottom: 1px solid #E4E4E4 !important;
-}
-.x-combo-list .x-combo-list-item.x-combo-list-item-grouped {
- padding: 6px 14px;
-}
-.x-combo-list .x-combo-list-item .x-combo-list-title {
- display: block;
- font-weight: bold;
- margin: 0 0 5px;
-}
-.x-combo-list .x-combo-list-group {
- padding: 6px 8px;
- color: #515151;
- font-weight: bold;
- border-bottom: 1px solid #E4E4E4;
-}
-.x-combo-list .x-toolbar {
- border: 0;
- border-radius: 0 0 3px 3px;
- box-shadow: 0 0 0 1px #234368;
- margin-top: -1px;
- position: relative;
- /* the first button << */
- /* the first text cell, "Page" */
- /* the second text cell, "of X" */
- /* the last regular button >>, yes, I know it's ugly but tell that Microsoft and say thanks for IE8 =) */
- /* the refresh button */
-}
-.x-combo-list .x-toolbar .x-toolbar-ct {
- padding: 5px 0 15px 0;
-}
-.x-combo-list .x-toolbar .x-toolbar-left table {
- margin: 0 auto;
- /* center the buttons regardless of listWidth */
-}
-.x-combo-list .x-toolbar .x-toolbar-cell {
- display: inline-block;
- /* make table cells act as block elements^^, dont look at me... =) */
- /* nested to override normal toolbar rules */
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-btn,
-.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text {
- background: transparent;
- box-shadow: none;
- font-size: 10px;
- line-height: 16px;
- margin-right: 2px;
- min-height: 16px;
- padding: 2px;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-btn {
- padding: 1px;
- transition: color 0.25s;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-over, .x-combo-list .x-toolbar .x-toolbar-cell .x-btn:hover, .x-combo-list .x-toolbar .x-toolbar-cell .x-btn:focus {
- color: #234368;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-click, .x-combo-list .x-toolbar .x-toolbar-cell .x-btn:active {
- color: #1b3451;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-item-disabled {
- color: #515151;
- opacity: 0.4;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-btn button:before {
- line-height: 20px;
- top: 0;
- left: 0;
- right: 0;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text {
- background: #FBFBFB;
- width: 23px;
-}
-.x-combo-list .x-toolbar .xtb-text {
- font-size: 10px;
- line-height: 1;
- margin: 0 auto;
- padding: 0;
- text-align: center;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell:first-child .x-btn {
- margin-left: 1px;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell .xtb-text {
- display: none;
- position: absolute;
- top: 2px;
- right: 0;
- left: 0;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell .xtb-text {
- display: inline-block;
- position: absolute;
- top: auto;
- right: 0;
- bottom: 4px;
- left: 0;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell + .x-toolbar-cell .x-btn {
- margin-right: 0;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell:last-child {
- opacity: 0;
- transition: opacity 0.25s;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn {
- font-size: 12px;
- line-height: 1;
- margin: 0;
- opacity: 0.4;
- padding: 0;
- position: absolute;
- bottom: 2px;
- right: 1px;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn:hover {
- opacity: 1;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button {
- width: 16px;
- height: 16px;
-}
-.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button:before {
- font-size: 12px;
-}
-.x-combo-list .x-toolbar:hover .x-toolbar-cell:last-child {
- opacity: 1;
-}
-.x-combo-list .x-resizable-handle-southeast {
- bottom: 1px;
- right: 3px;
-}
-
-.x-combo-list-hd {
- background-image: url("../images/modx-theme/layout/panel-title-light-bg.gif");
- border-bottom-color: #bcbcbc;
- color: #464646;
-}
-
-.x-combo-list-small {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-/* The date TV calendar styles */
-.x-date-picker,
-.x-date-mp {
- background-color: #FBFBFB;
-}
-.x-date-picker .x-btn,
-.x-date-picker .x-date-mp-ok,
-.x-date-picker .x-date-mp-cancel,
-.x-date-mp .x-btn,
-.x-date-mp .x-date-mp-ok,
-.x-date-mp .x-date-mp-cancel {
- border: 0;
- padding: 5px 10px 5px 10px;
- margin: 0 0 0 7px;
-}
-.x-date-picker .x-btn:first-child,
-.x-date-picker .x-date-mp-ok:first-child,
-.x-date-picker .x-date-mp-cancel:first-child,
-.x-date-mp .x-btn:first-child,
-.x-date-mp .x-date-mp-ok:first-child,
-.x-date-mp .x-date-mp-cancel:first-child {
- margin: 0;
-}
-.x-date-picker .x-btn button,
-.x-date-picker .x-date-mp-ok button,
-.x-date-picker .x-date-mp-cancel button,
-.x-date-mp .x-btn button,
-.x-date-mp .x-date-mp-ok button,
-.x-date-mp .x-date-mp-cancel button {
- font-size: 11px;
- font-style: normal;
- margin: 0;
-}
-.x-date-picker .x-date-mp-ok,
-.x-date-picker .x-date-mp-cancel,
-.x-date-mp .x-date-mp-ok,
-.x-date-mp .x-date-mp-cancel {
- height: 16px;
-}
-
-.x-date-middle {
- padding: 5px 3px 5px 3px;
-}
-
-.x-date-right a,
-.x-date-left a,
-.x-date-mp-ybtn a.x-date-mp-prev,
-.x-date-mp-ybtn a.x-date-mp-next {
- display: inline-block;
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
- margin: 0 auto;
- position: relative;
- transition: opacity 0.25s;
-}
-.x-date-right a:before,
-.x-date-left a:before,
-.x-date-mp-ybtn a.x-date-mp-prev:before,
-.x-date-mp-ybtn a.x-date-mp-next:before {
- box-sizing: border-box;
- color: #234368;
- content: "";
- font-size: 18px;
- position: absolute;
- top: 0;
- left: 0;
- text-align: center;
- vertical-align: middle;
- width: 18px;
- height: 18px;
-}
-.x-date-right a:hover,
-.x-date-left a:hover,
-.x-date-mp-ybtn a.x-date-mp-prev:hover,
-.x-date-mp-ybtn a.x-date-mp-next:hover {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-
-.x-date-right a:before,
-.x-date-mp-ybtn a.x-date-mp-next:before {
- content: "\f0da";
- left: auto;
- right: 0;
-}
-
-.x-date-left a:before,
-.x-date-mp-ybtn a.x-date-mp-prev:before {
- content: "\f0d9";
-}
-
-.x-date-inner {
- margin: 0 auto;
-}
-
-.x-date-inner th {
- border-bottom-color: #E4E4E4;
- color: #515151;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
-}
-
-.x-date-inner td,
-.x-date-mp td {
- background-color: #FFF;
- border: 0;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- padding: 1px;
-}
-
-.x-date-inner a,
-td.x-date-mp-month a,
-td.x-date-mp-year a {
- border-radius: 3px;
- color: #999999;
- font: inherit;
- font-weight: bold;
-}
-
-td.x-date-mp-month a,
-td.x-date-mp-year a {
- margin: 0 3px 0 3px;
-}
-
-.x-date-inner a:hover,
-.x-date-inner .x-date-prevday a:hover,
-.x-date-inner .x-date-nextday a:hover,
-.x-date-inner .x-date-disabled a:hover,
-td.x-date-mp-month a:hover,
-td.x-date-mp-year a:hover {
- background-color: #DCDCDC;
- color: #515151;
-}
-
-.x-date-inner .x-date-disabled a {
- background-color: #E4E4E4;
- color: #999999;
-}
-
-.x-date-inner .x-date-active {
- color: black;
-}
-
-.x-date-inner .x-date-today a {
- border-color: #234368;
-}
-
-.x-date-inner span {
- font-style: normal;
- /* prevent italic font style because of em */
-}
-
-.x-date-inner .x-date-active span,
-.x-date-inner .x-date-selected span {
- font-weight: bold;
-}
-
-.x-date-inner .x-date-selected a,
-td.x-date-mp-sel a {
- background-color: #234368;
- /*background-image: none;*/
- border-color: #FFF;
- color: #FFFFFF;
-}
-
-.x-date-inner .x-date-prevday a,
-.x-date-inner .x-date-nextday a {
- color: #DCDCDC;
-}
-
-.x-date-bottom,
-.x-date-mp-btns {
- border-top: 1px solid #E4E4E4;
- padding: 5px;
-}
-.x-date-bottom td,
-.x-date-mp-btns td {
- background-color: transparent;
- border-top: 1px solid #E4E4E4;
-}
-
-td.x-date-mp-sep {
- border-right: 1px solid #E4E4E4;
-}
-
-.x-date-mmenu {
- background-color: #EEEEEE !important;
-}
-
-.x-date-mmenu .x-menu-item {
- color: black;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.radio-version .x-form-check-wrap .x-form-cb-label {
- display: block;
-}
-.radio-version .x-form-check-wrap .x-form-cb-label .changelog {
- float: right;
-}
-
-.x-form-template-picker .x-form-template-picker-search {
- padding: 0 !important;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-radio-group {
- height: 194px;
- border-radius: 3px;
- background-color: #FFF;
- border: 1px solid #E4E4E4;
- overflow: auto;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item,
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category {
- border-bottom: 1px solid #E4E4E4;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item:last-child,
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category:last-child {
- border-bottom: 0;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label,
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label {
- display: block;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label:before,
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label:before {
- display: none;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-radio:checked + .x-form-cb-label,
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-radio:checked + .x-form-cb-label {
- color: #1b3451;
- background-color: #E4E4E4;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover,
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover {
- color: #1b3451;
- background-color: #E4E4E4;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item {
- padding: 0 !important;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-cb-label {
- padding: 10px 14px;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category {
- padding: 0 !important;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-cb-label {
- padding: 10px 8px;
- font-weight: bold !important;
-}
-.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-item-disabled {
- opacity: 1;
- -moz-opacity: 1;
- filter: alpha(opacity=100);
-}
-
-.x-form-template-preview {
- height: 236px;
- border-radius: 3px;
- background-color: #FFF;
- border: 1px solid #E4E4E4;
- background: url("../images/tp-no-preview.png") no-repeat center center;
- overflow: hidden;
-}
-.x-form-template-preview .x-panel-bwrap,
-.x-form-template-preview .x-panel-body {
- position: relative;
- height: 100%;
-}
-.x-form-template-preview .x-form-template-preview-image {
- height: 100%;
- object-fit: cover;
-}
-.x-form-template-preview .x-form-template-preview-desc {
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- padding: 10px 20px;
- color: #fff;
- background-color: rgba(0, 0, 0, 0.8);
-}
-
-/* needs to come after the button styles! */
-/* tvs panel */
-#modx-tv-tabs {
- width: 100%;
-}
-
-/* top area around the tab strip */
-.x-tab-panel-noborder {
- border: 1px solid #E2E3DE;
- margin: 20px 0 20px;
- overflow: visible;
- /* background behind a button bar */
-}
-.x-tab-panel-noborder .x-tab-panel-body-noborder {
- background-color: #FFF;
- border-radius: 3px;
-}
-
-/* main tabs */
-.x-tab-panel-header,
-.x-tab-panel-footer {
- border: 0;
- position: relative;
-}
-
-.x-tab-panel-header ul.x-tab-strip {
- background-color: transparent !important;
- /* override !important extjs default theme style */
- border: 0;
- /* prevent overflowing border, add to .x-tab-strip-wrap if necessary */
- margin: 0;
- /* was -1px */
- /*width: auto; /* this prevents tabs from triggering the scroll functionality */
- position: relative;
- top: 1px;
-}
-
-.x-tab-panel-header-plain .x-tab-strip-spacer,
-.x-tab-panel-footer-plain .x-tab-strip-spacer {
- /*background-color: $white*/
- border: none;
- height: 0;
-}
-
-.x-tab-panel {
- /* take care of nested tab panels as seen in MIGX */
-}
-.x-tab-panel .x-tab-panel {
- padding-top: 18px;
- /* 15px + 3px for the active tab box-shadow on top */
-}
-.x-tab-panel .x-tab-panel.vertical-tabs-panel {
- padding-top: 0;
- /* do not add that padding to vertical tabs panels */
-}
-.x-tab-panel .x-tab-panel .x-tab-strip-wrap .x-tab-strip {
- background-color: #FBFBFB !important;
- /* override !important rule defined by extjs default theme */
-}
-
-.x-tab-panel-header,
-.x-tab-strip {
- padding-left: 0;
- /* was 1px */
-}
-
-.x-tab-panel-bwrap {
- border-radius: 3px;
- overflow: visible;
- /* prevent cut off box-shadow */
- /* no box-shadows on nested tab panels, MIGX for example */
-}
-.x-tab-panel-bwrap .x-tab-panel-bwrap {
- box-shadow: none;
-}
-
-ul.x-tab-strip li {
- background-color: transparent;
- color: #53595F;
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
- cursor: pointer;
- font: 14px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- line-height: 2.2;
- margin-left: 0;
- padding: 0 12px;
- position: relative;
- z-index: 5;
-}
-html[dir=rtl] ul.x-tab-strip li {
- float: right;
-}
-ul.x-tab-strip li:hover {
- background-color: #E4E4E4;
- color: black;
-}
-ul.x-tab-strip li.x-tab-strip-active {
- color: #234368;
- background-color: #FFF;
- cursor: default;
-}
-.vertical-tabs-header ul.x-tab-strip li.x-tab-strip-active {
- border-radius: 0;
-}
-ul.x-tab-strip li.x-tab-strip-active:hover {
- background-color: #FFF;
-}
-ul.x-tab-strip li.x-tab-edge {
- height: 0;
- visibility: hidden;
- /* display none makes the tab scroll buttons appear somehow */
-}
-
-.x-tab-strip-wrap,
-.x-tab-panel-header,
-.x-tab-panel {
- overflow: visible;
- border: none;
-}
-
-.x-tab-strip-wrap {
- overflow: hidden;
- padding: 2px 0 0;
- margin: 0;
-}
-
-.x-tab-strip-closable {
- padding-right: 15px !important;
-}
-
-.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
- right: 2px;
- background-image: url("../images/modx-theme/tabs/tab-close.gif");
-}
-
-ul.x-tab-strip-top li:first-child {
- margin-left: 0;
-}
-
-ul.x-tab-strip-bottom {
- background-color: #F4F4F4;
- border-top-color: #DFDFDF;
-}
-ul.x-tab-strip-bottom .x-tab-right {
- background-image: url("../images/modx-theme/tabs/tab-btm-inactive-right-bg.gif");
-}
-ul.x-tab-strip-bottom .x-tab-right .x-tab-right {
- background-image: url("../images/modx-theme/tabs/tab-btm-right-bg.gif");
-}
-ul.x-tab-strip-bottom .x-tab-right .x-tab-left {
- background-image: url("../images/modx-theme/tabs/tab-btm-left-bg.gif");
-}
-ul.x-tab-strip-bottom .x-tab-left {
- background-image: url("../images/modx-theme/tabs/tab-btm-inactive-left-bg.gif");
-}
-
-.x-tab-panel-body {
- background-color: #FFF;
- border: 0;
- overflow: visible;
-}
-
-.x-tab-scroller-left,
-.x-tab-scroller-right {
- border: 0;
-}
-.x-tab-scroller-left:before,
-.x-tab-scroller-right:before {
- box-sizing: border-box;
- color: #515151;
- content: "";
- font-size: 28px;
- margin-top: -20px;
- /* half of the height to center vertically with top 50% */
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
- position: absolute;
- top: 50%;
- right: 0;
- text-align: center;
- width: 18px;
- transition: opacity 0.25s;
-}
-.x-tab-scroller-left-over:before,
-.x-tab-scroller-right-over:before {
- color: #234368;
-}
-.x-tab-scroller-left-disabled,
-.x-tab-scroller-right-disabled {
- cursor: default;
-}
-.x-tab-scroller-left-disabled:before,
-.x-tab-scroller-right-disabled:before {
- color: #515151;
- opacity: 0.4;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-
-.x-tab-scroller-left:before {
- content: "\f0d9";
-}
-
-.x-tab-scroller-right:before {
- content: "\f0da";
-}
-
-.x-tab-panel-bbar .x-toolbar,
-.x-tab-panel-tbar .x-toolbar {
- border-color: #DFDFDF;
-}
-
-.x-tab-panel-body-noborder .x-panel-body-noheader:first-child {
- border-top: 0 none;
-}
-
-.x-tab-panel-bbar-noborder .x-toolbar {
- border-top-color: transparent;
-}
-
-.x-tab-panel-tbar-noborder .x-toolbar {
- border-bottom-color: transparent;
-}
-
-/* vertical tabs */
-.vertical-tabs-panel {
- background-color: #FFF;
- margin: 0;
- /* remove top and bottom margin */
- overflow: hidden;
- /* dirty hack to make vertical tabs container stretch to bottom */
- /* this is the area where the TV form fields are displayed */
-}
-.vertical-tabs-panel.wrapped {
- border: 1px solid #E4E4E4;
-}
-.vertical-tabs-panel .vertical-tabs-header {
- background: #FFF !important;
- /* ovverride extjs default theme */
- border-right: 1px solid #E4E4E4 !important;
- /* ovverride extjs default theme */
- float: left;
- margin-bottom: -10000px;
- /* dirty hack to make vertical tabs container stretch to bottom */
- padding-bottom: 10000px !important;
- /* dirty hack to make vertical tabs container stretch to bottom */
- width: 168px !important;
- /* aligns the vertical tabs with the TVs tab left edge, will not work that nicely with non-english langs */
- /* the "categories" text */
-}
-@media screen and (max-width: 960px) {
- .vertical-tabs-panel .vertical-tabs-header {
- width: 80px !important;
- }
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap {
- background-color: transparent;
- /* as vertical tab panels are nested ones too, do not apply the background color for nested tab panels */
- display: inline-block;
- line-height: 0;
- margin: 0;
- /* neutralize the horizontal tab scroller fix */
- padding: 0;
- /* neutralize the horizontal tab scroller fix */
- width: auto !important;
- /* Overrides extjs inline width */
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip {
- border: 0;
- /* overrides extjs default theme */
- display: inline-block;
- top: 0;
- /* overrides extjs default theme style of 1px */
- width: auto;
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li {
- border-right: 1px solid #E4E4E4;
- border-bottom: 1px solid #E4E4E4;
- color: #515151;
- float: none;
- line-height: 1;
- margin: 0;
- /* override default extjs theme value of 2px */
- overflow: hidden;
- padding: 10px 15px 10px 15px;
- transition: background-color 0.25s, color 0.25s;
-}
-@media screen and (max-width: 960px) {
- .vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li {
- font-size: 12px;
- padding: 8px;
- }
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li:hover {
- background: #FFF;
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li.x-tab-strip-active {
- background: #FFF;
- border-color: #234368;
- border-right-color: #FFF;
- box-shadow: none;
- /* removes the active tab strip on top */
- color: #234368;
- width: 168px;
- /* make the active li 1px more wide to cover the containers right border, this makes the right border on inactive tabs necessary as the whole tab-strip wrap gets wider */
-}
-@media screen and (max-width: 960px) {
- .vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li.x-tab-strip-active {
- width: 80px !important;
- }
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li.x-tab-edge {
- height: 0;
- visibility: hidden;
- /* display none makes the tab scroll buttons appear somehow */
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li.x-tab-edge .x-tab-strip-text {
- display: none;
- /* prevent 4px high space at the end of the tab strip */
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip > li .x-tab-strip-text {
- line-height: 1.4;
- padding: 2px 0 2px 0;
- word-break: break-all;
- white-space: pre-wrap;
-}
-.vertical-tabs-panel .vertical-tabs-header h4 {
- background: #FFF;
- /*border-right: 1px solid $borderColor;*/
- border-bottom: 1px solid #E4E4E4;
- color: #53595F;
- font-size: 16px;
- padding: 15px 0 15px 15px;
-}
-.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-spacer {
- display: none;
- /* added by extjs */
-}
-.vertical-tabs-panel .x-tab-panel-bwrap {
- box-shadow: none;
-}
-.vertical-tabs-panel .x-tab-panel-bwrap .x-tab-panel-body {
- border-top: 0;
- width: auto !important;
- /* Overrides extjs inline width */
-}
-.vertical-tabs-panel .x-tab-panel-bwrap .vertical-tabs-body {
- border: 0;
- /* do not add the top border for nested tabs panels */
- padding: 15px 20px 15px 15px;
- /* 20px account for too wide form fields (no border-box) */
-}
-
-.tvs-wrapper.below-content {
- border-radius: 3px;
- margin: 1rem;
-}
-.tvs-wrapper.below-content .vertical-tabs-panel {
- border-radius: 3px;
-}
-@media screen and (max-width: 960px) {
- .tvs-wrapper.below-content {
- margin: 0;
- }
-}
-
-.window-vtabs .x-panel-mr {
- padding-right: 0;
-}
-.window-vtabs .vertical-tabs-panel {
- width: 100% !important;
- margin: 0;
-}
-
-#modx-split-wrapper .x-border-layout-ct {
- background: transparent;
-}
-
-#modx-leftbar-tabs-xcollapsed {
- display: none !important;
-}
-
-#modx-leftbar {
- background-color: #FFF;
- z-index: 0;
- min-width: 288px;
-}
-@media screen and (min-width: 961px) {
- #modx-leftbar {
- max-width: 50%;
- }
-}
-#modx-leftbar .x-toolbar {
- padding: 0 !important;
- border: 0;
-}
-
-#modx-header {
- background: #234368;
- max-width: 70px;
- position: absolute;
- z-index: 2;
- height: 100%;
-}
-
-#modx-navbar {
- font-weight: bold;
- font: normal 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- height: 100%;
- z-index: 20;
- display: flex;
- flex-direction: column;
- padding: 0 5px;
-}
-#modx-navbar .icon {
- color: #FFF;
- font-size: 20px;
- line-height: 20px;
- vertical-align: middle;
-}
-#modx-navbar li,
-#modx-navbar a {
- background: transparent;
- margin: 0;
- padding: 0;
- position: relative;
- width: 100%;
- text-align: center;
-}
-#modx-navbar a {
- cursor: pointer;
- color: #FFF;
- display: block;
- line-height: 12px;
- font-size: 10px;
- text-decoration: none;
-}
-#modx-navbar a .description {
- font-size: 9px;
- opacity: 0.7;
-}
-#modx-navbar a .icon, #modx-navbar a .label, #modx-navbar a .description {
- width: 100%;
- display: block;
-}
-#modx-navbar li a:hover {
- opacity: 0.7;
-}
-#modx-navbar #modx-user-menu a .label, #modx-navbar #modx-user-menu a .description, #modx-navbar #modx-user-menu a #user-username {
- display: none;
-}
-#modx-navbar #modx-manager-search-icon a,
-#modx-navbar #modx-leftbar-trigger a,
-#modx-navbar #modx-user-menu a {
- padding: 12px 0;
-}
-#modx-navbar #modx-topnav {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-#modx-navbar #modx-topnav .top:not(#modx-manager-search-icon) {
- border-top: 1px solid rgba(255, 255, 255, 0.1);
-}
-#modx-navbar #modx-topnav > li:not(#modx-home-dashboard):not(#modx-manager-search-icon):not(#modx-leftbar-trigger) > a {
- display: block;
- position: relative;
- padding: 12px 0;
-}
-#modx-navbar #modx-user-menu {
- margin-top: auto;
-}
-#modx-navbar #modx-user-menu #user-avatar img {
- border-radius: 20px;
- height: 40px;
- width: 40px;
- display: block;
- margin: auto;
-}
-#modx-navbar #modx-user-menu #limenu-user a {
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-#modx-navbar #modx-home-dashboard {
- border-radius: 3px;
- width: 40px;
- height: 40px;
- line-height: 40px;
- padding: 10px;
-}
-#modx-navbar #modx-site-info {
- font-size: 10px;
-}
-#modx-navbar #modx-site-info .site_name {
- color: #FFF;
-}
-#modx-navbar #modx-site-info .full_appname {
- color: #FFF;
-}
-#modx-navbar #modx-site-info > .info-item {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-#modx-leftbar-trigger {
- transition: all 0.2s ease;
-}
-#modx-leftbar-trigger .icon:before {
- content: "\f060";
-}
-#modx-leftbar-trigger.collapsed .icon:before {
- content: "\f061" !important;
-}
-
-#modx-footer .modx-subnav {
- border: 1px solid rgba(255, 255, 255, 0.1);
- box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
- border-radius: 3px;
- background: #FFF;
- display: block;
- box-sizing: border-box;
- list-style: none;
- position: absolute;
- z-index: 10000;
- opacity: 0;
- visibility: hidden;
- transition: all 0.15s ease;
-}
-#modx-footer .modx-subnav li {
- display: block;
- border-radius: 3px;
- background: #FFF;
- margin: 0;
- padding: 0;
- position: relative;
-}
-#modx-footer .modx-subnav li:not(:first-child) {
- border-top: 1px solid #E4E4E4;
-}
-#modx-footer .modx-subnav li:hover:after {
- border-right-color: #E4E4E4;
-}
-#modx-footer .modx-subnav li.sub:after {
- position: absolute;
- color: #999999;
- content: "\f0da";
- font-size: 14px;
- margin-top: 0;
- top: 50%;
- transform: translateY(-50%);
- right: 10px;
-}
-#modx-footer .modx-subnav li a {
- border-radius: 3px;
- background-color: #FFF;
- color: #515151;
- font-weight: bold;
- line-height: 1.5;
- margin: 0;
- padding: 8px 15px;
- text-shadow: none;
- width: 270px;
- display: block;
- text-decoration: none;
- cursor: pointer;
-}
-#modx-footer .modx-subnav li a .icon {
- display: inline-block;
- font-size: 18px;
- opacity: 0.07;
- padding-left: 5px;
-}
-#modx-footer .modx-subnav li a span {
- color: #999999;
- display: block;
- float: none;
- font-size: 12px;
- font-weight: normal;
- line-height: 1.3;
- margin-top: 6px;
- width: 100%;
-}
-#modx-footer .modx-subnav li a:hover {
- background: #E4E4E4;
- border-top-color: #E4E4E4;
- border-bottom-color: #E4E4E4;
- color: #53595F;
-}
-#modx-footer .modx-subnav li a:hover .description {
- color: #707070;
-}
-#modx-footer .modx-subnav li:hover ul ul, #modx-footer .modx-subnav ul li:hover ul ul, #modx-footer .modx-subnav ul ul li:hover ul ul {
- display: none;
-}
-#modx-footer .modx-subnav li:hover ul, #modx-footer .modx-subnav ul li:hover ul, #modx-footer .modx-subnav ul ul li:hover ul, #modx-footer .modx-subnav ul ul ul li:hover ul {
- display: block;
-}
-#modx-footer .modx-subnav.active {
- opacity: 1;
- visibility: visible;
-}
-#modx-footer .modx-subnav .modx-subsubnav {
- border: 1px solid rgba(255, 255, 255, 0.1);
- box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
- border-radius: 3px;
- background: #FFF;
- display: none;
- list-style: none;
- position: absolute;
- left: 295px;
- bottom: 0;
- z-index: 24;
-}
-#modx-footer .modx-subnav-arrow {
- right: 100%;
- border: 12px solid transparent;
- border-right-color: #FFF;
- content: " ";
- position: absolute;
- pointer-events: none;
- margin-top: -6px;
-}
-#modx-footer #language .modx-subsubnav {
- max-height: 86vh;
- overflow-y: auto;
-}
-
-@media screen and (max-width: 960px) {
- #modx-header {
- position: relative;
- min-width: 100%;
- height: auto !important;
- }
-
- #modx-navbar {
- flex-direction: row;
- flex-wrap: wrap;
- }
- #modx-navbar #modx-headnav {
- order: 1;
- width: 50%;
- }
- #modx-navbar #modx-headnav a {
- line-height: initial !important;
- }
- #modx-navbar #modx-headnav img {
- max-width: 35px;
- }
- #modx-navbar #modx-topnav {
- width: 100%;
- order: 0;
- }
- #modx-navbar #modx-user-menu {
- flex-direction: row-reverse;
- flex-wrap: nowrap;
- width: 50%;
- order: 2;
- margin-top: 0;
- }
- #modx-navbar > ul {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- justify-content: center;
- }
- #modx-navbar > ul > li {
- flex-basis: 50px;
- }
- #modx-navbar #modx-site-info {
- display: none;
- }
- #modx-navbar #modx-home-dashboard {
- margin: 0;
- padding: 5px;
- }
-
- #modx-leftbar-trigger .icon {
- padding: 3px 4px;
- }
- #modx-leftbar-trigger .icon:before {
- content: "\f062";
- }
- #modx-leftbar-trigger.collapsed .icon:before {
- content: "\f063" !important;
- }
-
- #modx-footer .modx-subnav {
- min-width: 300px;
- top: 60px !important;
- }
- #modx-footer .modx-subnav .description {
- display: none;
- }
- #modx-footer .modx-subnav li {
- border-radius: 0;
- }
- #modx-footer .modx-subnav li.sub:after {
- display: none;
- }
- #modx-footer .modx-subnav li a {
- width: auto;
- white-space: nowrap;
- }
- #modx-footer .modx-subnav .modx-subsubnav {
- position: initial;
- left: auto;
- box-shadow: none;
- display: block;
- max-height: initial !important;
- overflow-y: initial !important;
- }
- #modx-footer .modx-subnav .modx-subsubnav li > a {
- margin-left: 1rem;
- }
- #modx-footer .modx-subnav-arrow {
- display: none;
- }
- #modx-footer .modx-subnav-wrapper {
- max-height: 400px;
- overflow-y: auto;
- }
-}
-@media (max-height: 520px) {
- #modx-footer .modx-subnav .description {
- display: none;
- }
-}
-/* MODX MANAGER SEARCH */
-#modx-manager-search {
- padding: 10px 10px 5px;
- height: 38px;
- min-width: 100px;
- background: #FFF;
- border-radius: 3px 3px 0 0;
-}
-#modx-manager-search .x-form-text {
- background: none;
-}
-
-#modx-manager-search .x-form-field-wrap {
- background-image: none;
- color: #565353;
- font-size: 12px;
- outline: none !important;
-}
-#modx-manager-search .x-form-field-wrap .x-form-text {
- color: #515151;
- letter-spacing: 0;
- text-shadow: none;
- font-weight: normal;
-}
-#modx-manager-search .x-form-field-wrap .x-form-empty-field {
- color: #6a747a;
-}
-#modx-manager-search .x-form-field-wrap .x-form-trigger {
- display: none;
-}
-
-/* this is an .x-combo-list element with special styles */
-.modx-manager-search-results {
- background: #E4E4E4;
- border-radius: 0 0 3px 3px;
- border: 1px solid #E4E4E4;
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
- position: relative;
- width: 402px !important;
- height: auto !important;
- box-sizing: border-box;
- /* we need the parent selector to override default combobox styles */
-}
-.modx-manager-search-results .loading-indicator {
- background: none;
- color: #515151;
- font-size: 14px;
- margin: 10px 0;
- text-align: center;
-}
-.modx-manager-search-results .loading-indicator:before {
- content: "\f110";
- margin-right: 5px;
-}
-.modx-manager-search-results .x-combo-list-inner {
- background: #FFF;
- border: 0;
- margin: 0;
- overflow: auto;
- width: 100% !important;
-}
-@media screen and (max-width: 960px) {
- .modx-manager-search-results .x-combo-list-inner {
- height: auto !important;
- line-height: 4em;
- }
- .modx-manager-search-results .x-combo-list-inner .section > * {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- }
-}
-.modx-manager-search-results .section {
- border-left: 1px solid #ededed;
- font-size: 12px;
- line-height: 12px;
- margin-left: 100px;
- position: relative;
- width: auto;
- /* change to 100% to enable scrollable overflow */
-}
-.modx-manager-search-results h3,
-.modx-manager-search-results .x-combo-list-item {
- color: #515151;
- line-height: 18px;
- margin: 0;
- padding: 4px 6px;
-}
-.modx-manager-search-results h3 {
- color: #53595F;
- font-size: 11px;
- line-height: 11px;
- font-weight: normal;
- left: -108px;
- position: absolute;
- text-align: right;
- top: 0;
- width: 95px;
-}
-.modx-manager-search-results a {
- cursor: pointer;
- display: inline-block;
- padding-left: 20px;
- position: relative;
- color: inherit;
- text-decoration: none;
-}
-.modx-manager-search-results i {
- color: #234368;
- left: 0;
- position: absolute;
- top: 4px;
-}
-.modx-manager-search-results em {
- font-style: normal;
- opacity: 0.7;
-}
-.modx-manager-search-results .x-combo-list-item {
- overflow: visible;
- white-space: normal;
- /* allow wrapping for longer entries */
-}
-.modx-manager-search-results .x-combo-list-item a {
- display: block;
-}
-.modx-manager-search-results .x-combo-list-item.x-combo-selected, .modx-manager-search-results .x-combo-list-item:hover {
- border: 0;
- background-color: #E4E4E4;
- margin-left: 0;
- z-index: 10;
-}
-.modx-manager-search-results .x-combo-list-item.x-combo-selected h3, .modx-manager-search-results .x-combo-list-item:hover h3 {
- left: 0;
-}
-.modx-manager-search-results .x-combo-list-item.x-combo-selected p, .modx-manager-search-results .x-combo-list-item:hover p {
- border-left-color: transparent;
-}
-.modx-manager-search-results .x-combo-list-item.x-combo-selected a, .modx-manager-search-results .x-combo-list-item:hover a {
- color: #515151;
-}
-.modx-manager-search-results .icon-user {
- background-image: none !important;
-}
-
-/* Breadcrumbs */
-.breadcrumbs .panel-desc {
- margin-top: 0;
-}
-
-.crumb_wrapper {
- background: #FBFBFB;
- border-bottom: 1px solid #E4E4E4;
- border-top: 1px solid #E4E4E4;
- margin-top: 15px;
-}
-.crumb_wrapper .crumbs {
- height: 34px;
- overflow: hidden;
- /* hide the overflow from the oversized arrows */
-}
-.crumb_wrapper .crumbs li {
- color: #53595F;
- float: left;
- font-size: 12px;
- font-weight: normal;
- line-height: 12px;
- padding: 0 0 0 20px;
- position: relative;
- z-index: 1;
-}
-.crumb_wrapper .crumbs li.first {
- padding: 0;
- /* neutralize the normal li padding and give it to the inner element */
- /* the home breadcrumb with the house icon */
-}
-.crumb_wrapper .crumbs li.first:before {
- content: "\f015";
- display: inline-block;
- font-size: 20px;
- line-height: 34px;
- position: absolute;
- top: 0;
- left: 0;
- text-align: center;
- text-indent: 0;
- z-index: 2;
- /* put the icon above the triangle :after element */
-}
-#packages-breadcrumbs .crumb_wrapper .crumbs li.first:before {
- content: "\f1b2";
-}
-.crumb_wrapper .crumbs li.first:hover:before {
- color: #FFFFFF;
-}
-.crumb_wrapper .crumbs li.first:hover {
- background-color: #515151;
-}
-.crumb_wrapper .crumbs li.first .root {
- background-color: transparent;
- box-sizing: content-box;
- /* buttons have border-box and spans content-box, we normalize here */
- display: inline-block;
- line-height: 12px;
- margin: 0;
- /* neutralize the normal li margin */
- padding: 12px;
- text-indent: -999em;
- width: 35px;
- z-index: 3;
- /* do not display the cover element here */
-}
-.crumb_wrapper .crumbs li.first .root:before {
- display: none;
-}
-.crumb_wrapper .crumbs li.first .root:hover {
- background-color: transparent;
-}
-.crumb_wrapper .crumbs li:hover button,
-.crumb_wrapper .crumbs li:hover span,
-.crumb_wrapper .crumbs li:hover span:after {
- background-color: #515151;
- color: #FFFFFF;
-}
-.crumb_wrapper .crumbs li:hover span:after,
-.crumb_wrapper .crumbs li:hover button:after {
- border: 1px solid #FBFBFB;
- border-left-color: #515151;
- border-bottom-color: #515151;
-}
-.crumb_wrapper .crumbs li:hover span:before,
-.crumb_wrapper .crumbs li:hover button:before {
- background-color: #515151;
-}
-.crumb_wrapper .crumbs li:hover + li span:before,
-.crumb_wrapper .crumbs li:hover + li button:before {
- border-left-color: #515151;
-}
-.crumb_wrapper .crumbs li button {
- background-color: transparent;
- border: 0;
- color: #53595F;
- cursor: pointer;
- font: normal 12px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
- line-height: 1;
- text-decoration: none;
-}
-.crumb_wrapper .crumbs li span {
- background-color: #FBFBFB;
-}
-.crumb_wrapper .crumbs li button,
-.crumb_wrapper .crumbs li span {
- display: inline-block;
- margin: 0 0 0 1px;
- padding: 11px 13px 11px 15px;
- position: relative;
- /* to position the pseudo elements */
- /* the cover element, makes up the 2 triangle shapes at the left of each crumb */
- /* the triangle shape and line to the right of each crumb */
-}
-.crumb_wrapper .crumbs li button:before,
-.crumb_wrapper .crumbs li span:before {
- background-color: transparent;
- content: "";
- display: inline-block;
- width: 0;
- height: 0;
- border-top: 50px solid rgba(0, 0, 0, 0);
- /* no transparent, breaks anti-aliasing in FF */
- border-bottom: 50px solid rgba(0, 0, 0, 0);
- /* no transparent, breaks anti-aliasing in FF */
- border-left: 30px solid #FBFBFB;
- padding-right: 3px;
- position: absolute;
- top: 50%;
- left: -33px;
- margin-top: -50px;
- transform: scale(0.99999);
- /* fix blurry edges in FF */
- z-index: -1;
-}
-.crumb_wrapper .crumbs li button:after,
-.crumb_wrapper .crumbs li span:after {
- background-color: #FBFBFB;
- border: 1px solid #DCDCDC;
- border-left: 0;
- border-bottom: 0;
- border-radius: 3px;
- content: "";
- display: inline-block;
- width: 34px;
- height: 34px;
- /* + 2px border = 36px */
- position: absolute;
- top: 0;
- right: -22px;
- transform: scaleX(0.6) rotate(45deg);
- z-index: -1;
-}
-
-.x-toolbar {
- background-color: #F7F7F7;
- background-image: none;
- border-color: #DFDFDF;
-}
-.x-toolbar .xtb-text,
-.x-toolbar .x-toolbar-cell label {
- margin: 0 5px 0 7px;
- padding: 0;
-}
-.x-toolbar .x-item-disabled {
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
-}
-.x-toolbar td.x-toolbar-cell:first-of-type .xtb-text {
- margin-left: 0;
-}
-
-.x-toolbar td,
-.x-toolbar span,
-.x-toolbar input,
-.x-toolbar div,
-.x-toolbar select,
-.x-toolbar label {
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- line-height: 0;
-}
-
-.x-toolbar .x-btn-group-header {
- line-height: 1;
-}
-
-.x-toolbar em.x-btn-split-bottom {
- background-image: url("../images/modx-theme/button/s-arrow-b-noline.gif");
-}
-
-.x-toolbar .x-btn-over em.x-btn-split-bottom,
-.x-toolbar .x-btn-click em.x-btn-split-bottom,
-.x-toolbar .x-btn-menu-active em.x-btn-split-bottom,
-.x-toolbar .x-btn-pressed em.x-btn-split-bottom {
- background-image: url("../images/modx-theme/button/s-arrow-bo.gif");
-}
-
-.ext-ie .x-toolbar-cell .x-form-field-wrap {
- height: 30px;
-}
-
-.x-tbar-page-first {
- background-image: url("../images/modx-theme/grid/page-first.png") !important;
-}
-
-.x-tbar-loading {
- background-image: url("../images/modx-theme/grid/refresh.png") !important;
-}
-
-.x-tbar-page-last {
- background: none !important;
- position: relative;
-}
-.x-tbar-page-last:before {
- content: "\f04e";
- top: 1px;
- left: 1px;
- right: auto;
-}
-
-.x-tbar-page-next {
- background: none !important;
- position: relative;
-}
-.x-tbar-page-next:before {
- content: "\f0da";
- font-size: 18px;
- line-height: 110%;
- left: 1px;
- right: auto;
-}
-
-.x-tbar-page-prev {
- background: none !important;
- position: relative;
-}
-.x-tbar-page-prev:before {
- content: "\f0d9";
- font-size: 18px;
- line-height: 110%;
- left: auto;
- right: 1px;
-}
-
-.x-tbar-loading {
- background: none !important;
- position: relative;
-}
-.x-tbar-loading:before {
- content: "\f01e";
- top: 1px;
- bottom: auto;
-}
-
-.x-tbar-page-first {
- background: none !important;
- position: relative;
-}
-.x-tbar-page-first:before {
- content: "\f04a";
- top: 1px;
- left: auto;
- right: 1px;
-}
-
-.x-paging-info {
- color: #444444;
-}
-
-.x-toolbar-more-icon {
- background-image: url("../images/modx-theme/toolbar/more.gif") !important;
-}
-
-/* bottom toolbars like pagination */
-.x-panel-bbar {
- padding-top: 10px;
-}
-.modx-browser-rte-buttons .x-panel-bbar {
- /* style it like a window footer */
- background-color: #FFF;
- border-top: 1px solid #FFF;
- padding: 5px;
-}
-.modx-browser-rte-buttons .x-panel-bbar .x-toolbar-layout-ct {
- width: auto !important;
- /* override extjs calculated width */
-}
-.x-panel-bbar .x-toolbar {
- background-color: transparent;
- border: 0 none;
- overflow: hidden;
- padding: 2px 0;
- /* override extjs default theme style of 2px 2px */
-}
-.x-panel-bbar .x-toolbar .x-form-text {
- padding: 5px 10px;
-}
-.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number, .x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-size {
- width: 32px;
-}
-.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number {
- margin-right: 3px;
-}
-.x-panel-bbar .x-toolbar .x-btn {
- margin-right: 10px;
- padding: 8px 13px;
-}
-.modx-browser-rte .x-panel-bbar .x-toolbar .x-btn {
- margin-right: 0;
- padding: 10px 15px 10px 15px;
-}
-.x-panel-bbar .x-toolbar .xtb-text {
- margin: 0 3px 0 0;
-}
-
-/* top toolbars */
-.x-panel-tbar {
- overflow: visible;
- /* prevent cut off box-shadows in FF */
- padding-bottom: 2px;
-}
-.x-panel-tbar .x-toolbar {
- /*background-color: #F5F5F5;*/
- border: 0;
- padding: 5px 0;
- overflow: visible;
- /* prevent cut off box-shadows in FF */
-}
-
-.x-panel-mc .x-panel-tbar .x-toolbar {
- background-image: none;
- border: 0;
- padding: 15px 0 7px 0;
-}
-
-.x-panel-tbar-noheader .x-toolbar {
- background-color: transparent;
- background-image: none;
- border: 0;
- padding: 5px 0;
-}
-
-.x-toolbar td,
-.x-toolbar span,
-.x-toolbar input,
-.x-toolbar div,
-.x-toolbar select,
-.x-toolbar label {
- border-radius: 3px;
-}
-
-.x-html-editor-tb .x-btn-text {
- background-image: url("../images/modx-theme/editor/tb-sprite.gif");
-}
-
-.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
- background-color: transparent;
- border-bottom-color: transparent;
-}
-
-.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
- border-top-color: transparent;
-}
-
-#modx-leftbar {
- /* the main container + bg behind the tabs */
- /* the toolbars just below the tabs */
- /* root box containing a context or category */
- /* just the actual nodes */
-}
-#modx-leftbar .x-tab-panel-noborder {
- margin: 0 8px;
-}
-#modx-leftbar .x-tab-panel-bwrap {
- border-radius: 0 0 3px 3px;
- position: relative;
- z-index: 1;
-}
-#modx-leftbar .x-tab-panel-bwrap .x-tab-panel-body-noborder {
- border-radius: 0 0 3px 3px;
- background: #F1F1F1;
-}
-@media screen and (max-width: 960px) {
- #modx-leftbar #modx-leftbar-tabpanel {
- width: auto !important;
- margin: 0 auto;
- padding: 0.5em;
- }
-}
-@media screen and (max-width: 960px) {
- #modx-leftbar {
- position: relative !important;
- top: auto !important;
- left: auto !important;
- width: 100% !important;
- height: auto !important;
- box-shadow: none;
- margin: 0 auto 10px auto;
- }
- #modx-leftbar #modx-leftbar-header {
- display: none;
- }
-}
-@media screen and (max-width: 960px) {
- #modx-leftbar .x-plain-body {
- width: 100% !important;
- height: auto !important;
- }
-}
-#modx-leftbar .x-panel-tbar {
- padding: 0;
-}
-#modx-leftbar .x-toolbar {
- padding: 4px 5px 2px 0;
-}
-#modx-leftbar .x-tree-root-ct {
- padding: 6px;
-}
-#modx-leftbar .x-tree .x-panel-body {
- background: #FFF;
- border-radius: 0;
-}
-
-#modx-tree-usergroup .x-toolbar-left-row {
- display: flex;
- flex-wrap: wrap;
-}
-
-#modx-resource-tree-tbar .x-toolbar-left .x-btn .tree-new-resource,
-#modx-tree-element .x-toolbar-left .x-btn .tree-new-template {
- margin-left: 16px;
-}
-
-#modx-split-wrapper .x-layout-split,
-#modx-split-wrapper #modx-leftbar-tabs-xcollapsed {
- margin-left: -70px;
-}
-
-.x-layout-split {
- overflow: visible;
- width: 8px;
- z-index: 2;
-}
-.x-layout-split:hover {
- background: #999999;
-}
-
-/* style for the collapsed tree expander */
-#modx-leftbar-tabs-xcollapsed .x-layout-mini {
- left: 0;
-}
-#modx-leftbar-tabs-xcollapsed .x-layout-mini:after {
- border-right: 0;
- border-left: 5px solid #515151;
-}
-@media screen and (max-width: 960px) {
- #modx-leftbar-tabs-xcollapsed .x-layout-mini:after {
- border: none;
- }
-}
-#modx-leftbar-tabs-xcollapsed .x-layout-mini:hover:after {
- border-left-color: #234368;
-}
-
-.modx-tree {
- padding: 0;
-}
-#modx-file-tree .modx-tree:first-child {
- padding-top: 4px;
-}
-
-/* icons */
-.x-tree-arrows .x-tree-elbow-plus,
-.x-tree-arrows .x-tree-elbow-minus,
-.x-tree-arrows .x-tree-elbow-end-plus,
-.x-tree-arrows .x-tree-elbow-end-minus {
- background: none;
-}
-.x-tree-arrows .x-tree-elbow-plus:hover,
-.x-tree-arrows .x-tree-elbow-minus:hover,
-.x-tree-arrows .x-tree-elbow-end-plus:hover,
-.x-tree-arrows .x-tree-elbow-end-minus:hover {
- background: #d9d9d9;
- border-radius: 50%;
-}
-
-.x-tree-arrows .x-tree-elbow-plus:before,
-.x-tree-arrows .x-tree-elbow-minus:before,
-.x-tree-arrows .x-tree-elbow-end-plus:before,
-.x-tree-arrows .x-tree-elbow-end-minus:before {
- background: transparent 0 0;
- display: inline-block;
- width: 10px;
- padding-left: 4px;
- padding-right: 4px;
- text-align: center;
- margin: 0;
-}
-
-.x-tree-arrows .x-tree-elbow-plus:before,
-.x-tree-arrows .x-tree-elbow-minus:before,
-.x-tree-arrows .x-tree-elbow-end-plus:before,
-.x-tree-arrows .x-tree-elbow-end-minus:before {
- content: "\f0da";
-}
-
-.x-tree-arrows .x-tree-elbow-minus:before,
-.x-tree-arrows .x-tree-elbow-end-minus:before {
- content: "\f0d7";
-}
-
-/* tree states */
-.x-tree-node-el {
- color: #515151;
- font: normal 14px/2.25 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- padding: 0 8px;
- /* For legacy icons */
- background-repeat: no-repeat;
- background-position: 5px;
-}
-.x-tree-node-el.is_folder {
- background: transparent;
-}
-.x-tree-node-el .x-btn {
- -moz-box-shadow: none;
- box-shadow: none;
-}
-.x-tree-node-el .icon {
- display: inline-block;
- width: 1em;
- font-size: 1.15em;
- line-height: 0.75em;
- vertical-align: -15%;
-}
-.x-tree-node-el a span {
- padding-left: 7px;
-}
-.x-tree-node-el a span span {
- padding-left: 0;
-}
-
-/* tweak icons for FA 5.2.0 */
-.x-tree-node-el .icon-refresh,
-.x-tree-node-el .icon-plus-circle {
- font-size: 1em;
- vertical-align: 0;
-}
-
-.unpublished,
-.unpublished a span {
- color: #b3b3b3 !important;
- font-style: normal;
-}
-.unpublished i.icon,
-.unpublished i.icon-large,
-.unpublished a span i.icon,
-.unpublished a span i.icon-large {
- color: #b3b3b3 !important;
- font-style: normal;
-}
-
-.hidemenu,
-.hidemenu a span {
- color: #999999;
- font-style: italic;
-}
-.hidemenu i.icon,
-.hidemenu i.icon-large,
-.hidemenu a span i.icon,
-.hidemenu a span i.icon-large {
- color: #999999;
- font-style: normal;
-}
-
-.deleted {
- color: rgba(175, 90, 98, 0.5) !important;
-}
-.deleted i.icon,
-.deleted i.icon-large {
- color: rgba(175, 90, 98, 0.5) !important;
- font-style: normal;
-}
-.deleted a span {
- color: rgba(175, 90, 98, 0.5) !important;
- text-decoration: line-through;
- /* deleted files should inherit the text style from published/unpublished and
- not overwrite it */
-}
-
-.element-node-disabled a span {
- color: #aaaaaa;
-}
-
-.x-tree-node {
- position: relative;
- background: #FFF;
- color: #999999;
-}
-.x-tree-node .x-tree-node-disabled a span,
-.x-tree-node .x-tree-node-disabled i.icon,
-.x-tree-node .element-node-disabled a span,
-.x-tree-node .element-node-disabled i.icon {
- color: #aaaaaa;
-}
-
-.element-node-locked a span {
- font-style: inherit;
-}
-
-.modx-tree-node-tool-ct {
- position: absolute;
- top: 0;
- right: 6px;
- bottom: 0;
- line-height: 1.8;
-}
-html[dir=rtl] .modx-tree-node-tool-ct {
- left: 6px;
- right: unset;
-}
-.modx-tree-node-tool-ct .x-btn:hover, .modx-tree-node-tool-ct .x-btn:focus {
- color: #6CB24A !important;
-}
-#modx-gr-tree-resource .modx-tree-node-tool-ct, #modx-ih-resource-tree .modx-tree-node-tool-ct {
- display: none;
-}
-
-/* Direct create buttons for a tree node */
-.x-tree-node-el .modx-tree-node-btn-create {
- position: absolute;
- top: 0;
- right: 6px;
- bottom: 0;
- line-height: 34px;
- opacity: 0;
- transition: opacity 0.4s ease-in;
-}
-html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create {
- left: 6px;
- right: unset;
-}
-.x-tree-node-el .modx-tree-node-btn-create .x-btn {
- color: #515151;
- opacity: 0.4;
- transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
-}
-.x-tree-node-el .modx-tree-node-btn-create .x-btn:hover, .x-tree-node-el .modx-tree-node-btn-create .x-btn:focus {
- opacity: 1;
- color: #6CB24A;
-}
-#modx-gr-tree-resource .x-tree-node-el .modx-tree-node-btn-create, #modx-ih-resource-tree .x-tree-node-el .modx-tree-node-btn-create {
- display: none;
-}
-.x-tree-node-el:hover .modx-tree-node-btn-create, .x-tree-node-el:focus .modx-tree-node-btn-create {
- opacity: 1;
-}
-
-.x-tree-root-ct {
- border-radius: 0;
- overflow: hidden;
- padding: 0 !important;
-}
-
-.tree-pseudoroot-node.x-tree-node-el {
- background-color: #F1F1F1;
- font: 500 14px/3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- position: relative;
- padding: 0 5px;
-}
-.tree-pseudoroot-node.x-tree-node-el a span {
- color: #53595F;
-}
-.tree-pseudoroot-node.x-tree-node-el > .icon {
- color: #53595F;
-}
-.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct {
- line-height: 3;
- opacity: 0.5;
- filter: alpha(opacity=50);
- /* for IE <= 8 */
-}
-.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct .x-btn {
- margin-left: 2px;
-}
-.tree-pseudoroot-node.x-tree-node-el.x-tree-node-collapsed {
- border-bottom: 1px solid #E4E4E4;
-}
-.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded, .tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded span, .tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded > .icon {
- color: #53595F;
-}
-.tree-pseudoroot-node.x-tree-node-el.x-tree-node-over {
- background-color: #E4E4E4;
- color: #53595F;
-}
-.tree-pseudoroot-node.x-tree-node-el + .x-tree-node-ct,
-.tree-pseudoroot-node.x-tree-node-el + div > .x-tree-node-ct {
- background: #FBFBFB;
- overflow-x: auto;
-}
-.tree-pseudoroot-node.x-tree-node-el + .x-tree-node-ct:empty,
-.tree-pseudoroot-node.x-tree-node-el + div > .x-tree-node-ct:empty {
- padding: 0;
-}
-.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct .x-btn {
- color: inherit;
-}
-
-.x-tree-elbow,
-.x-tree-elbow-end {
- display: inline-block;
-}
-
-/* miscellaneous tree styles */
-.x-tree-node-el .x-tree-node-icon {
- display: inline-block;
-}
-
-.x-tree-node-loading .x-tree-node-icon {
- background-image: url("../images/modx-theme/tree/loading.gif") !important;
-}
-
-.x-tree-node-loading a span {
- color: #444444;
- font-style: italic;
-}
-
-.ext-ie .x-tree-node-el input {
- height: 15px;
- width: 15px;
-}
-
-/* accordion header row icons */
-#modx-leftbar .icon,
-.x-tree-node .icon {
- background: none;
- border: 0;
- display: inline-block;
- margin: 0;
- padding: 3px;
- text-align: center;
- opacity: 0.8;
- filter: alpha(opacity=80);
- /* for IE <= 8 */
-}
-#modx-leftbar .icon.icon-folder:before, #modx-leftbar .icon.icon-columns:before, #modx-leftbar .icon.icon-th-large:before, #modx-leftbar .icon.icon-code:before, #modx-leftbar .icon.icon-cogs:before,
-.x-tree-node .icon.icon-folder:before,
-.x-tree-node .icon.icon-columns:before,
-.x-tree-node .icon.icon-th-large:before,
-.x-tree-node .icon.icon-code:before,
-.x-tree-node .icon.icon-cogs:before {
- font-weight: 900;
-}
-#modx-leftbar .icon i,
-.x-tree-node .icon i {
- font-style: normal;
-}
-#modx-leftbar .icon button,
-.x-tree-node .icon button {
- display: none;
-}
-
-.x-tree-node-ct .x-tree-node .icon {
- position: relative;
- top: -1px;
- left: -1px;
-}
-
-/* drag and drop styles */
-.x-tree-node a,
-.x-dd-drag-ghost a,
-.x-tree-node a span,
-.x-dd-drag-ghost a span {
- color: #515151;
-}
-
-.x-tree-node div.x-tree-drag-insert-below {
- border-bottom: 2px solid #a8c3e2 !important;
-}
-
-.x-tree-node div.x-tree-drag-insert-above {
- border-top: 2px solid #a8c3e2 !important;
-}
-
-.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a {
- border-bottom: 2px solid #a8c3e2 !important;
-}
-
-.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a {
- border-top: 2px solid #a8c3e2 !important;
-}
-
-.x-tree-node .x-tree-drag-append a span {
- background-color: #E4E4E4;
- border-color: #E4E4E4;
-}
-
-.x-tree-node .x-tree-node-over {
- background-color: #E4E4E4;
-}
-
-.x-tree-node .x-tree-selected {
- background-color: #D6E7F8;
-}
-
-.x-tree-node .x-tree-expanded {
- color: #234368;
- background-color: #E4E4E4;
-}
-.x-tree-node .x-tree-expanded a {
- color: #234368;
-}
-.x-tree-node .x-tree-expanded a span {
- color: #234368;
-}
-
-.x-tree-drop-ok-append .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-add.gif");
-}
-
-.x-tree-drop-ok-above .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-over.gif");
-}
-
-.x-tree-drop-ok-below .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-under.gif");
-}
-
-.x-tree-drop-ok-between .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-between.gif");
-}
-
-/* legacy icons */
-.icon-rss:before {
- content: "\f09e";
-}
-
-.icon-cal:before,
-.icon-ical:before,
-.icon-ics:before,
-.icon-vcs:before {
- content: "\f133";
-}
-
-.icon-db:before,
-.icon-sql:before {
- content: "\f1c0";
-}
-
-.icon-zip:before,
-.icon-tar:before,
-.icon-tgz:before,
-.icon-gz:before,
-.icon-bz2:before,
-.icon-rar:before,
-.icon-7z:before,
-.icon-dmg:before,
-.icon-iso:before {
- content: "\f1c6";
-}
-
-.icon-bk:before,
-.icon-bak:before,
-.icon-backup:before {
- content: "\f1da";
-}
-
-.icon-jpg:before,
-.icon-jpeg:before,
-.icon-gif:before,
-.icon-png:before,
-.icon-bmp:before,
-.icon-tiff:before,
-.icon-svg:before {
- content: "\f1c5";
-}
-
-.icon-bat:before,
-.icon-scr:before,
-.icon-sh:before {
- content: "\f120";
-}
-
-.icon-txt:before,
-.icon-log:before {
- content: "\f15c";
-}
-
-.icon-aac:before,
-.icon-mp3:before,
-.icon-ogg:before,
-.icon-wma:before,
-.icon-m4a:before,
-.icon-flac:before,
-.icon-wav:before,
-.icon-aif:before,
-.icon-aiff:before {
- content: "\f1c7";
-}
-
-.icon-avi:before,
-.icon-mpg:before,
-.icon-mpeg:before,
-.icon-mov:before,
-.icon-mp4:before,
-.icon-m4v:before,
-.icon-3gp:before,
-.icon-flv:before,
-.icon-fla:before,
-.icon-swf:before,
-.icon-wmv:before {
- content: "\f1c8";
-}
-
-.icon-access:before,
-.icon-htaccess:before {
- content: "\f023";
-}
-
-.icon-php:before,
-.icon-cfm:before,
-.icon-rb:before,
-.icon-as:before,
-.icon-java:before,
-.icon-jar:before {
- content: "\f1c9";
-}
-
-.icon-doc:before,
-.icon-docx:before {
- content: "\f1c2";
-}
-
-.icon-csv:before,
-.icon-xls:before,
-.icon-xlsx:before {
- content: "\f1c3";
-}
-
-.icon-ppt:before,
-.icon-pptx:before {
- content: "\f1c4";
-}
-
-.icon-pdf:before {
- content: "\f1c1";
-}
-
-.icon-html:before,
-.icon-htm:before,
-.icon-xml:before {
- content: "\f1c9";
-}
-
-.icon-js:before,
-.icon-json:before,
-.icon-coffeescript:before {
- content: "\f1c9";
-}
-
-.icon-css:before,
-.icon-scss:before,
-.icon-less:before,
-.icon-styl:before {
- content: "\f1c9";
-}
-
-.icon-action {
- background-image: url("../images/restyle/icons/application_osx_terminal.png") !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-action.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-action:before {
- content: " ";
-}
-
-.icon-namespace {
- background-image: url("../images/restyle/icons/computer.png") !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-namespace.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-namespace:before {
- content: " ";
-}
-
-.icon-list-new {
- background-image: url("../images/restyle/icons/layout_add.png") !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-list-new.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-list-new:before {
- content: " ";
-}
-
-.icon-mark-active {
- background-image: url("../images/restyle/icons/layout_edit.png") !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-mark-active.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-mark-active:before {
- content: " ";
-}
-
-.icon-mark-complete {
- background-image: url("../images/restyle/icons/layout_header.png") !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-mark-complete.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-mark-complete:before {
- content: " ";
-}
-
-.icon-package {
- background-image: url("../images/restyle/icons/package.png") !important;
- padding-right: 5px !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-package.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-package:before {
- content: " ";
-}
-
-.icon-locked {
- background-image: url("../images/restyle/icons/lock_edit.png") !important;
- background-repeat: no-repeat !important;
- background-position: center !important;
- min-width: 16px;
- min-height: 16px;
- vertical-align: middle;
-}
-.icon-locked.x-tree-node-el {
- background-position: 5px 5px !important;
-}
-.icon-locked:before {
- content: " ";
-}
-
-.icon-lock {
- content: "\f023";
-}
-
-#modx-resource-tree-panel .x-accordion-hd {
- background-position: 0 0;
-}
-
-#modx-element-tree-panel .x-accordion-hd {
- background-position: 0 -32px;
-}
-
-#modx-file-tree-panel .x-accordion-hd {
- background-position: 0 -64px;
-}
-
-#modx-static-page-settings .x-accordion-hd {
- background-position: 0 -96px;
-}
-
-/*
-.x-tree .x-panel-body {
- background-color:$white
- border:1px solid #E4E4E4;
-}*/
-.x-tree-node-el .x-tree-node-icon {
- display: inline-block;
-}
-
-.x-tree-node-loading .x-tree-node-icon {
- background-image: url("../images/modx-theme/tree/loading.gif") !important;
-}
-
-.x-tree-node-loading a span {
- color: #444444;
- font-style: italic;
-}
-
-/* icons for the various tree elements */
-.tree-context:before {
- content: "\f0ac";
-}
-
-.tree-resource:before {
- content: "\f15b";
-}
-
-.tree-static-resource:before {
- content: "\f15c";
-}
-
-.tree-weblink:before {
- content: "\f0c1";
-}
-
-.tree-symlink:before {
- content: "\f0c5";
-}
-
-.parent-resource:before,
-.icon-folder:before {
- content: "\f07b";
-}
-
-.x-tree-node-expanded .parent-resource:before,
-.x-tree-node-expanded .icon-folder:before {
- content: "\f07c";
-}
-
-.locked-resource:before {
- content: "\f023" !important;
-}
-
-.ext-ie .x-tree-node-el input {
- height: 15px;
- width: 15px;
-}
-
-.x-tree-root-ct {
- border-radius: 0;
- overflow: hidden;
- padding: 0 !important;
-}
-
-.x-tree-root-node {
- margin: 0;
-}
-
-.x-tree-node {
- color: #515151;
-}
-
-.x-tree-node a,
-.x-dd-drag-ghost a {
- color: #515151;
-}
-
-.x-tree-node a span,
-.x-dd-drag-ghost a span {
- color: #515151;
-}
-
-.x-tree-node .x-tree-node-disabled a span {
- color: #d1d1d1;
-}
-
-.x-tree-node div.x-tree-drag-insert-below {
- border-bottom-color: #686868;
-}
-
-.x-tree-node div.x-tree-drag-insert-above {
- border-top-color: #686868;
-}
-
-.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a {
- border-bottom-color: #686868;
-}
-
-.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a {
- border-top-color: #686868;
-}
-
-.x-tree-node .x-tree-drag-append a span {
- background-color: #DFDFDF;
- border-color: #E4E4E4;
-}
-
-.x-tree-drop-ok-append .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-add.gif");
-}
-
-.x-tree-drop-ok-above .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-over.gif");
-}
-
-.x-tree-drop-ok-below .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-under.gif");
-}
-
-.x-tree-drop-ok-between .x-dd-drop-icon {
- background-image: url("../images/modx-theme/tree/drop-between.gif");
-}
-
-#modx-leftbar-header {
- height: 57px;
- display: flex;
- align-items: center;
- justify-content: left;
- padding: 0.67rem 1rem;
- box-sizing: border-box;
- color: #53595F;
-}
-#modx-leftbar-header img {
- max-width: 33%;
- max-height: 100%;
-}
-#modx-leftbar-header a {
- color: #53595F;
- text-decoration: none;
- font: normal 25px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-size: 16px;
-}
-#modx-leftbar-header a:hover, #modx-leftbar-header a:focus {
- color: #234368;
-}
-#modx-leftbar-header a:after {
- content: "\f06e";
- padding: 5px;
- font-size: 14px;
- opacity: 0.5;
-}
-#modx-leftbar-header img + a {
- padding-left: 0.67rem;
-}
-
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip-wrap {
- margin: 0;
- padding: 0;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip {
- display: flex;
- width: 100%;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li {
- margin-left: 0;
- float: none;
- flex-grow: 1;
- text-align: center;
- box-sizing: border-box;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li#modx-leftbar-tabpanel__modx-trash-link {
- border-right: none;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li:hover {
- color: #234368;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active {
- background: #F1F1F1;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:after {
- box-shadow: none;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:before {
- background: transparent;
-}
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-clear,
-#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-tab-edge {
- display: none;
-}
-
-#modx-leftbar-tabpanel__modx-trash-link .icon {
- opacity: 0.5;
-}
-#modx-leftbar-tabpanel__modx-trash-link .icon:hover {
- color: #CF1124;
-}
-#modx-leftbar-tabpanel__modx-trash-link.active .icon {
- opacity: 1;
-}
-
-.modx-browser-rte {
- background: #FFF;
-}
-
-.modx-browser-tree {
- background: #FFF;
- border-radius: 3px;
-}
-.x-window .modx-browser-tree, .modx-browser-rte .modx-browser-tree {
- border-right: 1px solid #E4E4E4;
- border-radius: 0;
- box-shadow: none;
-}
-
-.modx-browser-view-ct {
- background: #FFF;
- border-radius: 3px;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-.x-window .modx-browser-view-ct, .modx-browser-rte .modx-browser-view-ct {
- border-radius: 0;
- box-shadow: none;
-}
-
-.modx-browser-thumb-wrap {
- float: left;
- margin: 5px;
- overflow: hidden;
- cursor: pointer;
- user-select: none;
- text-align: center;
-}
-.modx-browser-thumb-wrap.x-view-over .modx-browser-placeholder {
- color: #515151;
-}
-.modx-browser-thumb-wrap.x-view-over .modx-browser-thumb {
- border: 1px dotted #515151;
-}
-.modx-browser-thumb-wrap.x-view-selected .modx-browser-placeholder {
- color: #234368;
-}
-.modx-browser-thumb-wrap.x-view-selected .modx-browser-thumb {
- border: 1px solid #234368;
-}
-
-.modx-browser-thumb {
- background: #FFF;
- border: 1px solid #E4E4E4;
- height: 100px;
- line-height: 100px;
- padding: 5px;
- width: 100px;
-}
-.modx-browser-thumb img {
- max-width: 100%;
- vertical-align: middle;
- background-color: #CCCCCC;
- background-image: url("../images/modx-theme/transparency-pattern.png");
-}
-
-.modx-browser-placeholder {
- font-size: 14px;
- color: #DCDCDC;
-}
-.details .modx-browser-placeholder {
- font-weight: bold;
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100px;
- width: 100%;
- font-size: 24px;
- overflow: hidden;
-}
-
-.modx-browser-list-item {
- padding: 0 5px 0 5px;
-}
-.modx-browser-list-item > span {
- background-position: center left !important;
- border-bottom: 1px solid #E4E4E4;
- clear: both;
- display: block;
- min-height: 16px;
- padding: 5px 0 5px 20px;
- position: relative;
-}
-.modx-browser-list-item > span:before {
- font-size: 14px;
- position: absolute;
- left: 2px;
-}
-.modx-browser-list-item > span span {
- display: inline-block;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-.modx-browser-list-item > span span.file-size {
- float: right;
- width: 13%;
-}
-.modx-browser-list-item > span span.image-size {
- float: right;
- width: 13%;
-}
-.modx-browser-list-item.x-view-over > span {
- background: #FBFBFB;
-}
-.modx-browser-list-item.x-view-selected > span {
- background: #FBFBFB;
- color: #234368;
-}
-
-.modx-browser-view-ct .loading-indicator {
- background-position: left;
- background-repeat: no-repeat;
- font-size: 11px;
- margin: 10px;
- padding-left: 20px;
-}
-
-.modx-browser-pathbbar {
- /* yeah, don't blame me that the toolbar is a table */
-}
-.modx-browser-pathbbar table,
-.modx-browser-pathbbar tbody,
-.modx-browser-pathbbar tr,
-.modx-browser-pathbbar td {
- display: block;
-}
-.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row {
- /* we need 4 classes to override the !important height of extjs default theme */
-}
-.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell {
- position: relative;
-}
-.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before {
- content: "\f328";
- font-size: 14px;
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
- position: absolute;
- top: 50%;
- left: 0;
- text-align: center;
- width: 30px;
-}
-.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row .modx-browser-filepath {
- background: transparent;
- box-sizing: border-box;
- border-radius: 0;
- border: 0;
- border-top: 1px solid #E4E4E4;
- margin: 0 !important;
- padding-left: 30px;
- /* for the icon */
- width: 100%;
- height: 32px !important;
-}
-
-.modx-browser-details-ct {
- background: #FFF;
- border-radius: 3px;
-}
-.x-window .modx-browser-details-ct, .modx-browser-rte .modx-browser-details-ct {
- border-left: 1px solid #E4E4E4;
- border-radius: 0;
- box-shadow: none;
-}
-
-.modx-browser-detail-thumb {
- color: black;
- cursor: default;
- padding: 5px;
- position: relative;
-}
-.modx-browser-detail-thumb.preview {
- cursor: pointer;
-}
-.modx-browser-detail-thumb.preview:before {
- content: "\f002";
- font-size: 56px;
- margin-top: -28px;
- /* half of the height to center vertically with top 50% */
- opacity: 0;
- filter: alpha(opacity=0);
- /* for IE <= 8 */
- position: absolute;
- top: 50%;
- left: 0;
- text-align: center;
- width: 100%;
- text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
- transition: opacity 0.25s;
-}
-.modx-browser-detail-thumb.preview:hover:before {
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
-}
-.modx-browser-detail-thumb img {
- display: block;
- margin: 0 auto;
- width: 100%;
- max-width: 100%;
- height: auto;
- background-color: #CCCCCC;
- background-image: url("../images/modx-theme/transparency-pattern.png");
-}
-
-.modx-browser-details-info {
- border-top: 1px solid #E4E4E4;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- padding: 15px;
- text-align: left;
-}
-.modx-browser-details-info b {
- color: #53595F;
- display: block;
- margin-bottom: 2px;
-}
-.modx-browser-details-info span {
- display: block;
- margin-bottom: 10px;
-}
-
-.modx-browser-fullview {
- text-align: center;
-}
-.modx-browser-fullview img {
- display: block;
- margin: 0 auto;
- width: 100%;
- max-width: 100%;
- height: auto;
- background-color: #CCCCCC;
- background-image: url("../images/modx-theme/transparency-pattern.png");
-}
-
-@media screen and (max-width: 960px) {
- .modx-browser {
- top: 15px !important;
- max-height: 100% !important;
- overflow-y: scroll;
- }
-
- .modx-browser-panel {
- width: 100% !important;
- min-height: 700px;
- margin: 15px 0 !important;
- background-color: #FFF !important;
- }
-
- .modx-browser-tree, .modx-browser-view-ct {
- width: 35% !important;
- max-width: 35% !important;
- padding: 0 5px;
- display: inline-block !important;
- position: relative !important;
- float: left;
- left: 0 !important;
- }
-
- .modx-browser-details-ct {
- width: 20% !important;
- max-width: 20% !important;
- padding: 0 5px;
- display: inline-block !important;
- position: relative !important;
- float: left;
- left: 0 !important;
- }
-
- .modx-browser-tree *, .modx-browser-view-ct *, .modx-browser-details-ct * {
- font-size: 12px !important;
- }
-
- .modx-browser-tree input, .modx-browser-view-ct input, .modx-browser-details-ct input {
- padding: 5px !important;
- }
-
- .modx-browser-tree .x-toolbar-ct tbody tr td {
- display: table-cell;
- }
-
- .modx-browser .x-panel-tbar-noheader, .modx-browser .x-toolbar, .modx-browser-view-ct .x-panel-tbar-noheader, .modx-browser-view-ct .x-panel-tbar, .modx-browser-view-ct .x-panel-tbar .x-toolbar, .modx-browser-view-ct .x-panel-body {
- width: 100% !important;
- }
-
- .modx-browser-view-ct .x-panel-tbar .x-toolbar-cell label {
- line-height: 2.2;
- }
-
- .modx-browser-thumb-wrap {
- width: 24%;
- margin: 5px;
- padding: 5px;
- }
-
- .modx-browser-thumb {
- max-width: 100%;
- height: 25px;
- line-height: 25px;
- overflow: hidden;
- padding: 0;
- }
-
- .modx-browser-thumb img {
- max-width: 100%;
- }
-
- .modx-browser-placeholder {
- height: 50px;
- }
-
- .modx-browser-details-info {
- padding: 5px;
- }
-}
-.x-window {
- box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
- border-radius: 3px;
- opacity: 0;
- filter: alpha(opacity=0);
- /* for IE <= 8 */
- overflow: visible;
- /* prevent box-shadow from tabs and panel being cut off */
- -webkit-backface-visibility: hidden;
- /* prevent flickering during animation */
- transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
- transform: scale(1) translate3d(0, 0, 0);
- /* the following 3 classes are responsible for the CSS3 window animations */
- /* Make sure MODx.msg windows are displayed in IE8 */
- /* the window header bar */
- /* styles for a collapsed window */
- /* the window content wrapper */
- /* .x-panel-bwrap */
- /* the window tab strip if available */
- /* the window form / content container */
- /* The window bottom container */
- /* the console window */
- /* message dialog windows */
-}
-.x-window.anim-ready {
- transform: scale(0.7) translate3d(0, 0, 0);
-}
-.x-window.zoom-in {
- opacity: 1;
- filter: alpha(opacity=100);
- /* for IE <= 8 */
- transform: scale(1) translate3d(0, 0, 0);
-}
-.x-window.zoom-out {
- transform: scale(1.3) translate3d(0, 0, 0);
- opacity: 0;
- filter: alpha(opacity=0);
- /* for IE <= 8 */
-}
-.ext-ie8 .x-window.x-window-dlg {
- filter: alpha(opacity=100);
- /* for IE <= 8 */
-}
-.x-window .x-window-tl,
-.x-window .x-window-tr {
- padding: 0;
-}
-.x-window .x-window-tc {
- z-index: 1;
-}
-.x-window .x-window-tc .x-window-header {
- background-color: #F4F4F4;
- border-bottom: 1px solid #F4F4F4;
- border-radius: 3px 3px 0 0;
- color: #515151;
- font: normal 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
- padding: 8px;
- text-align: center;
-}
-.x-window .x-window-tc .x-window-header-text {
- padding-left: 24px;
-}
-.x-window.x-panel-collapsed .x-window-tl {
- border-bottom: 1px solid #DCDCDC;
-}
-.x-window.x-panel-collapsed .x-window-header {
- border-radius: 3px;
-}
-.x-window .x-window-bwrap {
- overflow: visible;
- /* prevent box-shadow from tabs and panel being cut off */
- /* the window main container */
-}
-.x-window .x-window-bwrap .x-window-ml,
-.x-window .x-window-bwrap .x-window-mr {
- padding: 0;
-}
-.x-window .x-window-bwrap .x-window-mc {
- border: 0;
- padding: 0;
-}
-.x-window .x-window-bwrap .x-window-mc .x-panel-ml,
-.x-window .x-window-bwrap .x-window-mc .x-panel-mr,
-.x-window .x-window-bwrap .x-window-mc .x-panel-mc,
-.x-window .x-window-bwrap .x-window-mc .x-panel-tl,
-.x-window .x-window-bwrap .x-window-mc .x-panel-bl {
- background: transparent;
- border: 0;
- padding: 0;
-}
-.x-window .x-window-body {
- background-color: #FFF !important;
- /* override extjs default theme transparent !important style from .x-window-plain */
- border: 0;
- /* override extjs default theme border for .x-window-plain */
- overflow-y: auto;
- padding: 15px;
-}
-.x-window.modx-window .x-window-body {
- padding-top: 0;
-}
-.x-window.modx-window.modx-console .x-window-body, .x-window.modx-window.modx-alert .x-window-body, .x-window.modx-window.modx-confirm .x-window-body, .x-window.modx-window .x-window-with-tabs .x-window-body {
- padding-top: 15px;
-}
-.x-window.modx-window .x-window-tc .x-window-header-text {
- padding-left: 64px;
-}
-.x-window .x-panel-bwrap {
- background: #FFF;
- padding: 0;
- /* inner panel body wraps */
-}
-.x-window .x-panel-bwrap .x-panel-bwrap {
- background: transparent;
- box-shadow: none;
- overflow: visible;
- padding: 0;
-}
-.x-window .x-window-with-tabs .x-window-body {
- background-color: #FBFBFB !important;
- /* override !important rule from above */
- overflow: visible;
- /* prevent box-shadow from tabs and panel being cut off */
-}
-.x-window .x-window-with-tabs .x-panel-bwrap {
- background: transparent;
- box-shadow: none;
- overflow: visible;
- padding: 0;
-}
-.x-window form.x-panel-body:first-of-type {
- overflow: visible !important;
- /* prevent box-shadow from tabs and panel being cut off */
-}
-.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap {
- padding-top: 3px;
- /* account for the 3px boxshadow for active tabs */
-}
-.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap .x-tab-strip {
- border: 0;
- /* override extjs default theme of 1px solid white */
-}
-.x-window .x-tab-panel-bwrap {
- background: #FFF;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
- padding: 10px;
-}
-.x-window .x-tab-panel-bwrap .x-tab-panel-body {
- overflow-y: auto;
- /* tabs stay, content scrolls, but only show when necessary */
-}
-.x-window .x-tab-panel-bwrap .x-tab-panel-body .modx-panel .x-panel-bwrap {
- padding: 0;
-}
-.x-window .x-window-bl,
-.x-window .x-window-br {
- padding: 0;
-}
-.x-window .x-window-bc .x-window-footer {
- background-color: #FFF;
- border-top: 1px solid #FFF;
- border-radius: 0 0 3px 3px;
- box-sizing: border-box;
- /* don't count padding in width: 100%; */
- padding: 5px 15px 15px;
- /* make sure the padding also stays when maximized */
- width: 100% !important;
- /* override fixed width set by extjs */
-}
-.x-window.x-window-maximized {
- margin: 0;
-}
-.x-window.x-window-maximized .x-window-tc {
- padding: 0;
-}
-.x-window.x-window-maximized .x-window-mc {
- padding: 0;
-}
-.x-window.modx-console .modx-console-text {
- background-color: #FFF;
- border: none;
- font: 12px SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
- height: auto !important;
- /* override extjs default theme */
-}
-.x-window.modx-console .debug {
- color: #515151;
-}
-.x-window.modx-console .success {
- color: #6CB24A;
-}
-.x-window.modx-console .warn {
- color: #4A90E2;
-}
-.x-window.modx-console .error {
- color: #CF1124;
-}
-.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell {
- /*
- Note that because the MessageBox class in Extjs 3 is a singleton,
- it can not be extended or overriden and is very limited in its
- configuration options. Thus the fragile method here of selecting
- the button by dom position. Ext always outputs all 4 buttons into
- the markup and just hides ones not in use for a particular window type.
- For the time-being, the primary button will always be the
- first ("ok") or second ("yes", typically our save button) index.
- */
-}
-/* .x-window */
-/* the progress bar (ex. saving a resource), usually in a window too */
-.x-progress-wrap {
- width: 100% !important;
- border: 1px solid #6CB24A;
-}
-.x-progress-wrap .x-progress-inner {
- background-color: #fdfefd;
-}
-.x-progress-wrap .x-progress-bar {
- background-color: #6CB24A;
- border: 0;
-}
-.x-progress-wrap .x-progress-text {
- color: #FFFFFF;
- font-size: 11px;
- font-weight: bold;
-}
-.x-progress-wrap .x-progress-text-back {
- color: #515151;
-}
-
-/* the window modal mask, but also the mask that covers a grid when reloading for example */
-.ext-el-mask {
- background-color: #FFF;
- opacity: 0;
- filter: alpha(opacity=0);
- /* for IE <= 8 */
- transition: opacity 0.25s;
- /*z-index: 10;*/
- /* this is handeled by extjs and set to 9000 on show */
-}
-.ext-el-mask.fade-in {
- opacity: 0.5;
- filter: alpha(opacity=50);
- /* for IE <= 8 */
-}
-.x-masked .ext-el-mask {
- opacity: 0.5;
- filter: alpha(opacity=50);
- /* for IE <= 8 */
- z-index: 9;
- /* extjs standard is 100, 10 prevents overlapping the topnav dropdowns */
-}
-
-.ext-mb-icon {
- display: inline-block;
- float: left;
- position: relative;
- width: 40px !important;
- /* override extjs default theme style */
-}
-.ext-mb-icon:before {
- color: #4A90E2;
- content: "";
- font-size: 32px;
- position: absolute;
- top: 50%;
- transform: translateY(-50%);
- /* center vertically with top 50% */
- right: 0;
- text-align: left;
- width: 100%;
-}
-.ext-mb-icon.ext-mb-info:before {
- color: #4A90E2;
- content: "\f05a";
-}
-.ext-mb-icon.ext-mb-question:before {
- color: #4A90E2;
- content: "\f059";
-}
-.ext-mb-icon.ext-mb-warning:before {
- color: #F0B429;
- content: "\f071";
-}
-.ext-mb-icon.ext-mb-error:before {
- color: #CF1124;
- content: "\f057";
-}
-
-.ext-mb-content {
- display: block;
- margin-left: 0 !important;
-}
-
-/* this is the little box showing if a grid is locked, refreshing etc. */
-.ext-el-mask-msg {
- background-color: #FFF;
- border: 1px solid #DCDCDC;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
- border-radius: 3px;
- padding: 5px;
- z-index: 10;
- /* the mask has 9, prevents overlapping the topnav dropdowns */
-}
-
-.ext-el-mask-msg div {
- background-color: transparent;
- border: 0;
- color: #515151;
- cursor: default;
- /* no need to show a wait cursor here */
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-.ext-el-mask-msg .modx-lockmask div {
- color: #CF1124;
-}
-
-/* the loading indicator when refreshing a grid or component */
-.x-mask-loading div {
- background-image: url("../images/modx-theme/grid/loading.gif");
-}
-
-/* dashboard stuff */
-.dashboard {
- display: flex;
- flex-flow: row wrap;
- margin: -0.5rem 0 0 -1rem !important;
- padding: 0 15px;
-}
-.dashboard .dashboard-button {
- padding: 5px 20px;
- border-radius: 3px;
- border: 1px solid transparent;
- background: #FFF;
- text-decoration: none;
- display: inline-block;
-}
-.dashboard .dashboard-button-green {
- background: #6CB24A;
- color: #FFF;
- border-color: #6CB24A;
-}
-.dashboard .dashboard-button[disabled] {
- background-color: #E4E4E4;
-}
-.dashboard .dashboard-button:not([disabled]):hover {
- border-color: #E4E4E4;
-}
-.dashboard .dashboard-block {
- margin: 1rem 0 0 1rem;
-}
-.dashboard .dashboard-block:not(.headless) {
- background-color: #FFF;
- border-radius: 3px;
-}
-.dashboard .dashboard-block.headless .body {
- padding: 0;
- overflow: visible;
- max-height: 100%;
-}
-.dashboard .dashboard-block.quarter {
- width: calc(25% - 1rem);
-}
-.dashboard .dashboard-block.one-third {
- width: calc(33.33332% - 1rem);
-}
-.dashboard .dashboard-block.half {
- width: calc(50% - 1rem);
-}
-.dashboard .dashboard-block.two-thirds {
- width: calc(66.66668% - 1rem);
-}
-.dashboard .dashboard-block.three-quarters {
- width: calc(75% - 1rem);
-}
-.dashboard .dashboard-block.full {
- width: calc(100% - 1rem);
-}
-.dashboard .dashboard-block.double {
- width: calc(100% - 1rem);
- min-height: 250px;
- margin-top: 2rem;
-}
-.dashboard .dashboard-block.double .body {
- max-height: 100%;
- height: 100%;
-}
-.dashboard .dashboard-block.double .dashboard-buttons {
- height: 100%;
-}
-.dashboard .dashboard-block.double .dashboard-button {
- align-items: center;
-}
-.dashboard .dashboard-block h4 {
- color: #515151;
- font-size: 13px;
- padding-bottom: 2px;
-}
-.dashboard .dashboard-block em {
- font-style: italic;
-}
-.dashboard .dashboard-block strong {
- font-weight: bold;
-}
-.dashboard .dashboard-block ul {
- list-style: circle outside;
- padding: 0 0 0 15px;
-}
-.dashboard .dashboard-block img {
- max-width: 100%;
-}
-.dashboard .dashboard-block .draggable {
- cursor: move;
-}
-.dashboard .dashboard-block .action-buttons {
- margin-left: auto;
- margin-right: 10px;
-}
-.dashboard .dashboard-block .action-buttons button {
- border: none;
- cursor: pointer;
- opacity: 0;
- background: transparent;
-}
-.dashboard .dashboard-block .action-buttons button.hidden {
- display: none;
-}
-.dashboard .dashboard-block .body {
- color: #444444;
- font-size: 12px;
- height: auto;
- max-height: 300px;
- overflow: auto;
- padding: 10px;
- position: relative;
-}
-.dashboard .dashboard-block .body .action-buttons {
- position: absolute;
- top: 20px;
- right: -5px;
-}
-.dashboard .dashboard-block .title-wrapper {
- border-bottom: 1px solid #F0F0F0;
- display: flex;
- flex-wrap: nowrap;
- align-items: center;
-}
-.dashboard .dashboard-block .title-wrapper .title {
- border-radius: 3px;
- background: #FFF;
- color: #515151;
- font-size: 12px;
- font-weight: bold;
- margin: 0;
- padding: 15px 10px;
- zoom: 1;
- flex-grow: 1;
-}
-.dashboard .dashboard-block .actions button {
- width: 10px;
- height: 10px;
-}
-.dashboard .dashboard-block:hover .action-buttons button {
- opacity: 1;
-}
-.dashboard ul.configcheck {
- list-style-type: none;
- padding: 0;
-}
-.dashboard ul.configcheck li {
- margin-bottom: 0.5em;
- margin-top: 0.5em;
- padding: 1em 1.618em;
- background-color: #FBFBFB;
-}
-.dashboard ul.configcheck li h5 {
- color: #CF1124;
-}
-.dashboard ul.configcheck li p {
- color: #515151;
-}
-.dashboard .news_article {
- overflow: hidden;
- border-bottom: 1px solid #DFDFDF;
- padding: 15px 0;
-}
-.dashboard .news_article h2 {
- font-size: 18px;
-}
-.dashboard .news_article h2 a {
- text-decoration: none;
-}
-.dashboard .news_article h2 {
- font-size: 18px;
-}
-.dashboard .news_article .date_stamp {
- float: right;
- font-size: 12px;
- font-style: italic;
-}
-.dashboard .configcheck a, .dashboard .news_article a {
- text-decoration: underline;
-}
-.dashboard .configcheck a:hover, .dashboard .news_article a:hover {
- text-decoration: none;
-}
-.dashboard .table-wrapper {
- width: 100%;
- overflow: auto;
-}
-.dashboard table {
- width: 100%;
- border: 1px solid #ddd;
- border-radius: 5px;
-}
-.dashboard table th {
- font-weight: bold;
- text-align: initial;
- padding: 10px;
- border-bottom: 2px solid #F0F0F0;
-}
-.dashboard table td {
- padding: 10px;
- border-bottom: 1px solid #F0F0F0;
- white-space: nowrap;
- vertical-align: center;
-}
-.dashboard table td .unpublished {
- font-style: italic;
- color: #999999;
-}
-.dashboard table td .deleted {
- color: rgba(175, 90, 98, 0.5) !important;
- text-decoration: line-through;
-}
-.dashboard table tr:last-child td {
- border: none;
-}
-.dashboard table tr:last-child td tr:last-child td {
- border: none;
-}
-.dashboard table tr:last-child td tr:last-child td:first-child {
- border-bottom-left-radius: 10px;
-}
-.dashboard table tr:last-child td tr:last-child td:last-child {
- border-bottom-right-radius: 10px;
-}
-.dashboard .widget-footer {
- padding-top: 10px;
- border-top: 1px solid #F0F0F0;
-}
-.dashboard .widget-footer a {
- display: block;
- padding-bottom: 5px;
- padding-top: 5px;
- font-size: 14px;
- text-decoration: none;
- text-align: center;
-}
-.dashboard .widget-actions a {
- display: inline-block;
- padding: 3px 5px;
- border: 1px solid #E4E4E4;
- border-radius: 3px;
- margin-left: 5px;
- text-decoration: none;
-}
-.dashboard .widget-actions a:first-child {
- margin-left: 0;
-}
-.dashboard .widget-actions a:hover {
- background: #F0F0F0;
-}
-.dashboard .widget-actions a .icon {
- width: 12px;
- height: 12px;
- text-align: center;
- display: inline-block;
-}
-.dashboard .no-results {
- padding: 10px;
- text-align: center;
- color: #999999;
-}
-.dashboard .user-with-avatar {
- display: flex;
- align-items: center;
-}
-.dashboard .user-with-avatar .user-avatar {
- margin: 0 10px;
-}
-.dashboard .user-with-avatar .user-avatar img {
- width: 35px;
- border-radius: 50%;
-}
-.dashboard .user-with-avatar .user-name {
- color: #234368;
- font-weight: 500;
-}
-.dashboard .user-with-avatar .user-group {
- color: #999999;
-}
-.dashboard .resource .title {
- color: #234368;
- font-weight: 500;
-}
-.dashboard .occurred-date {
- color: #234368;
- font-weight: 500;
-}
-.dashboard .occurred-time {
- color: #999999;
-}
-
-#modx-news-feed-container img {
- max-width: 100%;
-}
-
-.dashboard-buttons {
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- width: calc(100% + 1rem);
- margin: -1rem 0 0 -1rem;
-}
-.dashboard-buttons .dashboard-button {
- display: flex;
- align-items: center;
- background-color: #FFF;
- border-radius: 3px;
- margin: 1rem 0 0 1rem;
- padding: 20px;
- text-decoration: none;
- color: #53595F;
- flex: 1;
-}
-.dashboard-buttons .dashboard-button:hover {
- color: black;
-}
-.dashboard-buttons .dashboard-button:hover .icon {
- opacity: 0.7;
-}
-.dashboard-buttons .dashboard-button-icon {
- border-radius: 20px;
- border: 1px solid #6CB24A;
- background: rgba(108, 178, 74, 0.2);
- padding: 10px;
- text-align: center;
-}
-.dashboard-buttons .dashboard-button-icon .icon {
- font-weight: bold;
- display: block;
- color: #6CB24A;
- font-size: 16px;
- width: 16px;
- height: 16px;
- text-align: center;
-}
-.dashboard-buttons .dashboard-button-wrapper {
- padding: 0 10px;
-}
-.dashboard-buttons .dashboard-button-title {
- font-weight: bold;
-}
-
-::-webkit-scrollbar,
-::-webkit-scrollbar-thumb {
- width: 1rem;
- height: 1rem;
- border: 0.25rem solid transparent;
- border-radius: 0.5rem;
- background-color: transparent;
-}
-
-::-webkit-scrollbar-thumb {
- box-shadow: inset 0 0 0 1rem rgba(85, 108, 136, 0.1);
-}
-
-::-webkit-scrollbar-thumb:hover {
- box-shadow: inset 0 0 0 1rem rgba(85, 108, 136, 0.2);
-}
-
-::-webkit-resizer,
-::-webkit-scrollbar-corner {
- background-color: transparent;
-}
-
-.updates-widget .updates-title {
- font-weight: 500;
- color: #234368;
-}
-.updates-widget .updates-updateable {
- display: inline-block;
- background: #4A90E2;
- color: #FFF;
- border-radius: 20px;
- padding: 2px 8px;
- font-weight: bold;
-}
-.updates-widget .updates-ok,
-.updates-widget .updates-available {
- padding: 3px 8px;
- color: #FFF;
- border-radius: 3px;
- text-transform: uppercase;
- font-size: 10px;
-}
-.updates-widget .updates-ok {
- background: #6CB24A;
-}
-.updates-widget .updates-available {
- background: #CF1124;
-}
-
-#modx-panel-system-info .x-form-label-left .x-form-item {
- padding: 0 5px;
-}
-#modx-panel-system-info .x-form-label-left .x-form-item:nth-child(2n) {
- background: #F0F0F0;
-}
-#modx-panel-system-info .x-form-label-left .x-form-item .x-form-display-field {
- padding: 7px 0;
-}
-
-@media screen and (max-width: 960px) {
- .dashboard-buttons .dashboard-button {
- flex-wrap: wrap;
- flex-direction: column;
- text-align: center;
- align-items: center;
- }
- .dashboard-buttons .dashboard-button-wrapper {
- margin-left: 0;
- margin-top: 5px;
- }
-}
-@media screen and (max-width: 960px) {
- .dashboard .dashboard-block.quarter, .dashboard .dashboard-block.one-third, .dashboard .dashboard-block.half, .dashboard .dashboard-block.two-thirds {
- width: calc(100% - 1rem);
- }
-
- .dashboard-buttons {
- flex-wrap: wrap;
- }
- .dashboard-buttons .dashboard-button {
- padding: 10px;
- }
- .dashboard-buttons .dashboard-button-wrapper {
- display: none;
- }
-}
-.nobg .x-panel-body {
- background: transparent;
- padding-right: 1.5em;
-}
-
-/* Thanks to Christian Seel for these! http://chsmedien.com/blog/2013/02/customize-your-modx-dashboard */
-#managerbuttons {
- margin-bottom: 1em;
- overflow: hidden;
- width: 100%;
-}
-
-#managerbuttons ul:before,
-#managerbuttons ul:after {
- content: " ";
- display: table;
-}
-
-#managerbuttons ul:after {
- clear: both;
-}
-
-#managerbuttons ul {
- /* clearfix */
- *zoom: 1;
- margin: 0;
- width: 100%;
-}
-
-#managerbuttons ul li {
- display: table;
- float: left;
- margin: 0;
- padding: 0 1%;
- position: relative;
- width: 20%;
- box-sizing: border-box;
-}
-#managerbuttons ul li:first-child {
- padding-left: 0%;
-}
-#managerbuttons ul li:last-child {
- padding-right: 0%;
-}
-
-#managerbuttons ul li a {
- background-color: #FFF;
- border-radius: 3px;
- border: 1px solid #E4E4E4;
- box-shadow: 0 1px 0 #E4E4E4;
- color: #53595F;
- display: table-cell;
- /* MODX 2.x.x Manager Button Styles */
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: bold;
- padding: 12px;
- position: relative;
- text-align: center;
- text-decoration: none;
- vertical-align: middle;
-}
-
-#managerbuttons ul li a span {
- display: block;
- line-height: 1.4;
-}
-
-#managerbuttons ul li a span.headline {
- font-size: 12px;
-}
-
-#managerbuttons ul li a span.subline {
- font-weight: normal;
-}
-
-#managerbuttons ul li a span.icon {
- display: block;
- margin: 0 auto;
- padding: 0 0 10px;
- width: auto;
-}
-
-#managerbuttons ul li a:hover span.icon {
- color: #234368;
-}
-
-#helpBanner,
-#contactus {
- box-sizing: border-box;
- background: #FFF;
- border: 1px solid #E4E4E4;
- box-shadow: 0 1px 0 #E4E4E4;
- margin: 0.75em 0 1.75em;
- padding: 18px;
- width: 100%;
-}
-#helpBanner h3,
-#contactus h3 {
- margin: 0 0 1em;
-}
-
-#helpBanner {
- margin-top: 1.5em;
- min-height: 112px;
- background-image: url("../images/modx-logo-color.svg"), none;
- background-repeat: no-repeat;
- background-attachment: none;
- background-position: 97% center;
- background-size: 200px;
-}
-#helpBanner #helpLogo {
- float: right;
- height: 76px;
- margin-right: 1em;
- width: 200px;
-}
-
-#contactus {
- box-sizing: border-box;
- float: left;
- width: 60%;
-}
-#contactus form {
- display: inline;
-}
-#contactus input[type=email] {
- box-sizing: border-box;
- font-size: 1.1em;
- margin-right: 4px;
- padding: 0.4em;
- width: 70%;
-}
-#contactus input[type=submit] {
- border: 0;
- cursor: pointer;
- font-size: 1.1em;
- padding: 6px 10px;
-}
-#contactus p {
- color: #132539;
- margin: 1em 0;
-}
-#contactus form + p {
- margin: 2em 0 0;
-}
-
-#contactus a {
- color: black;
- text-decoration: none;
-}
-#contactus a:hover {
- text-decoration: underline;
-}
-#contactus a:hover i {
- text-decoration: none;
-}
-#contactus a i {
- margin: 0 15px -6px 0;
-}
-
-#mcsignup input.x-btn {
- padding: 10px 15px;
-}
-
-.icon.icon-2x {
- width: 22px;
- text-align: center;
- vertical-align: text-bottom;
-}
-
-#aboutMODX {
- box-sizing: border-box;
- background: #F0F0F0;
- float: left;
- margin: 1em 0 0 2%;
- min-height: 300px;
- padding: 1em;
- width: 38%;
-}
-#aboutMODX p {
- line-height: 1.6;
- margin: 0 0 1em;
-}
-#aboutMODX a {
- color: #234368;
- margin: -2px -4px;
- padding: 2px 4px;
-}
-#aboutMODX a:hover {
- background-color: #234368;
- color: #FFF;
- text-decoration: none;
-}
-
-.trashrow {
- background-color: #CCCCCC !important;
-}
-
-.x-btn-purge-all {
- color: #CF1124;
-}
-.x-btn-purge-all:hover {
- background: #CF1124;
- box-shadow: 0 0 0 1px #CF1124;
- color: #FFF;
-}
-
-.x-btn-restore-all {
- color: #6CB24A;
-}
-.x-btn-restore-all:hover {
- background: #6CB24A;
- box-shadow: 0 0 0 1px #6CB24A;
- color: #FFF;
-}
-
-#changelog-tab p {
- margin-bottom: 0.3rem;
-}
-#changelog-tab h1 {
- color: #595959;
-}
-#changelog-tab h2 {
- margin-top: 1rem;
- font-weight: 700;
-}
-#changelog-tab ul {
- margin-bottom: 1rem;
-}
-
-#modx-package-browser-details-main p {
- margin-bottom: 0.3rem;
- color: #595959;
-}
-#modx-package-browser-details-main h1,
-#modx-package-browser-details-main h2,
-#modx-package-browser-details-main h3,
-#modx-package-browser-details-main h4,
-#modx-package-browser-details-main h5,
-#modx-package-browser-details-main h6 {
- font-weight: 700;
- color: #595959;
-}
-#modx-package-browser-details-main h1 {
- font-size: 1.2em;
-}
-#modx-package-browser-details-main h2 {
- font-size: 1.15em;
-}
-#modx-package-browser-details-main h3 {
- font-size: 1.1em;
-}
-#modx-package-browser-details-main h4 {
- font-size: 1.05em;
-}
-#modx-package-browser-details-main h5 {
- font-size: 1em;
-}
-#modx-package-browser-details-main h6 {
- font-size: 0.95em;
-}
-
-#modx-package-browser-details-aside h4 {
- text-align: center;
-}
-#modx-package-browser-details-aside ul li {
- margin-bottom: 0.5em;
-}
-
-body {
- color: black;
- font: normal 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- -webkit-font-smoothing: antialiased;
-}
-body a {
- color: #234368;
-}
-body a:hover {
- color: #162a42;
-}
-
-/* TODO: conver font heirarchy into a vertical rhythm formula */
-h2,
-h3 {
- color: #515151;
- font: normal 25px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- margin: 0 0 8px -1px;
- /* align main titles with treetabs and left panel edge */
-}
-
-h3 {
- font: 550 15px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-strong {
- font-weight: bold;
-}
-
-em {
- font-style: italic;
-}
-
-hr {
- background-color: #E4E4E4;
- border: 0;
- color: #E4E4E4;
- height: 1px;
- margin: 20px 0;
-}
-
-.aleft {
- text-align: left;
-}
-
-.aright {
- text-align: right;
-}
-
-.right {
- float: right;
-}
-
-.left {
- float: left;
-}
-
-.clear {
- clear: left;
-}
-
-.bold {
- font-weight: bold;
-}
-
-.installed {
- color: #515151;
-}
-
-.not-installed {
- color: #999999;
- font-style: italic;
-}
-
-.yellow {
- color: #FCE588 !important;
-}
-
-.orange {
- color: #F0B429 !important;
-}
-
-.red,
-.error {
- color: #CF1124 !important;
-}
-
-.green {
- color: #6CB24A !important;
-}
-
-.blue {
- color: #4A90E2 !important;
-}
-
-.primary {
- color: #6CB24A !important;
-}
-
-.centered {
- text-align: center;
-}
-
-.wait {
- background: transparent url("../images/style/wait.gif") no-repeat scroll center 55px;
- color: #53595F;
- font-size: 15px;
- font-weight: bold;
- padding: 20px 10px 60px;
-}
-
-.padding {
- background-color: #FFF;
- padding: 11px;
-}
-
-.dashed {
- border-bottom: 1px #90b1b9 dashed;
-}
-
-.x-form-text,
-textarea.x-form-field {
- border-color: #E4E4E4;
-}
-
-/* panel setups */
-#modx-leftbar,
-#modx-content {
- transition: left 0.2s ease;
- position: absolute;
-}
-
-#modx-leftbar-tabpanel {
- transition: all 0.6s ease;
-}
-
-#modx-content {
- width: calc(100% - 370px);
- right: 0;
- left: 370px;
- /* give #modx-content an initial left value to prevent the panel from jumping around */
-}
-
-.modx-form p {
- padding-bottom: 10px;
-}
-
-.x-layout-mini {
- left: 2px;
-}
-
-#modx-resource-content .x-panel-header {
- margin: 0;
- padding: 15px;
-}
-#modx-resource-content .x-panel-bwrap {
- border: 0;
-}
-#modx-resource-content .modx-tv .modx-tv-label {
- width: auto;
- float: none;
- clear: none;
- padding: 15px 0 4px;
- position: static;
-}
-
-#modx-content-above .x-panel-bwrap,
-#modx-content-below .x-panel-bwrap {
- border: 0;
-}
-
-.x-tab-panel-header {
- box-sizing: border-box;
-}
-.x-tab-panel-header .x-tab-strip li {
- box-sizing: border-box;
-}
-
-@media screen and (max-width: 960px) {
- .x-viewport {
- overflow-y: auto;
- }
-}
-@media screen and (max-width: 960px) {
- .x-viewport body {
- height: auto;
- }
-}
-
-#modx-container {
- height: 100%;
- width: 100%;
- background: #F1F1F1;
-}
-@media screen and (max-width: 960px) {
- #modx-container {
- height: auto;
- }
-}
-
-@media screen and (max-width: 1140px) {
- #modx-resource-main-left,
-#modx-resource-main-right,
-#modx-page-settings-left,
-#modx-page-settings-right {
- box-sizing: border-box;
- width: 100% !important;
- margin: 0 auto 15px;
- }
- #modx-resource-main-left .x-panel-body,
-#modx-resource-main-right .x-panel-body,
-#modx-page-settings-left .x-panel-body,
-#modx-page-settings-right .x-panel-body {
- height: auto !important;
- max-height: 100% !important;
- width: auto !important;
- max-width: 100% !important;
- }
-}
-
-@media screen and (max-width: 960px) {
- #modx-template-form .main-wrapper,
-#modx-chunk-form .main-wrapper,
-#modx-tv-tabs .main-wrapper,
-#modx-snippet-form .main-wrapper,
-#modx-panel-plugin .main-wrapper {
- width: 100% !important;
- padding: 0;
- }
- #modx-template-form .main-wrapper > .x-panel-bwrap,
-#modx-chunk-form .main-wrapper > .x-panel-bwrap,
-#modx-tv-tabs .main-wrapper > .x-panel-bwrap,
-#modx-snippet-form .main-wrapper > .x-panel-bwrap,
-#modx-panel-plugin .main-wrapper > .x-panel-bwrap {
- padding: 1em;
- }
-}
-
-@media screen and (max-width: 960px) {
- #modx-resource-main-right {
- margin: 15px auto 0;
- }
-}
-
-@media screen and (max-width: 960px) {
- .x-toolbar-ct {
- display: block;
- }
- .x-toolbar-ct tbody {
- display: block;
- }
- .x-toolbar-ct tbody tr {
- display: block;
- }
- .x-toolbar-ct tbody tr td {
- display: block;
- width: 100%;
- }
- .x-toolbar-ct tbody tr td table {
- width: 100%;
- }
- .x-toolbar-ct tbody tr td table .x-form-field-wrap {
- width: 100% !important;
- margin-left: 0 !important;
- margin-right: 0 !important;
- }
- .x-toolbar-ct tbody tr td table .x-btn,
-.x-toolbar-ct tbody tr td table .x-form-text {
- width: 100% !important;
- margin-left: 0 !important;
- margin-right: 0 !important;
- box-sizing: border-box;
- }
-
- .x-column {
- width: 100% !important;
- margin-left: 0 !important;
- margin-right: 0 !important;
- float: none;
- }
-}
-@media screen and (max-width: 960px) {
- #modx-tree-panel-usergroup .main-wrapper {
- width: 100% !important;
- max-width: 100%;
- position: relative;
- display: inline-block;
- float: left;
- }
-}
-
-@media screen and (max-width: 960px) {
- .x-window {
- width: auto !important;
- max-width: 100% !important;
- left: 0.5em !important;
- right: 0.5em !important;
- }
- .x-window .x-window-body {
- width: 100% !important;
- height: auto !important;
- box-sizing: border-box !important;
- }
- .x-window .x-form-field-wrap {
- width: auto !important;
- }
- .x-window input {
- width: 100% !important;
- box-sizing: border-box;
- height: auto !important;
- }
-}
-
-#modx-template-form .main-wrapper input {
- max-width: 100% !important;
-}
-
-@media screen and (max-width: 960px) {
- .x-column-inner > .x-column ~ .x-column {
- margin-left: 0;
- }
-}
-
-@media screen and (max-width: 960px) {
- .x-form-item label.x-form-item-label[for=modx-import-base-path],
-.x-form-item label.x-form-item-label[for=modx-import-resource-class],
-.x-form-item label.x-form-item-label[for=modx-import-element],
-.x-form-item label.x-form-item-label[for=modx-import-parent],
-.x-form-item label.x-form-item-label[for=modx-import-allowed-extensions],
-#modx-import-base-path {
- width: auto !important;
- float: none;
- }
-}
-
-#modx-import-base-path,
-#modx-import-resource-class,
-#modx-import-allowed-extensions,
-#modx-import-element {
- height: auto;
- width: 100% !important;
- box-sizing: border-box;
-}
-
-@media screen and (max-width: 960px) {
- #x-form-el-modx-import-base-path,
-#x-form-el-modx-import-resource-class,
-#x-form-el-modx-import-allowed-extensions,
-#x-form-el-modx-import-element {
- width: 100% !important;
- padding-left: 0 !important;
- }
-}
-
-.x-panel.drag-n-drop {
- z-index: 0;
-}
-.x-panel.drag-n-drop:before {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- bottom: 0;
- display: block;
- content: " ";
- background: transparent url("../images/restyle/dragndrop.svg") no-repeat center;
- background-size: 50% 50%;
- opacity: 0.1;
- z-index: -5;
-}
-.x-panel.drag-n-drop > .x-panel-bwrap {
- background: transparent;
-}
-.x-panel.drag-over .x-form-field {
- background: transparent;
-}
-.x-panel.drag-over:after {
- content: "";
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- position: absolute;
- display: block;
- opacity: 0.1;
- background: #6CB24A;
- border: 5px solid #6CB24A;
-}
-
-#modx-panel-packages.drag-n-drop:before {
- background: transparent url("../images/restyle/dragndrop.svg") no-repeat top;
- background-size: 50% 30%;
- z-index: 0;
-}
-
-.x-panel-header {
- background: none;
- border: none;
- font-size: 16px;
- margin: 0 0 0 0;
- padding: 0 0 10px 0;
-}
-#modx-resource-tabs .x-panel-header {
- display: flex;
- color: #515151;
- margin-bottom: 5px;
- border-bottom: 1px solid #E4E4E4;
-}
-#modx-resource-tabs .x-panel-header .x-panel-header-text {
- order: 0;
- font-size: 14px;
- flex: 1;
-}
-#modx-resource-tabs .x-panel-header .x-tool.x-tool-toggle {
- order: 1;
- margin-left: auto;
-}
-#modx-resource-main-left .x-panel-header {
- border-bottom: 0;
- right: 15px;
- position: absolute;
- z-index: 9;
-}
-#modx-resource-main-left .x-panel-header .x-panel-header-text {
- display: none;
-}
-#modx-resource-main-left .x-panel-collapsed .x-panel-header, #modx-resource-main-left .x-panel-animated .x-panel-header {
- position: relative;
- padding-top: 15px !important;
- width: 100%;
- right: 0;
-}
-#modx-resource-main-left .x-panel-collapsed .x-panel-header .x-panel-header-text, #modx-resource-main-left .x-panel-animated .x-panel-header .x-panel-header-text {
- display: block;
-}
-
-#modx-resource-tabs .x-panel-collapsed .x-panel-header {
- margin-bottom: 0;
- padding: 0;
- border-color: transparent;
-}
-
-/* grids */
-.x-small-editor .x-form-field {
- font-size: 12px !important;
-}
-
-.x-small-editor .x-form-num-field {
- text-align: left;
-}
-
-.grid-row-inactive {
- color: #999 !important;
-}
-
-a.x-grid-link {
- color: #234368;
- text-decoration: underline;
-}
-
-a.x-grid-link:hover,
-a.x-grid-link:focus {
- text-decoration: none;
-}
-
-.x-editable-column {
- cursor: pointer;
-}
-.x-editable-column:hover, .x-editable-column:focus {
- color: #234368;
-}
-.x-editable-column:hover > div::after, .x-editable-column:focus > div::after {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: inline-block;
- font-style: normal;
- font-variant: normal;
- text-rendering: auto;
- font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
- font-weight: 900;
- content: "\f304";
- margin: 0 0.5em;
- color: #234368;
-}
-
-.x-grid-buttons {
- text-align: center;
-}
-
-.x-grid-buttons li {
- cursor: pointer;
- display: inline-block;
- font-size: 1.1em;
- line-height: 0.7;
- margin-right: 10px;
-}
-
-.x-grid-buttons li:last-child {
- margin-right: 0;
-}
-
-/* panel stylings */
-.modx-page-header,
-.modx-page-header div {
- background-color: transparent !important;
-}
-#modx-panel-welcome .modx-page-header, #modx-panel-trash .modx-page-header,
-#modx-panel-welcome .modx-page-header div,
-#modx-panel-trash .modx-page-header div {
- margin: 1rem !important;
-}
-
-@media screen and (min-width: 961px) {
- #modx-content > .x-panel-bwrap > .x-panel-body .modx-page-header {
- margin-top: 1.25rem;
- box-sizing: border-box;
- }
- html[dir=rtl] #modx-content > .x-panel-bwrap > .x-panel-body .modx-page-header {
- margin-top: 4rem;
- }
- #modx-content > .x-panel-bwrap > .x-panel-body .modx-page-header + div {
- margin: 1rem;
- }
-
- #modx-content > .x-panel-bwrap > .x-panel-body > .x-panel {
- margin: 0;
- }
- #modx-content > .x-panel-bwrap > .x-panel-body > .x-panel .modx-header-breadcrumbs {
- margin-top: 1.25rem;
- font-weight: bold;
- box-sizing: border-box;
- padding: 0 15px;
- font-size: 18px;
- }
- html[dir=rtl] #modx-content > .x-panel-bwrap > .x-panel-body > .x-panel .modx-header-breadcrumbs {
- margin-top: 4rem;
- }
- #modx-content > .x-panel-bwrap > .x-panel-body > .x-panel .modx-header-breadcrumbs + div {
- margin: 1rem;
- }
- #modx-content > .x-panel-bwrap > .x-panel-body > .x-panel .modx-header-breadcrumbs {
- width: 100% !important;
- }
-}
-#modx-content form.x-panel-body {
- background-color: transparent !important;
-}
-
-/* Error container */
-@media screen and (max-width: 960px) {
- #modx-content {
- position: relative;
- width: auto !important;
- top: auto !important;
- left: auto !important;
- }
-}
-#modx-content .modx_error {
- width: 95%;
- margin: 26px 0 0 15px;
-}
-#modx-content .modx_error h2 {
- margin: 0 0 14px 0;
-}
-#modx-content .modx_error .error_container {
- padding: 10px;
- border: 2px solid #CF1124;
- background: #f99;
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
-}
-#modx-content .modx_error .error_container ul {
- list-style: none;
- margin-top: 6px;
- margin-left: 0;
-}
-#modx-content .modx_error .error_container ul li {
- margin-bottom: 6px;
-}
-#modx-content .modx_error .error_container ul li:last-child {
- margin-bottom: 0;
-}
-#modx-content .modx_error .error_container.multiple p:first-child {
- font-size: 1.4em;
- font-weight: bold;
-}
-@media screen and (max-width: 960px) {
- #modx-content .x-panel-body {
- height: auto !important;
- max-height: 100% !important;
- width: auto !important;
- max-width: 100% !important;
- }
-}
-
-/* TODO: remove it */
-#modx-mainpanel {
- height: 100%;
- position: relative;
-}
-
-/* portlets */
-.x-portal .x-panel-dd-spacer {
- margin-bottom: 10px;
-}
-
-.x-portlet {
- margin-bottom: 10px;
-}
-
-.x-portlet .x-panel-ml {
- padding-left: 2px;
-}
-
-.x-portlet .x-panel-mr {
- padding-right: 2px;
-}
-
-.x-portlet .x-panel-bl {
- padding-left: 2px;
-}
-
-.x-portlet .x-panel-br {
- padding-right: 2px;
-}
-
-.x-portlet .x-panel-body {
- background: #FFF;
-}
-
-.x-portlet .x-panel-mc {
- padding-top: 2px;
-}
-
-.x-portlet .x-panel-bc .x-panel-footer {
- padding-bottom: 2px;
-}
-
-.x-portlet .x-panel-nofooter .x-panel-bc {
- height: 2px;
-}
-
-.x-portal-space h2 {
- border-bottom: 1px solid #d4d4d4;
- margin: 0 0 8px;
- padding: 0 0 2px;
-}
-
-/* column tree */
-.x-column-tree .x-panel-header {
- border-bottom-width: 0;
- padding: 3px 0 0 0;
-}
-
-.x-column-tree .x-panel-header .x-panel-header-text {
- margin-left: 3px;
-}
-
-.x-column-tree .x-tree-node {
- zoom: 1;
-}
-
-.x-column-tree .x-tree-node-el {
- zoom: 1;
-}
-
-.x-column-tree .x-tree-selected {
- background: #d9e8fb;
-}
-
-.x-column-tree .x-tree-node a {
- line-height: 18px;
- vertical-align: middle;
-}
-
-.x-column-tree .x-tree-node .x-tree-selected a span {
- background: transparent;
- color: #515151;
-}
-
-.x-tree-col {
- float: left;
- overflow: hidden;
- padding: 0 1px;
- zoom: 1;
-}
-
-.x-tree-col-text,
-.x-tree-hd-text {
- color: #515151;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- overflow: hidden;
- padding: 3px 3px 3px 5px;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.x-tree-headers {
- cursor: default;
- margin-top: 3px;
- zoom: 1;
-}
-
-.x-tree-hd {
- border-left: 1px solid #EEEEEE;
- border-right: 1px solid #d0d0d0;
- float: left;
- overflow: hidden;
-}
-
-/* rowactions */
-.ux-row-action-cell .x-grid3-cell-inner {
- padding: 1px 0 0 0;
-}
-
-.ext-ie .ux-row-action-item {
- width: 16px;
-}
-
-.ext-ie .ux-row-action-text {
- width: auto;
-}
-
-.ux-row-action-item span {
- background: transparent url("../images/style/go-next.png") no-repeat scroll 1px 4px;
- display: inline !important;
- line-height: 24px;
- margin: 0 5px;
- padding: 5px 5px 5px 22px;
- vertical-align: middle;
-}
-
-.icon-uninstall span {
- background: url("../images/style/delete.png") no-repeat scroll 1px 4px transparent;
-}
-
-.package-details span {
- background: url("../images/style/info.png") no-repeat scroll 1px 4px transparent;
-}
-
-.package-download span {
- background: url("../images/style/download.png") no-repeat scroll 1px 4px transparent;
-}
-
-.package-installed span {
- background: url("../images/style/accept.png") no-repeat scroll 1px 4px transparent;
-}
-
-.ext-ie .ux-row-action-item span {
- width: auto;
-}
-
-.x-grid-group-hd div {
- height: 16px;
- position: relative;
-}
-
-.ux-grow-action-item {
- background-position: 0 50% !important;
- background-repeat: no-repeat;
- cursor: pointer;
- float: left;
- margin: 0;
- min-width: 16px;
- padding: 0 !important;
-}
-
-.ext-ie .ux-grow-action-item {
- width: 16px;
-}
-
-.ux-action-right {
- float: right;
- margin: 0 3px 0 2px;
- padding: 0 !important;
-}
-
-.ux-grow-action-text {
- background: transparent none !important;
- float: left;
- margin: 0 !important;
- padding: 0 !important;
-}
-
-.ux-row-action-item:hover {
- background: #DFDFDF;
- background: -moz-linear-gradient(center bottom, #DFDFDF 0%, #FFF 100%) repeat scroll 0 0 transparent;
- background: -ms-linear-gradient(center bottom, #DFDFDF 0%, #FFF 100%);
- background: -o-linear-gradient(center bottom, #DFDFDF 0%, #FFF 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #FFF), color-stop(100%, #DFDFDF));
- background: -webkit-linear-gradient(center bottom, #DFDFDF 0%, #FFF 100%);
- background: linear-gradient(center bottom, #DFDFDF 0%, #FFF 100%);
- border: 1px solid #9caf78;
- color: #636f4c !important;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=$white, endColorstr=$alto, GradientType=0);
-}
-
-.ux-row-action-item:active {
- background-color: #FFF;
- background-image: none;
- border-color: #cfcfcf #c0c0c0 #aaaaaa;
- box-shadow: 0 0 3px #aaaaaa inset;
- margin: 2px 1px 0;
-}
-
-.ux-row-action-item:active span {
- text-shadow: none;
-}
-
-.ux-row-action-item {
- background: -moz-linear-gradient(center bottom, gainsboro 0%, #fcfcfc 100%) repeat scroll 0 0 transparent;
- background: -ms-linear-gradient(center bottom, gainsboro 0%, #fcfcfc 100%);
- background: -o-linear-gradient(center bottom, gainsboro 0%, #fcfcfc 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fcfcfc), color-stop(100%, gainsboro));
- background: -webkit-linear-gradient(center bottom, gainsboro 0%, #fcfcfc 100%);
- background: linear-gradient(center bottom, gainsboro 0%, #fcfcfc 100%);
- background: url("/manager/templates/default/images/modx-theme/form/button-bg.png") repeat-x scroll 0 bottom gainsboro;
- border-collapse: separate;
- border-color: #cacaca #c0c0c0 #aaa;
- border-radius: 3px;
- border-style: solid;
- border-width: 1px;
- box-shadow: rgba(0, 0, 0, 0.2) 0 0 1px;
- color: #444444;
- cursor: pointer;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fcfcfc, endColorstr=#dcdcdc, GradientType=0);
- float: left;
- font-weight: bold;
- margin: 2px 1px 0;
- overflow: hidden;
- padding: 3px;
- position: relative;
- text-shadow: 0 1px 0 #FAFAFA;
-}
-
-/* checkbox tree */
-.x-tree-checkbox {
- background: url(../../../assets/ext3/resources/images/default/form/checkbox.gif) no-repeat 0 0;
- height: 13px;
- margin: 0 1px;
- vertical-align: middle;
- width: 13px;
-}
-
-.x-tree-checkbox-over .x-tree-checkbox {
- background-position: -13px 0;
-}
-
-.x-tree-checkbox-down .x-tree-checkbox {
- background-position: -26px 0;
-}
-
-.x-tree-node-disabled .x-tree-checkbox {
- background-position: -39px 0;
-}
-
-.x-tree-node-checked {
- background-position: 0 -13px;
-}
-
-.x-tree-checkbox-over .x-tree-node-checked {
- background-position: -13px -13px;
-}
-
-.x-tree-checkbox-down .x-tree-node-checked {
- background-position: -26px -13px;
-}
-
-.x-tree-node-disabled .x-tree-node-checked {
- background-position: -39px -13px;
-}
-
-.x-tree-node-grayed {
- background-position: 0 -26px;
-}
-
-.x-tree-checkbox-over .x-tree-node-grayed {
- background-position: -13px -26px;
-}
-
-.x-tree-checkbox-down .x-tree-node-grayed {
- background-position: -26px -26px;
-}
-
-.x-tree-node-disabled .x-tree-node-grayed {
- background-position: -39px -26px;
-}
-
-.x-tree-branch-unchecked .x-tree-checkbox,
-.x-tree-branch-unchecked .x-tree-node-checked,
-.x-tree-branch-unchecked .x-tree-node-grayed {
- background-position: 0 0;
-}
-
-.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-checkbox,
-.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-checked,
-.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-grayed {
- background-position: -13px 0;
-}
-
-.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-checkbox,
-.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-checked,
-.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-grayed {
- background-position: -26px 0;
-}
-
-.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-checkbox,
-.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-checked,
-.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-grayed {
- background-position: -39px 0;
-}
-
-.x-tree-branch-checked .x-tree-checkbox,
-.x-tree-branch-checked .x-tree-node-checked,
-.x-tree-branch-checked .x-tree-node-grayed {
- background-position: 0 -13px;
-}
-
-.x-tree-branch-checked .x-tree-checkbox-over .x-tree-checkbox,
-.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-checked,
-.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-grayed {
- background-position: -13px -13px;
-}
-
-.x-tree-branch-checked .x-tree-checkbox-down .x-tree-checkbox,
-.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-checked,
-.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-grayed {
- background-position: -26px -13px;
-}
-
-.x-tree-branch-checked .x-tree-node-disabled .x-tree-checkbox,
-.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-checked,
-.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-grayed {
- background-position: -39px -13px;
-}
-
-/* switchbutton */
-.x-rbtn button {
- -moz-outline: 0 none;
- background-color: transparent;
- background-position: center;
- background-repeat: no-repeat;
- border: 0 none;
- cursor: pointer;
- font-size: 1px;
- height: 16px;
- line-height: 1px;
- margin: 0;
- outline: 0 none;
- padding: 0;
- width: 24px;
-}
-
-.x-rbtn {
- table-layout: fixed;
-}
-
-.x-rbtn td {
- background-image: url("../images/restyle/icons/rbtn.gif");
- background-repeat: no-repeat;
- border: 0 none;
- height: 21px;
- padding: 0;
- vertical-align: middle;
- width: 24px;
-}
-
-.x-rbtn td.x-rbtn-first {
- background-position: 0 0;
-}
-
-.x-rbtn td.x-rbtn-item {
- background-position: 0 -42px;
-}
-
-.x-rbtn td.x-rbtn-last {
- background-position: right -21px;
-}
-
-.x-rbtn td.x-rbtn-first-active {
- background-position: 0 -63px;
-}
-
-.x-rbtn td.x-rbtn-item-active {
- background-position: 0 -105px;
-}
-
-.x-rbtn td.x-rbtn-last-active {
- background-position: right -84px;
-}
-
-/* filetree */
-/*.icon-ob{background-image:url(../../../assets/modext/util/filetree/img/icons/ob_16.png)!important}.icon-graph{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/chart_curve.png)!important}.icon-chart{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/chart_bar.png)!important}.icon-prefs{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application_form.png)!important}.icon-ok{background-image:url(../../../assets/modext/util/filetree/img/icons/ok16.png)!important}.icon-view-tile{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application_view_tile.png)!important}.icon-check,.icon-check-off{background-image:url(../ext/resources/images/default/menu/unchecked.gif)!important}.icon-check-on{background-image:url(../ext/resources/images/default/menu/checked.gif)!important}.icon-stat-data{background-image:url(../../../assets/modext/util/filetree/img/icons/kate_16.png)!important}.icon-rename{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/textfield_rename.png)!important}.icon-add-col{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_add.png)!important}.icon-del-col{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_delete.png)!important}.icon-save-table{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/table_save.png)!important}.icon-add-tab{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/tab_add.png)!important}.icon-del-tab{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/tab_delete.png)!important}.icon-go-tab{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/tab_go.png)!important}.icon-add-table{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/table_add.png)!important}.icon-del-table{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/table_delete.png)!important}.icon-admin{background-image:url(../../../assets/modext/util/filetree/img/icons/adv_settings_16.png)!important}.icon-grid{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/grid.png)!important}.icon-key{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/key.png)!important}.icon-key2{background-image:url(../../../assets/modext/util/filetree/img/icons/key_16.png)!important}.icon-expand-all{background-image:url(../../../assets/modext/util/filetree/img/icons/expand-all.gif)!important}.icon-collapse-all{background-image:url(../../../assets/modext/util/filetree/img/icons/collapse-all.gif)!important}.icon-tree-orgboard{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/chart_organisation.png)!important}.icon-tree-area{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/post_title.png)!important}.icon-tree-post{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white.png)!important}.icon-plus{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/add.png)!important}.icon-minus{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/delete.png)!important}.icon-house{background-image:url(../../../assets/modext/util/filetree/img/icons/house_16.png)!important}.icon-user{background-image:url(../../../assets/modext/util/filetree/img/icons/user2_16.png)!important}.icon-trash-empty{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/bin_empty.png)!important}.icon-trash-closed{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/bin_closed.png)!important}.icon-disk{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/disk.png)!important}.icon-disk-bullet{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/bullet_disk.png)!important}.icon-undo{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/arrow_undo.png)!important}.icon-loading{background-image:url(../ext/resources/images/default/grid/grid-loading.gif)!important}.icon-db-refresh{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/database_refresh.png)!important}.icon-magnifier{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/magnifier.png)!important}.icon-wrench{background-image:url(../../../assets/modext/util/filetree/img/icons/wrench_16.png)!important}.icon-wrench-orange{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/wrench_orange.png)!important}.icon-star{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/star.png)!important}.icon-lock-go{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/lock_go.png)!important}.icon-group-add{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/group_add.png)!important}.icon-group-del{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/group_delete.png)!important}.icon-stat-portal{background-image:url(../../../assets/modext/util/filetree/img/icons/stat_portal_16.png)!important}.icon-stat-list{background-image:url(../../../assets/modext/util/filetree/img/icons/stat_list_16.png)!important}.icon-cancel{background-image:url(../../../assets/modext/util/filetree/img/icons/cancel16.png)!important}.icon-cross{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/cross.png)!important}.icon-defaults{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/arrow_rotate_clockwise.png)!important}.icon-load{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/database_go.png)!important}.icon-working{background-image:url(../ext/resources/images/default/grid/wait.gif)!important}.icon-upload{background-image:url(../../../assets/modext/util/filetree/img/icons/up.png)!important}.icon-folder-add{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/folder_add.png)!important}.icon-open{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application_go.png)!important}.icon-open-self{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application.png)!important}.icon-open-popup{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application_double.png)!important}.icon-open-blank{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application_cascade.png)!important}.icon-open-download{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/application_put.png)!important}.icon-refresh{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/arrow_refresh.png)!important}.icon-pencil{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/pencil.png)!important}.icon-stop{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/control_stop.png)!important}.icon-email{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/email.png)!important}.icon-email-compose{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/email_edit.png)!important}.icon-coins{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/coins.png)!important}.icon-clock{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/clock.png)!important}.icon-zoom{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/zoom.png)!important}.icon-print{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/printer.png)!important}.icon-folder-component{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/folder_brick.png)!important}.icon-extension{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/brick.png)!important}.icon-function{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/flag_yellow.png)!important}.icon-bulb{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/lightbulb.png)!important}.icon-bulb-off{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/lightbulb_off.png)!important}.icon-copy{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_copy.png)!important}.icon-db-gear,.icon-reconfigure{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/database_gear.png)!important}
-*/
-.ux-up-item {
- background-color: #f0f0f0;
- background-image: url(../../../assets/modext/util/filetree/img/white_bg.png);
- background-repeat: no-repeat;
- cursor: default;
- height: 17px;
- line-height: 17px;
- margin-bottom: 1px;
- position: relative;
-}
-
-.ux-up-icon-file {
- float: left;
- height: 16px;
- margin-right: 4px;
- vertical-align: -3px;
- width: 16px;
-}
-
-.ux-up-indicator {
- background-color: #ff0;
- height: 17px;
- opacity: 0.4;
- filter: alpha(opacity=40);
- /* for IE <= 8 */
- position: absolute;
- width: 40px;
- /*filter: alpha(opacity=40);*/
-}
-
-.ux-up-icon-state {
- cursor: pointer;
- float: right;
- margin-right: 2px;
- width: 16px;
- z-index: -1;
-}
-
-.ux-up-icon-queued {
- background-image: url(../../../assets/modext/util/filetree/img/silk/icons/page_white_get.png);
-}
-
-.ux-up-icon-uploading {
- background-image: url(../../../../ext2/resources/images/default/grid/wait.gif);
-}
-
-.ux-up-icon-done {
- background-image: url(../../../assets/modext/util/filetree/img/silk/icons/accept.png);
-}
-
-.ux-up-icon-failed {
- background-image: url(../../../assets/modext/util/filetree/img/silk/icons/error.png);
-}
-
-.ux-up-icon-stopped {
- background-image: url(../../../assets/modext/util/filetree/img/silk/icons/stop.png);
-}
-
-.ux-up-text {
- float: left;
-}
-
-.ux-ftm-nodename {
- color: #515151;
- cursor: default !important;
- font-weight: 700;
-}
-
-.ux-icon-combo-icon {
- background-position: 0 50%;
- background-repeat: no-repeat;
- height: 14px;
- width: 18px;
-}
-
-.ux-icon-combo-input {
- padding-left: 25px;
-}
-
-.x-form-field-wrap .ux-icon-combo-icon {
- left: 5px;
- top: 3px;
-}
-
-.ux-icon-combo-item {
- background-position: 3px 50% !important;
- background-repeat: no-repeat !important;
- padding-left: 24px !important;
-}
-
-/* status messages */
-.modx-status-msg {
- background: #6CB24A;
- border-radius: 3px;
- box-sizing: border-box;
- bottom: 20px;
- color: #FFF;
- max-width: 360px;
- padding: 15px 15px 15px 65px;
- position: fixed;
- right: 15px;
- width: 25%;
- z-index: 20000;
-}
-@media screen and (max-width: 960px) {
- .modx-status-msg {
- max-width: 100%;
- }
-}
-.modx-status-msg:before {
- position: relative;
-}
-.modx-status-msg:after {
- background: #FFF;
- border-radius: 50%;
- color: #6CB24A;
- content: "\f00c";
- display: inline-block;
- font-size: 16px;
- height: 38px;
- left: 15px;
- line-height: 36px;
- margin-right: 13px;
- position: absolute;
- text-align: center;
- top: 15px;
- vertical-align: middle;
- width: 38px;
-}
-.modx-status-msg h3,
-.modx-status-msg span {
- font-size: 14px;
-}
-.modx-status-msg h3 {
- color: #FFF;
- margin: 0;
-}
-
-.modx-status-msg .has-position-center-center {
- bottom: auto;
- left: 0;
- margin-left: auto;
- margin-right: auto;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.modx-status-msg .has-position-center-top {
- bottom: auto;
- left: 0;
- margin-left: auto;
- margin-right: auto;
- right: 0;
- top: 15px;
-}
-
-.modx-status-msg .has-position-right-top {
- bottom: auto;
- left: auto;
- right: 15px;
- top: 15px;
-}
-
-/* status messages mobile view */
-@media screen and (max-width: 960px) {
- .modx-status-msg,
-.modx-status-msg .has-position-center-center,
-.modx-status-msg .has-position-center-top,
-.modx-status-msg .has-position-right-top {
- border-radius: 0;
- top: auto;
- bottom: 0;
- left: 0;
- right: 0;
- width: 100%;
- }
-}
-
-iframe[classname=x-hidden] {
- visibility: hidden;
-}
-
-html[dir=rtl] .x-hiden,
-html[dir=rtl] .x-hide-offsets {
- right: -9999px;
- left: unset;
-}
-
-/* file upload, is this the old legacy (single file) uploader? */
-.ext-ux-uploaddialog-addbtn {
- background: url("../images/restyle/fileup/file-add.gif") no-repeat left center !important;
-}
-
-.ext-ux-uploaddialog-removebtn {
- background: url("../images/restyle/fileup/file-remove.gif") no-repeat left center !important;
-}
-
-.ext-ux-uploaddialog-resetbtn {
- background: url("../images/restyle/fileup/reset.gif") no-repeat left center !important;
-}
-
-.ext-ux-uploaddialog-uploadstartbtn {
- background: url("../images/restyle/fileup/upload-start.gif") no-repeat left center !important;
-}
-
-.ext-ux-uploaddialog-uploadstopbtn {
- background: url("../images/restyle/fileup/upload-stop.gif") no-repeat left center !important;
-}
-
-.ext-ux-uploaddialog-indicator-stoped {
- background: url("../images/restyle/fileup/done.gif") no-repeat center center;
- height: 16px;
- width: 16px;
-}
-
-.ext-ux-uploaddialog-indicator-processing {
- background: url("../images/restyle/fileup/loading.gif") no-repeat center center;
- height: 16px;
- width: 16px;
-}
-
-.ext-ux-uploaddialog-state {
- background-position: center center;
- background-repeat: no-repeat;
- text-align: center;
-}
-
-.ext-ux-uploaddialog-state-0 {
- background-image: url("../images/restyle/fileup/uncheck.gif");
-}
-
-.ext-ux-uploaddialog-state-1 {
- background-image: url("../images/restyle/fileup/check.gif");
-}
-
-.ext-ux-uploaddialog-state-2 {
- background-image: url("../images/restyle/fileup/failed.gif");
-}
-
-.ext-ux-uploaddialog-state-3 {
- background-image: url("../images/restyle/fileup/file-uploading.gif");
-}
-
-/* tree grid */
-.tq-treegrid .tq-treegrid-col {
- border: none;
-}
-
-.tq-treegrid .tq-treegrid-icons {
- float: left;
-}
-
-.tq-treegrid .x-tree-node-el {
- line-height: 13px;
- padding: 1px 3px 1px 5px;
-}
-
-.tq-treegrid .tq-treegrid-static .x-tree-ec-icon {
- display: none;
-}
-
-.tq-treegrid .tq-treegrid-static .x-tree-node-el {
- cursor: default;
-}
-
-/* other */
-.modx-tree-load-msg {
- color: black;
- font-size: 0.9em;
- line-height: 1;
- padding: 3px;
- white-space: pre-line;
-}
-
-#modx-grid-policy-permissions .x-grid3-cell-inner,
-#modx-grid-policy-permissions .x-grid3-hd-inner,
-#modx-grid-template-permissions .x-grid3-cell-inner,
-#modx-grid-template-permissions .x-grid3-hd-inner {
- white-space: normal;
-}
-
-/* MODExt common classes */
-.container {
- margin: 20px 15px 20px;
-}
-
-/* prevent cut off box shadows */
-.container,
-.x-plain-bwrap,
-.x-plain-body {
- overflow: visible;
-}
-
-/* box-shadow for most panels + custom class to set explicitly */
-.shadowbox,
-.x-form-label-left {
- border-radius: 3px;
- /* prevent box-shadow in nested panels */
-}
-.shadowbox .x-form-label-left, .x-tab-panel-bwrap .shadowbox,
-.x-form-label-left .x-form-label-left,
-.x-tab-panel-bwrap .x-form-label-left {
- border-radius: 0;
- box-shadow: none;
-}
-.x-window .shadowbox,
-.x-window .x-form-label-left {
- border-radius: 0;
- box-shadow: none;
-}
-
-/* Panel description text */
-.panel-desc {
- border-bottom: 1px solid #F0F0F0;
- border-radius: 0;
- color: #53595F;
- line-height: 1.5;
- padding: 15px !important;
-}
-.x-window .panel-desc {
- margin-top: 0;
- margin-bottom: 15px;
-}
-.panel-desc .x-panel-bwrap {
- background-color: transparent !important;
-}
-
-.with-title .panel-desc {
- margin: 0;
-}
-
-.panel-desc p {
- padding: 0;
-}
-
-/* All the other wrapped element (forms need to be wrapped in a panel isolated from the other components) */
-.main-wrapper {
- background-color: #FFF;
- padding: 15px 15px 15px 15px;
-}
-
-.with-title .main-wrapper {
- padding: 0 15px 10px 15px;
-}
-
-.left-col {
- padding-right: 15px;
-}
-
-.right-col {
- padding-left: 15px;
-}
-
-/* Old Header */
-.modx-page-header {
- order: 1;
- font: normal 20px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- color: #53595F;
- margin: 0;
- padding: 0 15px;
-}
-@media screen and (max-width: 960px) {
- .modx-page-header {
- width: 100%;
- text-align: center;
- font-size: 2em;
- }
-}
-
-/* New Header */
-.modx-header-breadcrumbs .breadcrumbs {
- display: flex;
- flex-wrap: wrap;
- align-items: baseline;
-}
-.modx-header-breadcrumbs .breadcrumbs h2 {
- order: 1;
- font: normal 20px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- color: #53595F;
- margin: 0 !important;
- padding-left: 0;
-}
-@media screen and (max-width: 960px) {
- .modx-header-breadcrumbs .breadcrumbs h2 {
- width: 100%;
- text-align: center;
- font-size: 2em;
- }
-}
-.modx-header-breadcrumbs ul {
- order: 0;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
-}
-.modx-header-breadcrumbs ul li {
- font: normal 18px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- color: #53595F;
-}
-.modx-header-breadcrumbs ul li a {
- font: normal 18px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- text-decoration: none;
-}
-.modx-header-breadcrumbs ul li a.menu_hidden {
- font-style: italic;
-}
-.modx-header-breadcrumbs ul li a.menu_hidden:hover {
- color: #162a42;
-}
-.modx-header-breadcrumbs ul li a.not_published {
- color: #b3b3b3 !important;
-}
-.modx-header-breadcrumbs ul li a.not_published:hover {
- color: #162a42;
-}
-.modx-header-breadcrumbs ul li a.deleted {
- color: rgba(175, 90, 98, 0.5) !important;
- text-decoration: line-through;
-}
-.modx-header-breadcrumbs ul li a.deleted:hover {
- color: #162a42;
-}
-.modx-header-breadcrumbs ul li:after {
- content: "\f054";
- padding: 0 10px;
- color: #999999;
- font-size: 12px;
-}
-
-#modx-abtn-delete {
- color: #CF1124;
-}
-
-#modx-abtn-undelete {
- color: #6CB24A;
-}
-
-#modx-abtn-help {
- color: #234368;
-}
-
-#modx-resource-tabs .x-tab-panel-bwrap {
- box-shadow: none;
-}
-#modx-resource-tabs .x-tab-panel-bwrap,
-#modx-resource-tabs .x-tab-panel-body {
- overflow: visible !important;
-}
-
-#modx-resource-settings {
- background: #F1F1F1;
-}
-#modx-resource-settings #modx-resource-main-left {
- padding: 15px;
- background: #FFF;
- border-top-right-radius: 3px;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
- position: relative;
-}
-#modx-resource-settings .x-panel-collapsed {
- min-height: 18px;
-}
-#modx-resource-settings #modx-resource-main-right .modx-resource-panel {
- padding: 15px;
- background: #FFF;
- border-radius: 3px;
-}
-#modx-resource-settings #modx-resource-main-right .modx-resource-panel:not(:last-child) {
- margin-bottom: 15px;
-}
-#modx-resource-settings .main-wrapper {
- padding: 0;
- background: transparent;
-}
-#modx-resource-settings .x-datetime-wrap table {
- width: 100%;
-}
-#modx-resource-settings .x-datetime-wrap table td {
- width: 50% !important;
- max-width: 50% !important;
-}
-#modx-resource-settings .x-datetime-wrap table td input {
- width: calc(100% - 30px);
-}
-#modx-resource-settings .x-datetime-wrap table td:first-child {
- padding-right: 5px !important;
-}
-#modx-resource-settings .x-datetime-wrap table td:last-child {
- padding-left: 5px !important;
-}
-#modx-resource-settings .x-datetime-wrap table .x-form-field-trigger-wrap {
- width: 100% !important;
-}
-
-.tvs-wrapper {
- padding: 0;
-}
-
-#modx-resource-tvs-div {
- border-top-width: 0;
- visibility: hidden;
- /* prevent flash of unstyled tv from elements on page load */
-}
-
-.modx-permissions-list {
- color: #777;
- font-size: 12px;
-}
-
-.modx-permissions-list-textarea {
- background-color: transparent !important;
- border: 0 !important;
-}
-
-/* for selectability in ext grids */
-.x-selectable,
-.x-selectable * {
- -khtml-user-select: all !important;
- user-select: text !important;
-}
-
-/* Lightbox */
-#ux-lightbox {
- left: 0;
- line-height: 0;
- position: absolute;
- text-align: center;
- width: 100%;
- z-index: 15000;
-}
-
-#ux-lightbox img {
- height: auto;
- width: auto;
-}
-
-#ux-lightbox a img {
- border: medium none;
-}
-
-#ux-lightbox-outerImageContainer {
- background-color: #FFF;
- height: 250px;
- margin: 0 auto;
- position: relative;
- width: 250px;
-}
-
-#ux-lightbox-imageContainer {
- padding: 10px;
-}
-
-#ux-lightbox-loading {
- background: url("../images/style/loading.gif") no-repeat scroll center 15% transparent;
- height: 25%;
- left: 0;
- line-height: 0;
- position: absolute;
- text-align: center;
- top: 40%;
- width: 100%;
-}
-
-#ux-lightbox-hoverNav {
- height: 100%;
- left: 0;
- position: absolute;
- top: 0;
- width: 100%;
- z-index: 10;
-}
-
-#ux-lightbox-hoverNav a {
- outline: medium none;
-}
-
-#ux-lightbox-imageContainer > #ux-lightbox-hoverNav {
- left: 0;
-}
-
-#ux-lightbox-navPrev,
-#ux-lightbox-navNext {
- display: block;
- height: 100%;
- width: 49%;
-}
-
-#ux-lightbox-navPrev {
- float: left;
- left: 0;
-}
-
-#ux-lightbox-navPrev:hover,
-#ux-lightbox-navPrev:visited:hover {
- background: transparent url("images/lb-prev.png") no-repeat scroll left 33%;
-}
-
-#ux-lightbox-navNext {
- float: right;
- right: 0;
-}
-
-#ux-lightbox-navNext:hover,
-#ux-lightbox-navNext:visited:hover {
- background: transparent url("images/lb-next.png") no-repeat scroll right 33%;
-}
-
-#ux-lightbox-outerDataContainer {
- margin: 0 auto;
- width: 100%;
-}
-
-#ux-lightbox-dataContainer {
- background-color: #FFF;
- font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-size: 10px;
- overflow: auto;
-}
-
-#ux-lightbox-data {
- color: #666;
- padding: 0 10px;
-}
-
-#ux-lightbox-data #ux-lightbox-details {
- float: left;
- text-align: left;
- width: 80%;
-}
-
-#ux-lightbox-data #ux-lightbox-caption {
- font-weight: bold;
-}
-
-#ux-lightbox-data #ux-lightbox-imageNumber {
- clear: left;
- display: block;
- padding-bottom: 1em;
-}
-
-#ux-lightbox-data #ux-lightbox-navClose {
- background: transparent url("../images/style/close.png") no-repeat scroll 0 0;
- float: right;
- height: 16px;
- outline: medium none;
- padding-bottom: 0.7em;
- width: 16px;
-}
-
-#ux-lightbox-overlay,
-#ux-lightbox-shim {
- background-color: #515151;
- border: 0 none;
- height: 500px;
- left: 0;
- margin: 0;
- padding: 0;
- position: absolute;
- top: 0;
- width: 100%;
- z-index: 14999;
-}
-
-#ux-lightbox-shim {
- background-color: transparent;
- z-index: 89;
-}
-
-/* Card Layout (ex. Package Manager) */
-.x-panel-body-noheader .x-grid3-row {
- position: relative;
-}
-
-.x-grid3-col-main {
- padding: 10px 5px 35px;
-}
-
-.x-grid3-cell-inner .x-grid3-col-main h3 {
- color: #555555;
- font: normal 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-size: 20px;
- line-height: 1;
- margin: 0 0 5px 0;
-}
-
-.package-installed {
- color: #515151;
- opacity: 0.5;
- filter: alpha(opacity=50);
- /* for IE <= 8 */
-}
-
-#modx-grid-package .green {
- text-align: center;
-}
-
-#modx-grid-package .green a {
- color: #CF1124 !important;
-}
-
-#modx-grid-package .red {
- color: #6CB24A !important;
- text-align: center;
-}
-
-.grid-with-buttons .x-grid3-row-expanded .x-grid3-row-body {
- margin: -45px 2px 0 -20px;
- padding: 18px 25px 40px;
-}
-
-/* Package browser */
-.home-panel ol {
- border-top: 1px solid #cacaca;
-}
-
-.home-panel ol li {
- border-bottom: 1px solid #e0e0e0;
-}
-
-.home-panel ol li:first-child {
- border-top-color: 0 none;
-}
-
-.home-panel ol li:last-child {
- border-bottom: 0 none;
-}
-
-.home-panel ol li button {
- background-color: transparent;
- border: 0 none;
- color: #53595F;
- cursor: pointer;
- display: block;
- font-size: 15px;
- font-weight: bold;
- padding: 12px 20px 12px 6px;
- position: relative;
- text-decoration: none;
-}
-
-.home-panel ol li:hover button {
- color: #234368;
-}
-.home-panel ol li:hover button:before {
- content: "\f002";
- font-size: 14px;
- margin-top: -7px;
- /* half of the height to center vertically with top 50% */
- opacity: 0.6;
- filter: alpha(opacity=60);
- /* for IE <= 8 */
- position: absolute;
- top: 50%;
- right: 0;
- text-align: center;
- width: 20px;
- transition: opacity 0.25s;
-}
-
-.home-panel ol li .highlighted {
- color: #909090;
- float: right;
- font-size: 10px;
- padding: 13px 10px 0;
-}
-
-.home-panel ol li button .ct {
- color: #aaa;
- margin-right: 10px;
-}
-
-.home-panel .one_half {
- overflow: hidden;
-}
-
-.home-panel .desc-wrapper {
- margin-top: 38px;
-}
-
-.home-panel .text-wrapper {
- font-style: normal;
- max-height: none;
-}
-
-.home-panel .provider_name {
- background-color: #9bb3bf;
- line-height: 1.8;
-}
-
-.home-panel .pnl_instructions {
- margin: 20px 0;
-}
-
-.home-panel .stats {
- clear: both;
- display: inline-block;
- margin-top: 15px;
-}
-
-.home-panel .stats p {
- color: #777777;
- font-size: 12px;
- font-style: italic;
- line-height: 1.5;
-}
-
-.pbr-provider-box {
- float: left;
- margin-top: 10px;
- width: 250px;
-}
-
-.pbr-provider-home {
- padding: 10px;
-}
-
-.pbr-repository-view {
- padding: 10px;
-}
-
-.pbr-tag-view {
- padding: 10px;
-}
-
-.pbr-details-right {
- float: right !important;
- text-align: right !important;
-}
-
-.pbr-thumb-downloaded {
- opacity: 0.5;
- filter: alpha(opacity=50);
- /* for IE <= 8 */
-}
-
-.one_half {
- float: left;
- margin-right: 3%;
- position: relative;
- width: 48%;
-}
-
-.last {
- clear: right;
- margin-right: 0 !important;
-}
-
-.package-readme {
- padding: 8px 11px 0;
-}
-
-/* Template sidebar */
-#modx-package-browser-home {
- margin-top: 5px;
- min-height: 560px;
-}
-
-/* Aside details are used in the thumbnail package provider view to show package info on the side */
-.empty-text-wrapper {
- color: #888;
- font-weight: bold;
- line-height: 1.4;
- padding: 12px;
-}
-
-.aside-details {
- background-color: transparent;
- border: 1px solid #E4E4E4;
- border-radius: 3px;
- margin-right: 0;
-}
-
-.aside-details .selected h5 {
- color: #53595F;
- font-size: 14px;
- margin: 10px 0;
-}
-
-.aside-details .selected img {
- border-radius: 3px;
- border: 1px solid #E4E4E4;
- height: 80px;
- width: 90px;
-}
-
-.aside-details .item {
- margin-bottom: 25px;
-}
-
-.aside-details .item p,
-.aside-details .item li {
- color: #888;
- line-height: 1.4;
-}
-
-.aside-details .item a {
- color: #53595F;
- font-style: italic;
-}
-
-.aside-details h4 {
- color: #53595F;
- font-size: 14px;
- margin: 10px 0;
- text-transform: uppercase;
-}
-
-.aside-details .aside-details h4 {
- font-size: 12px;
- margin-top: 0;
-}
-
-.aside-details .selected {
- border-bottom: 1px solid #E4E4E4;
- color: black;
- padding: 15px;
- text-align: center;
-}
-
-.aside-details .description,
-.aside-details .instructions {
- background-color: #FBFBFB;
- color: #53595F;
- font-size: 12px;
- line-height: 1.2;
- padding: 15px;
-}
-
-.aside-details .infos {
- padding: 15px;
- font-size: 12px;
- line-height: 1.2;
- color: #53595F;
-}
-
-.aside-details .infos ul li {
- font-size: 12px;
-}
-
-.aside-details .infos ul li .infoname {
- color: #999999;
- font-weight: bold;
- width: 50%;
-}
-
-.aside-details .infos ul li .infovalue {
- max-width: 50%;
- padding: 0 8px;
- word-wrap: break-word;
-}
-
-.aside-details .infos ul li span {
- display: inline-block;
- padding: 0;
-}
-
-/* The thumb-wrapper is used in package management for "templated" repositories, e.g. Front-end Templates */
-.thumb-wrapper {
- background-color: #f5f5f5;
- border-radius: 3px;
- border: 1px solid #CCCCCC;
- cursor: pointer;
- float: left;
- margin: 0 15px 15px 0;
- overflow: hidden;
- padding: 0 0 12px;
- position: relative;
- width: 250px;
- box-sizing: border-box;
-}
-.thumb-wrapper * {
- box-sizing: border-box;
-}
-.thumb-wrapper .thumb {
- background-color: #FFF;
- border-bottom: 1px solid #CCCCCC;
- height: 170px;
- margin: 0 auto;
- width: 100%;
- text-align: center;
- position: relative;
-}
-.thumb-wrapper .thumb img {
- max-height: 100%;
- max-width: 100%;
-}
-.thumb-wrapper .thumb .no-preview {
- color: #888;
- display: inline-block;
- font-size: 9px;
- font-weight: bold;
- padding: 31px 15px;
- text-align: center;
- text-transform: uppercase;
-}
-.thumb-wrapper span.downloaded,
-.thumb-wrapper span.featured {
- background-color: #6CB24A;
- color: #FFF;
- font-weight: bold;
- padding: 5px 0;
- position: absolute;
- text-align: center;
- text-shadow: none;
- top: 68px;
- width: 100%;
-}
-.thumb-wrapper span.featured {
- background-color: #234368;
- color: #FFFFFF;
- top: initial;
- bottom: 0;
-}
-.thumb-wrapper span {
- display: block;
- overflow: hidden;
- text-align: left;
- text-shadow: 0 1px 0 #FFF;
- margin: 0;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.thumb-wrapper .name {
- color: #53595F;
- font-size: 12px;
- font-weight: bold;
- float: left;
- padding: 12px 8px 12px 12px;
- width: 55%;
-}
-.thumb-wrapper .downloads {
- color: #999;
- font-size: 9px;
- text-transform: uppercase;
- float: right;
- text-align: right;
- padding: 8px 12px 8px 8px;
- width: 45%;
-}
-.thumb-wrapper .thumb-description {
- clear: both;
- padding: 0 12px;
- font-size: 12px;
- overflow: hidden;
- height: 50px;
-}
-.thumb-wrapper .thumb-footer {
- color: #999;
- font-size: 9px;
- text-transform: uppercase;
- padding: 8px 12px 0;
- text-align: center;
-}
-.thumb-wrapper.selected {
- background-color: #FFF;
- padding: 0 0 12px;
- border-color: #234368;
-}
-.thumb-wrapper.selected img {
- border: 0 none;
-}
-
-.pbr-thumb {
- background: #DFDFDF;
- height: 80px;
- padding: 3px;
- width: 100px;
-}
-
-.pbr-thumb img {
- height: 80px;
- width: 100px;
-}
-
-.x-grid3-hd-text-col,
-.x-grid3-hd-meta-col,
-.x-grid3-hd-info-col {
- text-align: center;
-}
-
-.x-grid3-col-text-col {
- font-size: 11px;
- text-align: center;
-}
-
-.x-grid3-col-info-col,
-.x-grid3-col-meta-col {
- font-size: 11px;
- font-weight: bold;
- text-align: center;
-}
-
-.x-grid3-col-meta-col {
- color: #53595F;
-}
-
-.x-grid3-col-info-col {
- color: #6CB24A;
-}
-
-.not-installed .x-grid3-col-info-col {
- color: #CF1124;
-}
-
-.inline-button {
- -webkit-box-align: center;
- display: inline;
- margin: 0 auto;
- padding: 8px;
- text-align: center;
-}
-
-.meta-wrapper {
- color: #808080;
- max-height: 400px;
- overflow: auto;
- padding: 15px;
- word-wrap: break-word;
-}
-.meta-wrapper ul {
- list-style: disc inside;
- padding-left: 15px;
-}
-.meta-wrapper h1 {
- font-size: 1.2em;
-}
-.meta-wrapper h2 {
- font-size: 1.15em;
-}
-.meta-wrapper h3 {
- font-size: 1.1em;
-}
-.meta-wrapper h4 {
- font-size: 1.05em;
-}
-.meta-wrapper h5 {
- font-size: 1em;
-}
-.meta-wrapper h6 {
- font-size: 0.95em;
-}
-
-.window-no-padding .x-panel-mc {
- padding: 0 !important;
-}
-.window-no-padding .x-panel-ml {
- padding: 0 !important;
-}
-.window-no-padding .x-panel-mr {
- padding: 0 !important;
-}
-.window-no-padding .x-tab-panel-noborder {
- margin: 0 !important;
-}
-
-.upload-error {
- color: #CF1124;
-}
-
-.upload-success {
- color: #6CB24A;
-}
-
-.upload-status-text {
- white-space: normal;
-}
-
-.upload-thumb {
- float: right;
-}
-
-.auto-width {
- width: auto !important;
-}
-
-.auto-height {
- height: auto !important;
-}
-
-.x-datetime-inline-editor .x-datetime-wrap {
- margin-top: 0 !important;
-}
\ No newline at end of file