:root{--primary: #54b755;--primary-hover: #459846;--footer-bg: #1e2a34;--error: #ef5350;--error-hover: #e53935;--bg-body: #ffffff;--bg-surface: #ffffff;--bg-elevated: #f9fafb;--bg-hover: #f5f5f5;--bg-selected: #dcd9d9;--bg-disabled: #f7f6f6;--bg-cover: #9a9a9a;--bg-banner: linear-gradient(135deg, #f5f7fa 0%, #e4efe9 100%);--text-primary: #2c3e50;--text-secondary: #7f8c8d;--text-light: #ffffff;--text-muted: #575962;--text-disabled: rgba(0, 0, 0, .38);--text-icon: #999999;--border-primary: rgba(0, 0, 0, .12);--border-secondary: #e5e7eb;--border-light: #f1f1f1;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-dropdown: 0 8px 16px rgba(0, 0, 0, .15);--hover-overlay: rgba(0, 0, 0, .04);--active-overlay: rgba(84, 183, 85, .12);--focus-ring: rgba(84, 183, 85, .24)}body.dark-mode{--primary-hover: #a5d6a7;--footer-bg: #1a1a1a;--error: #ef5350;--error-hover: #e53935;--bg-body: #121212;--bg-surface: #1e1e1e;--bg-elevated: #2c2c2c;--bg-hover: rgba(255, 255, 255, .08);--bg-selected: rgba(129, 199, 132, .16);--bg-disabled: #1a1a1a;--bg-cover: #2c2c2c;--bg-banner: linear-gradient(135deg, #1a1a1a 0%, #1e2d1e 100%);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--text-muted: #ffffff;--text-light: #575962;--text-disabled: rgba(255, 255, 255, .38);--text-icon: rgba(255, 255, 255, .6);--border-primary: rgba(255, 255, 255, .12);--border-secondary: rgba(255, 255, 255, .12);--border-light: rgba(255, 255, 255, .08);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-dropdown: 0 8px 16px rgba(0, 0, 0, .4);--hover-overlay: rgba(255, 255, 255, .08);--active-overlay: rgba(129, 199, 132, .16);--focus-ring: rgba(129, 199, 132, .24)}@font-face{font-family:Montserratarm-Regular;src:url(/assets/fonts/Montserratarm-Regular/Montserratarm-Regular.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/Montserratarm-Regular/Montserratarm-Regular.otf) format("opentype"),url(/assets/fonts/Montserratarm-Regular/Montserratarm-Regular.woff) format("woff"),url(/assets/fonts/Montserratarm-Regular/Montserratarm-Regular.ttf) format("truetype"),url(/assets/fonts/Montserratarm-Regular/Montserratarm-Regular.svg#Montserratarm-Regular) format("svg");font-weight:400;font-style:normal}*{padding:0;margin:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;font-family:Montserratarm-Regular,sans-serif}body{background:var(--bg-body);color:var(--text-primary);line-height:1.75;font-size:16px;font-weight:400;scroll-behavior:smooth}body.no-transition *{transition:none!important}.bg-primary{background-color:var(--primary)!important}.link{color:var(--primary);cursor:pointer;font-weight:500;text-decoration:none}.link:hover{color:var(--primary-hover);text-decoration:underline}form *[class*=cell-] input[type=text],.form *[class*=cell-] input[type=text],form .cell input[type=text],.form .cell input[type=text],form *[class*=cell-] input[type=password],.form *[class*=cell-] input[type=password],form .cell input[type=password],.form .cell input[type=password],form *[class*=cell-] input[type=number],.form *[class*=cell-] input[type=number],form .cell input[type=number],.form .cell input[type=number],form *[class*=cell-] select,.form *[class*=cell-] select,form .cell select,.form .cell select,form *[class*=cell-] textarea,.form *[class*=cell-] textarea,form .cell textarea,.form .cell textarea{width:100%;outline:none}.form-field{display:block;font-size:14px;line-height:normal}.form-field .field-label{width:100%;font-weight:500;font-size:14px;display:inline-block;margin-bottom:5px}.form-field .field-element{width:100%}.form-field .field-errors{display:none}.form-field .field-errors .field-error{color:var(--error);padding:2px 0;font-size:13px}.form-field.show-errors .field-errors{display:block}field-select .field-element{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:5px}field-select .field-element.disabled{background:var(--bg-disabled);opacity:.6}field-select .field-element li.selected{background:var(--bg-selected)}field-select .field-element .dropdown-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;line-height:20px}field-select .field-element .dropdown-header .field-element-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}field-select .field-element ul{top:35px}field-select .field-element .opened ul,field-select .field-element .opened span{box-shadow:var(--shadow-dropdown)}field-tags .field-element{border:none;position:relative}field-tags .field-element li.selected{background:var(--bg-selected)}field-tags .field-element .dropdown-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;line-height:20px}field-tags .field-element .dropdown-header .field-element-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}field-tags .field-element ul{top:35px}field-tags .field-element .opened ul,field-tags .field-element .opened span{box-shadow:var(--shadow-dropdown)}field-tags .field-element input{border-color:var(--border-primary)}field-tags .tags{margin-top:5px;display:flex;flex-wrap:wrap;gap:5px}field-tags .tags .tag{padding:5px 20px 5px 8px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:5px;position:relative;width:auto;max-width:100%;font-size:12px}field-tags .tags .tag .fa-solid{position:absolute;right:6px;top:7px;cursor:pointer}field-tags .tags.disabled .tag{background:var(--bg-disabled);opacity:.6}field-tags .tags.disabled .fa-solid{display:none}input[type=text],input[type=password],input[type=number],select,textarea{background-color:var(--bg-surface);font-size:14px;border:1px solid var(--border-primary);padding:5px 10px;border-radius:5px;color:var(--text-primary);line-height:20px}input[type=text]:focus,input[type=password]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}input[type=text]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,select::placeholder,textarea::placeholder{color:var(--text-disabled)}input[type=text]:disabled,input[type=password]:disabled,input[type=number]:disabled,select:disabled,textarea:disabled{background:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.panel{flex-direction:column;position:relative;max-width:100%;padding:1rem;background:var(--bg-surface);overflow-x:hidden;overflow-y:auto;transition:all .5s;z-index:102;box-shadow:var(--shadow-lg);display:flex}.panel .panel-header{border-bottom:1px solid var(--border-primary);display:flex;font-size:1rem;font-weight:500;justify-content:space-between;padding-bottom:1rem;position:relative;align-items:center}.panel .panel-header .close-icon{cursor:pointer}.panel .panel-body{padding:1rem 0;flex:1 1;overflow-y:auto}.panel .panel-footer{border-top:1px solid var(--border-primary);padding-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.panel .panel-title{margin:0}.panel .panel-subtitle{color:var(--text-secondary);font-weight:400;margin-bottom:.5rem;width:100%}img{border-style:none;max-width:100%;max-height:100%;transition:filter .3s ease}ul{list-style:none}.search-form-container{display:flex;flex-wrap:wrap;gap:5px;min-width:350px;max-width:500px;flex:1;margin:0 1rem}.search-form-container .search-form{flex:2;width:100%;min-width:200px;position:relative;margin-left:auto}.search-form-container .search-form i{position:absolute;top:15px;right:15px;color:var(--text-icon);font-size:1rem}.search-form-container .search-form .search-form-input{height:45px;line-height:45px;font-weight:500;font-size:14px;display:inline-block;margin-bottom:0;width:100%;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary)}.search-form-container .search-form .search-form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.search-form-container .search-form .search-form-input::placeholder{color:var(--text-disabled)}.search-form-container .filter{flex:1;width:45px;max-width:45px;height:45px;display:inline-block;line-height:45px;text-align:center;cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:8px}.search-form-container .filter i{line-height:45px;font-size:1rem}.search-form-container .filter:hover{background-color:var(--hover-overlay)}.search-form-container .filter.active{background-color:var(--active-overlay);color:var(--primary)}.search-form-container .sorting[dropdown]{width:45px;max-width:45px;margin:0;padding:0;flex:1;border:1px solid var(--border-secondary);border-radius:8px}.search-form-container .sorting[dropdown] .dropdown-header{margin:0;padding:0}.search-form-container .sorting[dropdown] ul{top:auto}.card-group{display:flex;flex-wrap:wrap;margin:0 -10px}.card{padding:1rem;position:relative;background:var(--bg-surface);box-shadow:var(--shadow-sm);transition:box-shadow .3s ease}.card:hover{box-shadow:var(--shadow-md)}.card .card-header{overflow:hidden;position:relative;aspect-ratio:unset;height:200px}.card .card-header img{object-fit:cover;border-radius:.5rem;height:100%;width:100%}.card .card-header page-cover{display:flex;position:relative;background-color:var(--bg-cover);background-size:cover;background-position:center center;background-repeat:no-repeat;height:100%;max-height:1600px;min-height:100px;aspect-ratio:3 / 1;border-radius:.3rem .3rem 0 0}.card .card-header page-cover .wrapper{width:100%;height:100%;position:relative;background:var(--bg-body)}.card .card-header page-cover .wrapper .bg{position:absolute;width:100%;height:100%;inset:0;background-repeat:no-repeat;background-size:cover;background-position:center;display:flex;justify-content:center;align-items:center;overflow:hidden;filter:blur(14px)}.card .card-header page-cover .wrapper figure{position:absolute;top:0;bottom:0;right:50%;transform:translate(50%);overflow:hidden;width:70%}.card .card-header page-cover .wrapper figure img{width:100%;height:100%;object-fit:contain;object-position:center}.card .card-body{display:flex;flex-direction:column;grid-gap:.5rem;padding-top:.5rem}.card .card-body .project-category{color:var(--primary);font-size:.875rem;font-weight:500}.card .card-body .card-title{font-size:1rem;line-height:24px;font-weight:600;text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-primary)}.card .card-body .progress-container,.card .card-body .progress-container .progress-bar{margin:.5rem 0}.card .card-body .progress-container .progress-stats{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-secondary)}.card .card-footer{display:flex;justify-content:space-between;align-items:center}.card .card-footer .days-left{font-size:.875rem;color:var(--text-secondary)}[dropdown],.dropdown{cursor:pointer;position:relative;width:200px;background:var(--bg-surface)}[dropdown] .dropdown-header,.dropdown .dropdown-header{border-radius:3px;display:inline-block;width:100%;padding:5px 10px;color:var(--text-primary)}[dropdown] .dropdown-header,.dropdown .dropdown-header,[dropdown] .dropdown-header .fa-solid,.dropdown .dropdown-header .fa-solid{font-size:14px}[dropdown] ul,.dropdown ul{background:var(--bg-elevated);position:absolute;display:none;left:0;top:27px;min-width:100%;max-width:100%;z-index:100;border-radius:.3rem;transition:all .3s linear 0s;max-height:260px;overflow-x:hidden;overflow-y:auto;text-align:left;box-shadow:var(--shadow-dropdown);border:1px solid var(--border-primary)}[dropdown] ul li,.dropdown ul li{padding:.5rem .75rem;white-space:nowrap;display:flex;gap:.5rem;color:var(--text-primary)}[dropdown] ul li:hover,.dropdown ul li:hover{background:var(--hover-overlay)}[dropdown] ul li.selected,.dropdown ul li.selected{background:var(--active-overlay);color:var(--primary)}[dropdown] li,.dropdown li,[dropdown] li .fa-solid,.dropdown li .fa-solid{line-height:22px;font-size:14px}[dropdown] li .fa-solid,.dropdown li .fa-solid{width:20px}[dropdown].opened ul,.dropdown.opened ul{display:block}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;width:100%}.wysiwyg-content{line-height:1.6;color:var(--text-primary);word-wrap:break-word;font-size:.875rem}.wysiwyg-content h1,.wysiwyg-content h2,.wysiwyg-content h3,.wysiwyg-content h4,.wysiwyg-content h5,.wysiwyg-content h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;color:var(--text-primary)}.wysiwyg-content a{text-decoration:underline;color:var(--primary)}.wysiwyg-content a:hover{color:var(--primary-hover)}.wysiwyg-content p{margin-bottom:1rem;color:var(--text-primary)}.wysiwyg-content ul,.wysiwyg-content ol{list-style:inherit;margin-bottom:1rem;padding-left:1.5rem;color:var(--text-primary)}.wysiwyg-content img{margin:10px 0;max-width:100%}.section-title{font-size:32px;line-height:38px;font-weight:600;margin:3rem 0}.section-blog{display:flex;justify-items:center;gap:2rem;padding:5rem 0;position:relative}.section-blog .blog-title{color:var(--primary);font-size:1.125rem;text-decoration:none}.section-blog .blog-title:hover{color:var(--primary-hover);text-decoration:underline}.section-blog .blog-title:after{content:"";position:absolute;inset:0}.button{color:inherit;text-align:center;display:inline-flex;align-items:center;justify-content:center;border:1px solid;font-size:.875rem;line-height:18px;white-space:nowrap;vertical-align:middle;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .2s ease;cursor:pointer;position:relative;background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-primary)}.button:hover:not(.disabled,[disabled]){background-color:var(--hover-overlay)}.button[disabled],.button[disabled]:hover,.button.disabled,.button.disabled:hover{opacity:.5;cursor:not-allowed}.button>.fa-spin{margin-left:10px}.btn-primary{color:inherit;text-align:center;display:inline-flex;align-items:center;justify-content:center;border:1px solid;font-size:.875rem;line-height:18px;white-space:nowrap;vertical-align:middle;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .2s ease;cursor:pointer;position:relative;background:var(--primary);color:#fff;border:none}.btn-primary:hover:not(.disabled,[disabled]){background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{color:inherit;text-align:center;display:inline-flex;align-items:center;justify-content:center;border:1px solid;font-size:.875rem;line-height:18px;white-space:nowrap;vertical-align:middle;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .2s ease;cursor:pointer;position:relative;background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-secondary:hover:not(.disabled,[disabled]){background:var(--active-overlay)}.btn-error{color:inherit;text-align:center;display:inline-flex;align-items:center;justify-content:center;border:1px solid;font-size:.875rem;line-height:18px;white-space:nowrap;vertical-align:middle;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .2s ease;cursor:pointer;position:relative;color:#fff;background-color:var(--error);border-color:var(--error)}.btn-error:hover:not(.disabled,[disabled]){background-color:var(--error-hover);box-shadow:var(--shadow-md)}.progress-bar{height:8px;background:var(--bg-elevated);border-radius:4px}.progress-bar .progress-fill{height:100%;width:0;max-width:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}@media (max-width: 991px){.section-blog{flex-direction:column}}@media (min-width: 576px){.container{max-width:576px}}@media (min-width: 768px){.container{max-width:768px}.search-form{margin:0}}@media (min-width: 992px){.container{max-width:992px}}@media (min-width: 1200px){.container{max-width:1200px}}@media (min-width: 1400px){.container{max-width:1400px}}@media (min-width: 1600px){.container{max-width:1600px}}.load-more{text-align:center;margin:1rem 0}.load-more i.fa-spin{display:none;margin-left:10px}.load-more.loading{opacity:.5}.load-more.loading i.fa-spin{display:inline-block}.social-icon{display:inline-block;width:2rem;height:2rem;background:var(--hover-overlay);text-align:center;border-radius:50%;padding:0;border:1px solid var(--border-primary);line-height:2rem;font-size:18px;color:var(--text-primary);transition:background .2s ease}.social-icon:hover{background:var(--active-overlay)}.content-search-box{margin:0 auto 3rem}.content-search-box .search-input{width:100%;padding:.875rem 1.25rem;border:1px solid var(--border-secondary);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--bg-surface);transition:all .2s ease}.content-search-box .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.content-search-box .search-input::placeholder{color:var(--text-disabled)}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}pre,code{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-primary);padding:.5rem;border-radius:4px}@media print{body.dark-mode{background:#fff!important;color:#000!important}body.dark-mode *{background:#fff!important;color:#000!important;box-shadow:none!important}}
