.dlui-carousel{position:relative;width:100%;isolation:isolate}.dlui-carousel:focus-within,.dlui-carousel:hover{isolation:auto;z-index:999}.dlui-carousel__viewport{display:flex;align-items:center;width:100%;min-height:calc(var(--slide-height,160px) + 40px)}.dlui-carousel__track{display:flex;transition:transform .5s ease;position:relative;z-index:1}.dlui-carousel__slide{flex-shrink:0;padding:0 .75rem;box-sizing:border-box;display:flex;align-items:stretch;overflow:visible;margin:0;position:relative;z-index:1}.dlui-carousel:hover .dlui-carousel__slide{z-index:10}.dlui-carousel__slide:hover{z-index:100!important}.dlui-carousel__slide--single :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.15) translateY(-15px) translateX(15px);transform-origin:left center}.dlui-carousel__slide--first-of-two :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.15) translateY(-15px) translateX(12px);transform-origin:left center}.dlui-carousel__slide--last-of-two :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.15) translateY(-15px) translateX(-12px);transform-origin:right center}.dlui-carousel__slide--first :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.15) translateY(-15px) translateX(20px);transform-origin:left center}.dlui-carousel__slide--last :deep(.dlui-course-card.dlui-course-card-expandable:hover),.dlui-carousel__slide--partial :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.15) translateY(-15px) translateX(var(--dynamic-translateX,-25px));transform-origin:right center}.dlui-carousel__slide--middle :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.15) translateY(-15px);transform-origin:center center}.dlui-carousel__slide :deep(.dlui-course-card.dlui-course-card-expandable:hover){z-index:1000!important;position:relative!important}.dlui-carousel__nav{position:absolute;top:50%;transform:scale(.95);z-index:101;background-color:rgba(255,255,255,.1);box-shadow:0 2px 8px rgba(0,0,0,.15);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:50%;width:42px;height:42px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease;opacity:.7}.dlui-carousel__nav:hover{background-color:rgba(255,255,255,.15);opacity:1;transform:scale(1)}.dlui-carousel__nav:focus{outline:0;box-shadow:0 0 0 2px rgba(0,121,200,.4)}.dlui-carousel__nav--on-demand{opacity:0;visibility:hidden}.dlui-carousel:focus-within .dlui-carousel__nav--on-demand,.dlui-carousel:hover .dlui-carousel__nav--on-demand{opacity:1;visibility:visible}.dlui-carousel__nav--prev{left:.5rem}.dlui-carousel__nav--next{right:.5rem}.dlui-carousel__nav svg{filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .3));stroke:currentColor;stroke-width:2.5;paint-order:stroke fill;stroke-linejoin:round;stroke-linecap:round}.dlui-carousel__pagination{position:absolute;bottom:-1rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:.5rem;transition:opacity .3s ease,visibility .3s ease}.dlui-carousel__pagination--on-demand{opacity:0;visibility:hidden}.dlui-carousel:focus-within .dlui-carousel__pagination--on-demand,.dlui-carousel:hover .dlui-carousel__pagination--on-demand{opacity:1;visibility:visible}.dlui-carousel__pagination button{width:12px;height:12px;border-radius:50%;background-color:rgba(255,255,255,.6);border:1px solid #888;padding:0;cursor:pointer;transition:background-color .2s ease}.dlui-carousel__pagination button.is-active{background-color:#fff}.dlui-carousel__pagination button:focus{outline:2px solid #007cba;outline-offset:2px}@media (max-width:768px){.dlui-carousel__viewport{padding:0;margin:16px 0}.dlui-carousel__nav{width:44px;height:44px;background-color:rgba(0,0,0,.85)}.dlui-carousel__nav--prev{left:8px}.dlui-carousel__nav--next{right:8px}.dlui-carousel__nav--on-demand{opacity:1;visibility:visible}.dlui-carousel__nav svg{width:18px;height:18px}.dlui-carousel__pagination{bottom:-2rem}.dlui-carousel__pagination--mobile{opacity:1;visibility:visible}.dlui-carousel__pagination button{width:14px;height:14px}.dlui-carousel__slide{padding:0 .5rem;margin:0}.dlui-carousel__slide--single :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px) translateX(8px)}.dlui-carousel__slide--first-of-two :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px) translateX(6px)}.dlui-carousel__slide--last-of-two :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px) translateX(-6px)}.dlui-carousel__slide--first :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px) translateX(10px)}.dlui-carousel__slide--last:not(.dlui-carousel__slide--last-of-two) :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px) translateX(-10px)}.dlui-carousel__slide--middle :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px)}.dlui-carousel__slide--partial :deep(.dlui-course-card.dlui-course-card-expandable:hover){transform:scale(1.1) translateY(-10px) translateX(-15px)}}:global(.dlui-course-card.dlui-course-card-expandable:hover){z-index:10000!important;position:relative!important}@keyframes shimmer{100%{transform:translateX(100%)}}.dlui-skeleton{position:relative;overflow:hidden;background-color:#e5e7eb}.dlui-skeleton::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 1.5s infinite}.dlui-alert{display:flex;padding:1rem;border-radius:.375rem;border-width:1px}.dlui-alert--info{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.dlui-alert--success{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.dlui-alert--warning{background-color:#fffbeb;border-color:#fde68a;color:#92400e}.dlui-alert--danger{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.dlui-alert__icon{flex-shrink:0;margin-right:.75rem;width:24px;height:24px}.dlui-alert__content{flex-grow:1}.dlui-alert__title{margin:0 0 .25rem 0;font-weight:600;font-size:1rem}.dlui-alert__message{font-size:.875rem}.dlui-alert__close-btn{margin-left:1rem;background:0 0;border:none;padding:0;color:inherit;cursor:pointer;opacity:.7;transition:opacity .2s ease}.dlui-alert__close-btn:hover{opacity:1}.dlui-alert-fade-enter-active,.dlui-alert-fade-leave-active{transition:opacity .3s ease}.dlui-alert-fade-enter-from,.dlui-alert-fade-leave-to{opacity:0}.btn-danger,.btn-dark,.btn-info,.btn-light,.btn-primary,.btn-secondary,.btn-success,.btn-warning,.dlui-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-weight:500;border-radius:.375rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);transition:all .2s ease-in-out;font-family:var(--moodle-font-family, inherit)}.btn-danger:focus,.btn-dark:focus,.btn-info:focus,.btn-light:focus,.btn-primary:focus,.btn-secondary:focus,.btn-success:focus,.btn-warning:focus,.dlui-button:focus{outline:0;box-shadow:0 0 0 2px rgba(255,255,255,.5),0 0 0 4px #3b82f6}.dlui-button-xs{padding:.25rem .5rem;font-size:.75rem}.dlui-button-sm{padding:.375rem .75rem;font-size:.875rem}.dlui-button-md{padding:.5rem 1rem;font-size:.875rem}.dlui-button-lg{padding:.75rem 1.5rem;font-size:1rem}.dlui-button-xl{padding:1rem 2rem;font-size:1.125rem}.btn-primary,.dlui-button-primary{background-color:var(--primary,#3b82f6);color:#fff}.btn-primary:hover,.dlui-button-primary:hover{filter:brightness(.9)}.btn-secondary,.dlui-button-secondary{background-color:var(--background,#fff);border:1px solid var(--dl-error-base,--danger,#6b7280);color:var(--dl-error-base,--danger,--text,#000)}.btn-secondary:hover,.dlui-button-secondary:hover{filter:brightness(.9)}.btn-success,.dlui-button-success{background-color:var(--dl-success-base,--success,#22c55e);color:#fff}.btn-success:hover,.dlui-button-success:hover{filter:brightness(.9)}.btn-warning,.dlui-button-warning{background-color:var(--dl-warning-base,--warning,#f59e0b);color:#fff}.btn-warning:hover,.dlui-button-warning:hover{filter:brightness(.9)}.btn-danger,.dlui-button-danger{background-color:var(--dl-error-base,--danger,var(--dl-error-base,--danger,#ef4444));color:#fff}.btn-danger:hover,.dlui-button-danger:hover{filter:brightness(.9)}.btn-info,.dlui-button-info{background-color:var(--info,#06b6d4);color:#fff}.btn-info:hover,.dlui-button-info:hover{filter:brightness(.9)}.btn-light,.dlui-button-light{background-color:var(--gray-dark,#f3f4f6);color:var(--gray-dark,#111827)}.btn-light:hover,.dlui-button-light:hover{filter:brightness(.9)}.btn-dark,.dlui-button-dark{background-color:#111827;color:#fff}.btn-dark:hover,.dlui-button-dark:hover{background-color:#1f2b47}.dlui-button-link{background-color:transparent;color:#3b82f6;box-shadow:none}.dlui-button-link:hover{text-decoration:underline}.dlui-button-outline-primary{border-color:#3b82f6;color:#3b82f6;background-color:transparent}.dlui-button-outline-primary:hover{background-color:#3b82f6;color:#fff}.dlui-button-outline-secondary{border-color:#6b7280;color:#6b7280;background-color:transparent}.dlui-button-outline-secondary:hover{background-color:#6b7280;color:#fff}.dlui-button-outline-success{border-color:#22c55e;color:#22c55e;background-color:transparent}.dlui-button-outline-success:hover{background-color:#22c55e;color:#fff}.dlui-button-outline-warning{border-color:#f59e0b;color:#f59e0b;background-color:transparent}.dlui-button-outline-warning:hover{background-color:#f59e0b;color:#fff}.dlui-button-outline-danger{border-color:var(--dl-error-base,--danger,#ef4444);color:var(--dl-error-base,--danger,#ef4444);background-color:transparent}.dlui-button-outline-danger:hover{background-color:var(--dl-error-base,--danger,#ef4444);color:#fff}.dlui-button-outline-info{border-color:#06b6d4;color:#06b6d4;background-color:transparent}.dlui-button-outline-info:hover{background-color:#06b6d4;color:#fff}.dlui-button-outline-light{border-color:#d1d5db;color:#d1d5db;background-color:transparent;color:#374151}.dlui-button-outline-light:hover{background-color:#d1d5db;color:#fff}.dlui-button-outline-light:hover{background-color:#d1d5db;color:#111827}.dlui-button-outline-dark{border-color:#111827;color:#111827;background-color:transparent;color:#111827}.dlui-button-outline-dark:hover{background-color:#111827;color:#fff}.dlui-button-outline-dark:hover{background-color:#111827;color:#fff}.dlui-button-disabled{opacity:.5;cursor:not-allowed}.dlui-button-loading{cursor:wait}.dlui-button-block{width:100%}.dlui-button-rounded{border-radius:9999px}.btn-danger .dlui-button-icon-left,.btn-dark .dlui-button-icon-left,.btn-info .dlui-button-icon-left,.btn-light .dlui-button-icon-left,.btn-primary .dlui-button-icon-left,.btn-secondary .dlui-button-icon-left,.btn-success .dlui-button-icon-left,.btn-warning .dlui-button-icon-left,.dlui-button .dlui-button-icon-left{margin-right:.5rem}.btn-danger .dlui-button-icon-right,.btn-dark .dlui-button-icon-right,.btn-info .dlui-button-icon-right,.btn-light .dlui-button-icon-right,.btn-primary .dlui-button-icon-right,.btn-secondary .dlui-button-icon-right,.btn-success .dlui-button-icon-right,.btn-warning .dlui-button-icon-right,.dlui-button .dlui-button-icon-right{margin-left:.5rem;order:1}.btn-danger .dlui-button-spinner,.btn-dark .dlui-button-spinner,.btn-info .dlui-button-spinner,.btn-light .dlui-button-spinner,.btn-primary .dlui-button-spinner,.btn-secondary .dlui-button-spinner,.btn-success .dlui-button-spinner,.btn-warning .dlui-button-spinner,.dlui-button .dlui-button-spinner{margin-right:.5rem}.btn-danger .dlui-button-spinner-svg,.btn-dark .dlui-button-spinner-svg,.btn-info .dlui-button-spinner-svg,.btn-light .dlui-button-spinner-svg,.btn-primary .dlui-button-spinner-svg,.btn-secondary .dlui-button-spinner-svg,.btn-success .dlui-button-spinner-svg,.btn-warning .dlui-button-spinner-svg,.dlui-button .dlui-button-spinner-svg{animation:spin 1s linear infinite;transform-origin:center}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.block_dlcourses_recommended.block-full-width{padding:0!important;border:none!important;box-shadow:none!important;background:0 0;margin-left:0!important;margin-right:0!important}.block_dlcourses_recommended.block-full-width .header{display:none}.block_dlcourses_recommended.block-full-width .card-body{padding:0!important}.block_dlcourses_recommended.block-full-width .card-text.content{padding:0!important;margin-top:0!important}#page-dl-catalog-index #page.drawers{padding-left:0!important;padding-right:0!important}.empty-state,.error-message,.loading-skeleton{padding:2rem;text-align:center;margin-top:var(--navbar-height,100px)}.recommended-carousel{width:100%;margin:calc(-1 * var(--navbar-height,100px)) auto 0;max-height:100%;overflow:hidden}.recommended-carousel .dlui-carousel{z-index:0!important;max-width:100%}.recommended-carousel .dlui-carousel__viewport{min-width:0;max-width:100%;overflow:hidden}.recommended-carousel .dlui-carousel__track{width:100%;min-width:0}.recommended-carousel .dlui-carousel__slide{padding:0;min-width:0}.recommended-carousel .dlui-carousel__pagination{bottom:10px}.recommended-carousel .dlui-carousel__pagination button:focus{outline:2px solid var(--primary,#007cba)}.recommended-carousel .dlui-button-text{font-weight:700!important}.carousel-slide{width:100%;max-width:100%;background-size:cover;background-position:center;position:relative;aspect-ratio:16/9;min-height:300px}@supports not (aspect-ratio:16/9){.carousel-slide{height:60vh}}.slide-tag{display:inline-block;background-color:var(--primary,#7049bc);margin-bottom:4px;color:#fff;padding:0 12px;font-size:1rem;font-weight:700!important;text-transform:uppercase}.slide-link{display:block;width:100%;height:100%;text-decoration:none}.slide-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(4,1,54,.12) 0,transparent 22%,transparent 38%,rgba(0,0,0,.04) 46%,rgba(0,0,0,.14) 54%,rgba(0,0,0,.32) 60%,rgba(0,0,0,.38) 66%,rgba(0,0,0,.18) 74%,rgba(0,0,0,.04) 76%,transparent 77%,var(--background,#fff) 100%);display:flex;align-items:end;padding:2.5rem clamp(1.5rem,4vw,4rem)}@media (max-width:480px){.carousel-slide{aspect-ratio:4/3;min-height:250px}}@media (min-width:481px) and (max-width:768px){.carousel-slide{aspect-ratio:16/10;min-height:300px}}@media (max-width:768px){.slide-overlay{padding:0 1rem 12px;background:linear-gradient(to bottom,rgba(4,1,54,.12) 0,transparent 20%,transparent 34%,rgba(0,0,0,.05) 42%,rgba(0,0,0,.18) 52%,rgba(0,0,0,.35) 59%,rgba(0,0,0,.38) 65%,rgba(0,0,0,.16) 77%,rgba(0,0,0,.04) 78%,transparent 87%,var(--background,#fff) 100%)}}@media (min-width:769px) and (max-width:1024px){.carousel-slide{aspect-ratio:16/9;min-height:350px}}@media (min-width:1025px) and (max-width:1366px){.carousel-slide{aspect-ratio:21/9;min-height:400px}}@media (min-width:1367px){.carousel-slide{aspect-ratio:21/8;min-height:700px;max-height:800px}}@media (orientation:landscape) and (max-height:600px){.carousel-slide{height:80vh;min-height:300px}}@container (min-width:1200px){.carousel-slide{aspect-ratio:21/9}}.slide-content{color:#fff;max-width:50%;min-width:0}.slide-category{font-size:1rem;font-weight:400!important;letter-spacing:1px;margin-bottom:.75rem}.slide-short-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.08)}.slide-summary{max-height:120px;overflow:auto;scrollbar-color:var(--primary) transparent}.slide-summary p{font-size:1rem;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word;text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.35)}@media (max-width:992px){.slide-content{max-width:60%}.slide-short-title{font-size:2.2rem}}@media (max-width:768px){.recommended-carousel .dlui-carousel__viewport{padding:0;margin:0;flex-direction:row}.recommended-carousel .dlui-carousel__slide{margin:0;padding:0}.slide-content{max-width:100%;padding:0 0 1rem}.slide-overlay{padding:0 1rem 12px;background:linear-gradient(to bottom,rgba(4,1,54,.2) 20%,transparent 30%,transparent 70%,#fff 100%)}.slide-summary{margin-bottom:0}.slide-short-title{font-size:1.8rem}.slide-full-title{font-size:1rem}}