UNPKG

@krobotech/v-form-builder

Version:

Vue Form Builder PRO MAX built from top of Vue. Super dynamic and flexible including Drag and Drop feature.

1,327 lines (1,168 loc) 34.2 kB
@charset "UTF-8"; /********************************* * START GLOBAL PADDING - MARGIN **********************************/ .p5 { padding-top: 5px; padding-bottom: 5px; } .pbottom-10 { padding-bottom: 10px; } .pl-15 { padding-left: 15px; } .pr-15 { padding-right: 15px; } .mr-15 { margin-right: 15px; } .position-relative { position: relative; } .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .vue-form-builder .pointer { cursor: pointer; } /********************************* * END GLOBAL PADDING - MARGIN **********************************/ .vue-form-builder hr { margin: 30px 0; } .vue-form-builder .copyright-text { padding-top: 20px; color: rgba(0, 0, 0, .4); font-size: 13px; text-align: center; } .vue-form-builder .add-section-container { margin-top: 30px; border: 3px rgba(0, 0, 0, .4) dotted; padding: 40px; user-select: none; font-size: 18px; position: relative; text-align: center; } .vue-form-builder .add-section-container:hover { border-color: #4834d4; cursor: pointer; } .vue-form-builder .add-section-container>p { margin: 0; } .vue-form-builder .add-section-container:hover>p { font-weight: bold; } .vue-form-builder .add-container-list { margin-top: 15px; } .vue-form-builder .type-desc { font-size: 14px; } .vue-form-builder .type-headline { font-weight: bold; } .vue-form-builder .section-container { position: relative; border: 2px solid transparent; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .vue-form-builder .section-container:hover, .vue-form-builder .section-container.active { border: 2px solid #0198fa; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .vue-form-builder .section-container .section-config { position: absolute; top: 5px; right: 5px; display: none; } .vue-form-builder .section-container:hover .section-config { display: block; } .vue-form-builder .buttons>button { margin-right: 5px; } .vue-form-builder .normal-section, .vue-form-renderer .normal-section { padding-top: 10px; padding-bottom: 10px; } .vue-form-builder .headline-block, .vue-form-builder .vue-form-renderer { padding: 0 15px; user-select: none; } .vue-form-builder .sidebar-form-configuration .headline-block { padding: 0; margin-bottom: 5px; } .vue-form-builder .sidebar-form-configuration .headline-block h5 { font-size: 16px; } .vue-form-builder .row-block { background-color: rgba(0, 0, 0, .2); border-radius: 5px; padding: 40px 20px; margin: 15px; } .vue-form-builder .add-row-outer, .vue-form-builder .add-control-outer { margin-top: 15px; padding: 0 15px; } .vue-form-builder .add-row-container, .vue-form-builder .add-control-container { margin-top: 40px; border: 3px rgba(0, 0, 0, .4) dotted; padding: 40px; user-select: none; font-size: 18px; position: relative; text-align: center; } .vue-form-builder .add-row-container:hover, .vue-form-builder .add-control-container:hover { border-color: #badc58; cursor: pointer; font-weight: bold; } .vue-form-builder .outer-add-control { margin: 0 15px; } .vue-form-builder .table-section .table-wrapper { margin: 10px 15px; } .toggleable-sub-headline { padding-left: 10px; } /********************************* * CONTROL-VIEW CLASS **********************************/ .vue-form-builder .control-view { padding: 10px; border: 1px solid transparent; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .vue-form-builder .control-view:hover { border: 1px solid #bdc3c7; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .vue-form-builder .control-view.active { border: 1px solid #0198fa; } .vue-form-builder .control-view.label-selected { border: 1px solid #e74c3c; } .vue-form-builder .control-list-container { margin: 20px; } .vue-form-builder .control-list-container.empty { border: 3px dotted #000; padding: 50px 0; color: rgba(0, 0, 0, .4); font-size: 14px; text-align: center; } .vue-form-builder .control-list-container.empty p { width: 100%; margin: 0; } .vue-form-builder .control-view-wrapper, .vue-form-renderer .control-view-wrapper { position: relative; margin-top: 10px; padding-left: 0; } .vue-form-builder .control-option-container { position: absolute; top: 0; left: 97%; border: 1px solid #bdc3c7; background-color: white; display: none; } .vue-form-builder .control-view-wrapper:hover .control-option-container { display: block; z-index: 2; } .vue-form-builder .control-option-container .option-control { padding: 2px 5px; border-bottom: 1px solid #bdc3c7; cursor: pointer; } .vue-form-builder .control-option-container .option-control:last-child { border-bottom: 0; } .vue-form-builder .control-option-container .option-control.drag-item { cursor: grab; } .vue-form-builder .control-option-container .option-control.drag-item:active { cursor: grabbing; } .ghost { opacity: 0.5; background: #c8ebfb; } .vue-form-builder .v-tooltip { position: relative; } /* Tooltip text */ .vue-form-builder .v-tooltip .tooltiptext { visibility: hidden; width: 200px; background-color: black; color: #fff; text-align: center; padding: 10px; border-radius: 6px; /* Position the tooltip text - see examples below! */ position: absolute; z-index: 1; bottom: 100%; left: 50%; margin-left: -100px; /* Use half of the width (120/2 = 60), to center the tooltip */ } /* Show the tooltip text when you mouse over the tooltip container */ .vue-form-builder .v-tooltip:hover .tooltiptext { visibility: visible; } .vue-form-builder .list-selection { position: relative; padding-top: 15px; margin-bottom: 10px; border-bottom: 1px solid #000; } .vue-form-builder .list-selection .tool-block { position: absolute; top: -10px; right: 5px; } /********************************* * SIDEBAR CLASS **********************************/ .vue-form-builder .sidebar { height: 100%; width: 0; position: fixed; z-index: 1; top: 0; right: 0; background-color: #fff; overflow-x: hidden; padding-top: 60px; transition: 0.5s; border-left: 1px solid rgba(0, 0, 0, .3) } .vue-form-builder .sidebar .close { position: absolute; top: 5px; left: 15px; font-size: 36px; margin-right: 50px; cursor: pointer; } body { transition: margin-left .5s; /* If you want a transition effect */ } .vue-form-builder .sidebar-form-configuration { padding: 15px; } .vue-form-builder .sidebar-form-configuration .buttons { text-align: right; } .vue-form-builder .toggleable-section, .vue-form-renderer .toggleable-section { padding-top: 10px; padding-bottom: 10px; } .toggleable-section .headline-block { border-bottom: 1px solid #000; } .toggleable-section .headline-block small { font-size: 15px; } .vue-form-builder .toggle-item, .vue-form-renderer .toggle-item { cursor: pointer; } .vue-form-builder .radio-checkbox, .vue-form-renderer .radio-checkbox { padding: 5px; } .vue-form-builder .radio-checkbox.line label, .vue-form-renderer .radio-checkbox.line label { display: block; } .vue-form-builder .radio-checkbox.next label, .vue-form-renderer .radio-checkbox.next label { display: inline-block; margin-right: 5px; } .vue-form-renderer .control-list-container { padding: 0 15px; } .vue-form-renderer .control-view div.is-invalid { border: 1px solid #dc3545; } .vue-form-renderer .control-view div.is-invalid~.invalid-feedback { display: block; } .v-form-alert { padding: 20px; background-color: #dc3545; color: white; position: fixed; right: 5px; top: 10px; z-index: 5; border-radius: 5px; } .control-label-container { line-height: 17px; padding-bottom: 10px; } /********************************* * Vue-Transition Classes - Slide Up/Down **********************************/ .slide-enter-active { -moz-transition-duration: 0.3s; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; -moz-transition-timing-function: ease-in; -webkit-transition-timing-function: ease-in; -o-transition-timing-function: ease-in; transition-timing-function: ease-in; } .slide-leave-active { -moz-transition-duration: 0.3s; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; -moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); transition-timing-function: cubic-bezier(0, 1, 0.5, 1); } .slide-enter-to, .slide-leave { max-height: 100px; overflow: hidden; } .slide-enter, .slide-leave-to { overflow: hidden; max-height: 0; } /************************************************************* * 3-rd parties css *************************************************************/ /*! * * Litepicker v1.4.5 (https://github.com/wakirin/Litepicker) * Package: litepicker (https://www.npmjs.com/package/litepicker) * License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md) * Copyright 2019-2020 Rinat G. * * Hash: a40e40fe2fd7821d251c * Generated on: 1589809451890 * */ :root { --litepickerBgColor: #fff; --litepickerMonthHeaderTextColor: #333; --litepickerMonthButton: #9e9e9e; --litepickerMonthButtonHover: #2196f3; --litepickerMonthWidth: calc(var(--litepickerDayWidth) * 7); --litepickerMonthWeekdayColor: #9e9e9e; --litepickerDayColor: #333; --litepickerDayColorHover: #2196f3; --litepickerDayIsTodayColor: #f44336; --litepickerDayIsInRange: #bbdefb; --litepickerDayIsLockedColor: #9e9e9e; --litepickerDayIsBookedColor: #9e9e9e; --litepickerDayIsStartColor: #fff; --litepickerDayIsStartBg: #2196f3; --litepickerDayIsEndColor: #fff; --litepickerDayIsEndBg: #2196f3; --litepickerDayWidth: 38px; --litepickerButtonCancelColor: #fff; --litepickerButtonCancelBg: #9e9e9e; --litepickerButtonApplyColor: #fff; --litepickerButtonApplyBg: #2196f3; --litepickerButtonResetBtn: #909090; --litepickerButtonResetBtnHover: #2196f3; --litepickerHighlightedDayColor: #333; --litepickerHighlightedDayBg: #ffeb3b } .show-week-numbers { --litepickerMonthWidth: calc(var(--litepickerDayWidth) * 8) } .litepicker { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 0.8em; display: none } .litepicker .container__main { display: -webkit-box; display: -ms-flexbox; display: flex } .litepicker .container__months { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; background-color: var(--litepickerBgColor); border-radius: 5px; -webkit-box-shadow: 0 0 5px #ddd; box-shadow: 0 0 5px #ddd; width: calc(var(--litepickerMonthWidth) + 10px); -webkit-box-sizing: content-box; box-sizing: content-box } .litepicker .container__months.columns-2 { width: calc((var(--litepickerMonthWidth) * 2) + 20px) } .litepicker .container__months.columns-3 { width: calc((var(--litepickerMonthWidth) * 3) + 30px) } .litepicker .container__months.columns-4 { width: calc((var(--litepickerMonthWidth) * 4) + 40px) } .litepicker .container__months.split-view .month-item-header .button-previous-month, .litepicker .container__months.split-view .month-item-header .button-next-month { visibility: visible } .litepicker .container__months .month-item { padding: 5px; width: var(--litepickerMonthWidth); -webkit-box-sizing: content-box; box-sizing: content-box } .litepicker .container__months .month-item-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; font-weight: 500; padding: 10px 5px; text-align: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: var(--litepickerMonthHeaderTextColor) } .litepicker .container__months .month-item-header div { -webkit-box-flex: 1; -ms-flex: 1; flex: 1 } .litepicker .container__months .month-item-header div>.month-item-name { margin-right: 5px } .litepicker .container__months .month-item-header div>.month-item-year { padding: 0 } .litepicker .container__months .month-item-header .reset-button { color: var(--litepickerButtonResetBtn) } .litepicker .container__months .month-item-header .reset-button>svg, .litepicker .container__months .month-item-header .reset-button>img { fill: var(--litepickerButtonResetBtn); pointer-events: none } .litepicker .container__months .month-item-header .reset-button:hover { color: var(--litepickerButtonResetBtnHover) } .litepicker .container__months .month-item-header .reset-button:hover>svg { fill: var(--litepickerButtonResetBtnHover) } .litepicker .container__months .month-item-header .button-previous-month, .litepicker .container__months .month-item-header .button-next-month { visibility: hidden; text-decoration: none; color: var(--litepickerMonthButton); padding: 3px 5px; border-radius: 3px; -webkit-transition: color 0.3s, border 0.3s; transition: color 0.3s, border 0.3s; cursor: default } .litepicker .container__months .month-item-header .button-previous-month>svg, .litepicker .container__months .month-item-header .button-previous-month>img, .litepicker .container__months .month-item-header .button-next-month>svg, .litepicker .container__months .month-item-header .button-next-month>img { fill: var(--litepickerMonthButton); pointer-events: none } .litepicker .container__months .month-item-header .button-previous-month:hover, .litepicker .container__months .month-item-header .button-next-month:hover { color: var(--litepickerMonthButtonHover) } .litepicker .container__months .month-item-header .button-previous-month:hover>svg, .litepicker .container__months .month-item-header .button-next-month:hover>svg { fill: var(--litepickerMonthButtonHover) } .litepicker .container__months .month-item-weekdays-row { display: -webkit-box; display: -ms-flexbox; display: flex; justify-self: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; color: var(--litepickerMonthWeekdayColor) } .litepicker .container__months .month-item-weekdays-row>div { padding: 5px 0; font-size: 85%; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; width: var(--litepickerDayWidth); text-align: center } .litepicker .container__months .month-item:first-child .button-previous-month { visibility: visible } .litepicker .container__months .month-item:last-child .button-next-month { visibility: visible } .litepicker .container__months .month-item.no-previous-month .button-previous-month { visibility: hidden } .litepicker .container__months .month-item.no-next-month .button-next-month { visibility: hidden } .litepicker .container__days { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-self: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; text-align: center; -webkit-box-sizing: content-box; box-sizing: content-box } .litepicker .container__days>div, .litepicker .container__days>a { padding: 5px 0; width: var(--litepickerDayWidth) } .litepicker .container__days .day-item { color: var(--litepickerDayColor); text-align: center; text-decoration: none; border-radius: 3px; -webkit-transition: color 0.3s, border 0.3s; transition: color 0.3s, border 0.3s; cursor: default } .litepicker .container__days .day-item:hover { color: var(--litepickerDayColorHover); -webkit-box-shadow: inset 0 0 0 1px var(--litepickerDayColorHover); box-shadow: inset 0 0 0 1px var(--litepickerDayColorHover) } .litepicker .container__days .day-item.is-today { color: var(--litepickerDayIsTodayColor) } .litepicker .container__days .day-item.is-locked { color: var(--litepickerDayIsLockedColor) } .litepicker .container__days .day-item.is-locked:hover { color: var(--litepickerDayIsLockedColor); -webkit-box-shadow: none; box-shadow: none; cursor: default } .litepicker .container__days .day-item.is-booked { color: var(--litepickerDayIsBookedColor) } .litepicker .container__days .day-item.is-booked:hover { color: var(--litepickerDayIsBookedColor); -webkit-box-shadow: none; box-shadow: none; cursor: default } .litepicker .container__days .day-item.is-in-range { background-color: var(--litepickerDayIsInRange); border-radius: 0 } .litepicker .container__days .day-item.is-start-date { color: var(--litepickerDayIsStartColor); background-color: var(--litepickerDayIsStartBg); border-top-left-radius: 5px; border-bottom-left-radius: 5px; border-top-right-radius: 0; border-bottom-right-radius: 0 } .litepicker .container__days .day-item.is-start-date.is-flipped { border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 5px; border-bottom-right-radius: 5px } .litepicker .container__days .day-item.is-end-date { color: var(--litepickerDayIsEndColor); background-color: var(--litepickerDayIsEndBg); border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 5px; border-bottom-right-radius: 5px } .litepicker .container__days .day-item.is-end-date.is-flipped { border-top-left-radius: 5px; border-bottom-left-radius: 5px; border-top-right-radius: 0; border-bottom-right-radius: 0 } .litepicker .container__days .day-item.is-start-date.is-end-date { border-top-left-radius: 5px; border-bottom-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px } .litepicker .container__days .day-item.is-highlighted { color: var(--litepickerHighlightedDayColor); background-color: var(--litepickerHighlightedDayBg) } .litepicker .container__days .week-number { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; color: #9e9e9e; font-size: 85% } .litepicker .container__footer { text-align: right; padding: 10px 5px; margin: 0 5px; background-color: #fafafa; -webkit-box-shadow: inset 0px 3px 3px 0px #ddd; box-shadow: inset 0px 3px 3px 0px #ddd; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px } .litepicker .container__footer .preview-date-range { margin-right: 10px; font-size: 90% } .litepicker .container__footer .button-cancel { background-color: var(--litepickerButtonCancelBg); color: var(--litepickerButtonCancelColor); border: 0; padding: 3px 7px 4px; border-radius: 3px } .litepicker .container__footer .button-cancel>svg, .litepicker .container__footer .button-cancel>img { pointer-events: none } .litepicker .container__footer .button-apply { background-color: var(--litepickerButtonApplyBg); color: var(--litepickerButtonApplyColor); border: 0; padding: 3px 7px 4px; border-radius: 3px; margin-left: 10px; margin-right: 10px } .litepicker .container__footer .button-apply:disabled { opacity: 0.7 } .litepicker .container__footer .button-apply>svg, .litepicker .container__footer .button-apply>img { pointer-events: none } .litepicker .container__tooltip { position: absolute; margin-top: -4px; padding: 4px 8px; border-radius: 4px; background-color: #fff; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); white-space: nowrap; font-size: 11px; pointer-events: none; visibility: hidden } .litepicker .container__tooltip:before { position: absolute; bottom: -5px; left: calc(50% - 5px); border-top: 5px solid rgba(0, 0, 0, 0.12); border-right: 5px solid transparent; border-left: 5px solid transparent; content: "" } .litepicker .container__tooltip:after { position: absolute; bottom: -4px; left: calc(50% - 4px); border-top: 4px solid #fff; border-right: 4px solid transparent; border-left: 4px solid transparent; content: "" } .litepicker-open { overflow: hidden } .litepicker-backdrop { display: none; background-color: #000; opacity: 0.3; position: fixed; top: 0; right: 0; bottom: 0; left: 0 } /** CSS compatibility with vuematerial */ html.md-theme-default .container-fluid.md-layout.form-padding.vue-form-builder, html.md-theme-default .container-fluid.md-layout.form-padding.vue-form-renderer { margin: auto; display: block !important; } html.md-theme-default .vue-form-builder .section-container { min-width: 100%; max-width: 100%; } .md-button.md-info, .md-button.md-info.active, .md-button.md-info.active:focus, .md-button.md-info.active:hover, .md-button.md-info:active, .md-button.md-info:active:focus, .md-button.md-info:active:hover, .md-button.md-info:focus, .md-button.md-info:hover, .open>.md-button.md-info.dropdown-toggle, .open>.md-button.md-info.dropdown-toggle:focus, .open>.md-button.md-info.dropdown-toggle:hover { background-color: #00bcd4 !important; color: #fff !important; } .md-button.md-secondary, .md-button.md-secondary.active, .md-button.md-secondary.active:focus, .md-button.md-secondary.active:hover, .md-button.md-secondary:active, .md-button.md-secondary:active:focus, .md-button.md-secondary:active:hover, .md-button.md-secondary:focus, .md-button.md-secondary:hover { background-color: #999 !important; color: #fff !important; } .md-button.md-success, .md-button.md-success.active, .md-button.md-success.active:focus, .md-button.md-success.active:hover, .md-button.md-success:active, .md-button.md-success:active:focus, .md-button.md-success:active:hover, .md-button.md-success:focus, .md-button.md-success:hover, .open>.md-button.md-success.dropdown-toggle, .open>.md-button.md-success.dropdown-toggle:focus, .open>.md-button.md-success.dropdown-toggle:hover { background-color: #4caf50 !important; color: #fff !important; } .md-button.md-warning, .md-button.md-warning.active, .md-button.md-warning.active:focus, .md-button.md-warning.active:hover, .md-button.md-warning:active, .md-button.md-warning:active:focus, .md-button.md-warning:active:hover, .md-button.md-warning:focus, .md-button.md-warning:hover, .open>.md-button.md-warning.dropdown-toggle, .open>.md-button.md-warning.dropdown-toggle:focus, .open>.md-button.md-warning.dropdown-toggle:hover { background-color: #ff9800 !important; color: #fff !important; } html.md-theme-default .vue-form-builder .sidebar { z-index: 5; right: 0; left: auto; background-color: #fff !important; } html.md-theme-default .vue-form-builder .sidebar a.md-list-item-action { width: 100%; color: #495057 !important; text-align: inherit; } html.md-theme-default .vue-form-builder .sidebar .close { z-index: 6; } html.md-theme-default .vue-form-builder a.md-list-item-action { width: 100%; color: #495057 !important; text-align: inherit; } html.md-theme-default .vue-form-builder .md-list-item { position: relative; display: block; padding: .75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid rgba(0, 0, 0, .125); } @media (max-width: 768px) { html.md-theme-default .vue-form-builder .sidebar { right: 60%; } } /******************************************************************* * Tab View CSS *******************************************************************/ .tabs { left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); position: relative; background: white; padding-bottom: 20px; width: 100%; min-width: 240px; } .tabs input[name="tab-control"] { display: none; } .tabs .content section h2, .tabs ul li label { font-weight: bold; font-size: 18px; color: #428BFF; } .tabs ul { list-style-type: none; padding-left: 0; display: -webkit-box; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; flex-direction: row; margin-bottom: 10px; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: end; align-items: flex-end; flex-wrap: wrap; } .tabs ul li { box-sizing: border-box; -webkit-box-flex: 1; flex: 1; width: 25%; padding: 0 10px; text-align: center; } .tabs ul li label { -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; color: #929daf; padding: 5px auto; overflow: hidden; text-overflow: ellipsis; display: block; cursor: pointer; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; white-space: nowrap; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .tabs ul li label br { display: none; } .tabs ul li label svg { fill: #929daf; height: 1.2em; vertical-align: bottom; margin-right: 0.2em; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .tabs ul li label:hover, .tabs ul li label:focus, .tabs ul li label:active { outline: 0; color: #bec5cf; } .tabs ul li label:hover svg, .tabs ul li label:focus svg, .tabs ul li label:active svg { fill: #bec5cf; } .tabs ul li label.add-row { color:black; } .tabs ul li label.add-row svg { fill: #27ae60; } .tabs .slider { position: relative; width: 25%; -webkit-transition: all 0.33s cubic-bezier(0.38, 0.8, 0.32, 1.07); transition: all 0.33s cubic-bezier(0.38, 0.8, 0.32, 1.07); } .tabs .slider .indicator { position: relative; width: 50px; max-width: 100%; margin: 0 auto; height: 4px; background: #428BFF; border-radius: 1px; } .tabs .content { margin-top: 30px; } .tabs .content section { display: none; -webkit-animation-name: content; animation-name: content; -webkit-animation-direction: normal; animation-direction: normal; -webkit-animation-duration: 0.3s; animation-duration: 0.3s; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; -webkit-animation-iteration-count: 1; animation-iteration-count: 1; line-height: 1.4; } .tabs .content section h2 { color: #428BFF; display: none; } .tabs .content section h2::after { content: ""; position: relative; display: block; width: 30px; height: 3px; background: #428BFF; margin-top: 5px; left: 1px; } .tabs input[name="tab-control"]:nth-of-type(1):checked ~ ul > li:nth-child(1) > label { cursor: default; color: #428BFF; } .tabs input[name="tab-control"]:nth-of-type(1):checked ~ ul > li:nth-child(1) > label svg { fill: #428BFF; } @media (max-width: 600px) { .tabs input[name="tab-control"]:nth-of-type(1):checked ~ ul > li:nth-child(1) > label { background: rgba(0, 0, 0, 0.08); } } .tabs input[name="tab-control"]:nth-of-type(1):checked ~ .slider { -webkit-transform: translateX(0%); transform: translateX(0%); } .tabs input[name="tab-control"]:nth-of-type(1):checked ~ .content > section:nth-child(1) { display: block; } .tabs input[name="tab-control"]:nth-of-type(2):checked ~ ul > li:nth-child(2) > label { cursor: default; color: #428BFF; } .tabs input[name="tab-control"]:nth-of-type(2):checked ~ ul > li:nth-child(2) > label svg { fill: #428BFF; } @media (max-width: 600px) { .tabs input[name="tab-control"]:nth-of-type(2):checked ~ ul > li:nth-child(2) > label { background: rgba(0, 0, 0, 0.08); } } .tabs input[name="tab-control"]:nth-of-type(2):checked ~ .slider { -webkit-transform: translateX(100%); transform: translateX(100%); } .tabs input[name="tab-control"]:nth-of-type(2):checked ~ .content > section:nth-child(2) { display: block; } .tabs input[name="tab-control"]:nth-of-type(3):checked ~ ul > li:nth-child(3) > label { cursor: default; color: #428BFF; } .tabs input[name="tab-control"]:nth-of-type(3):checked ~ ul > li:nth-child(3) > label svg { fill: #428BFF; } @media (max-width: 600px) { .tabs input[name="tab-control"]:nth-of-type(3):checked ~ ul > li:nth-child(3) > label { background: rgba(0, 0, 0, 0.08); } } .tabs input[name="tab-control"]:nth-of-type(3):checked ~ .slider { -webkit-transform: translateX(200%); transform: translateX(200%); } .tabs input[name="tab-control"]:nth-of-type(3):checked ~ .content > section:nth-child(3) { display: block; } .tabs input[name="tab-control"]:nth-of-type(4):checked ~ ul > li:nth-child(4) > label { cursor: default; color: #428BFF; } .tabs input[name="tab-control"]:nth-of-type(4):checked ~ ul > li:nth-child(4) > label svg { fill: #428BFF; } @media (max-width: 600px) { .tabs input[name="tab-control"]:nth-of-type(4):checked ~ ul > li:nth-child(4) > label { background: rgba(0, 0, 0, 0.08); } } .tabs input[name="tab-control"]:nth-of-type(4):checked ~ .slider { -webkit-transform: translateX(300%); transform: translateX(300%); } .tabs input[name="tab-control"]:nth-of-type(4):checked ~ .content > section:nth-child(4) { display: block; } @-webkit-keyframes content { from { opacity: 0; -webkit-transform: translateY(5%); transform: translateY(5%); } to { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } } @keyframes content { from { opacity: 0; -webkit-transform: translateY(5%); transform: translateY(5%); } to { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } } @media (max-width: 1000px) { .tabs ul li label { white-space: initial; } .tabs ul li label br { display: initial; } .tabs ul li label svg { height: 1.5em; } } @media (max-width: 600px) { .tabs ul li label { padding: 5px; border-radius: 5px; } .tabs ul li label span { display: none; } .tabs .slider { display: none; } .tabs .content { margin-top: 20px; } .tabs .content section h2 { display: block; } } /******************************************************** * Modal CSS - Good enough to use - standalone * Ref: https://www.w3schools.com/howto/howto_css_modals.asp ********************************************************/ /* The Modal (background) */ #vfb-global-modal.modal { display: none; /* Hidden by default */ position: fixed; /* Stay in place */ z-index: 1; /* Sit on top */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ padding-top:100px; overflow: auto; /* Enable scroll if needed */ background-color: rgb(0,0,0); /* Fallback color */ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ } #vfb-global-modal .modal-header { padding-top: 10px; padding-bottom: 5px; padding-left: 16px; padding-right: 16px; background-color: #5cb85c; color: white; display: block; } /* Modal Body */ #vfb-global-modal .modal-body { padding: 10px 16px; } /* Modal Content */ #vfb-global-modal .modal-content { position: relative; background-color: #fefefe; margin: auto; padding: 0; border: 1px solid #888; width: 50%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); animation-name: animatetop; animation-duration: 0.4s } #vfb-global-modal .close:hover, #vfb-global-modal .close:focus { color: black; text-decoration: none; cursor: pointer; } /* Add Animation */ @keyframes animatetop { from {top: -300px; opacity: 0} to {top: 0; opacity: 1} }