﻿@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: local('Poppins Regular'), local('Poppins-Regular'), url(../fonts/Poppins-Regular.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: local('Poppins SemiBold'), local('Poppins-SemiBold'), url(../fonts/Poppins-SemiBold.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root { --main-color: #fff; --main-color-hover: #fe2c55; }
html { box-sizing: border-box; height: 100% }
*, :after, :before { box-sizing: inherit }
body { color: #000; font-family: Poppins,sans-serif; font-size: 15px; margin: 0 auto; line-height: 1.7; }
a { color: #000; }
a:hover { text-decoration: none; color: #fe2c55; }
kbd { color: #000; background: #bfbfbf; }
button:focus { outline:none;}

.form-control.border-white { border: 1px solid rgba(167, 180, 201, 0.7) !important; }
.form-control::-ms-expand { background-color: transparent; border: 0; }
.form-control:focus { color: #6f6e6e; background-color: #fff; border-color: #828282; outline: 0; box-shadow: none; }
.form-control::-webkit-input-placeholder, .form-control::-moz-placeholder, .form-control:-ms-input-placeholder { color: #6987ab; opacity: 1; }
.btn.focus, .btn:focus { box-shadow: none }
.dropdown-item.active, .dropdown-item:active { color: var(--main-color-hover); background-color:initial; }

.header .navbar { border-bottom: 1px solid #393939; }
.header .navbar .navbar-brand { font-size: 28px; font-weight: 600; letter-spacing: 1px; padding: 0; margin: 0; }
.header .navbar .navbar-nav .nav-link { color: #000; padding: 15px 15px; font-size:16px; }
.header .navbar .navbar-nav .nav-link:hover, .header .navbar .navbar-nav .nav-link.active { color: var(--main-color-hover); }
.header .navbar .navbar-nav .nav-item .dropdown-menu { right: 0; left: initial; border-radius: 3px; font-size: 15px; }
.header .navbar .navbar-nav .nav-item .dropdown-menu a img { margin-right: 7px; }
.header .navbar .navbar-nav .nav-item .subnavtools { width: 210px; }
.header .search-panel { padding: 50px 0 40px 0; text-align: center; background: #111; color: #fff; border-bottom: 1px solid #393939; }
.header .search-panel.search-panel-subpage { padding: 30px 0 20px 0; }
.header .search-panel .loading { display: none; height: 90px; align-items: center; justify-content: center; }
.header .search-panel .slogan { font-size: 33px; }
.header .search-panel p { padding-bottom: 20px; }
.header .search-panel #download-form .url { height: 50px; border-radius: 6px 0 0 6px; border: 0; width: 100%; padding: .375rem .75rem; padding-right: 44px; font-size: .9375rem; line-height: 1.6; background-color: #fff; background-clip: padding-box; color: #2e384d; }
.header .search-panel #download-form .btn-download { font-size: 1.125rem; border-radius: 0 6px 6px 0; width: 100%; height: 50px; color: #fff; background-color: #fe2c55 !important; }
.header .search-panel #download-form .btn-download:hover { background: #f2264e !important; }
.header .search-panel #download-form .btn-clear { position: absolute; top: 7px; right: 6px; display: none; }
.header .search-panel .social-proof { font-size: 12px; text-align: right; margin-top: 7px; }
.header .search-panel .social-proof .icon-heart { background: url(../img/heart.png) no-repeat; padding-left: 22px; }
.header .search-panel .feature-list { margin-top: 30px; }
.header .search-panel .feature-list ul { grid-template-columns: repeat(4, minmax(0, 1fr)); display: grid; padding-left:0; }
.header .search-panel .feature-list ul li { display: flex; align-items: center; column-gap: .5rem; justify-content: center; text-align: center; font-size: 16px; }
.header .search-panel .feature-list ul li .icon-checklist { background: url(../img/checklist.png) no-repeat; padding-left: 24px; height: 24px; }
.header .search-panel .download-result { text-align: left; color: #222; }
.header .search-panel .download-result .row-cards, .header .search-panel .download-result .alert { margin-top: 20px; }
.header .search-panel .download-result .row-cards .card-body { padding: 1.5rem; }
.header .search-panel .download-result .col-download { max-width: 250px; }
.header .search-panel .download-result .avatar { width: 130px; }
.header .search-panel .download-result .avatar img { object-fit: cover; width: 100%; aspect-ratio: 3 / 4; }
.header .search-panel .download-result p {padding:0;}
.header .search-panel .download-result .author { line-height: 1.5; font-size: 13px; margin-bottom: 12px; }
.header .search-panel .download-result .author .author-avatar img { width: 46px; height: 46px; border-radius: 50%; margin-right: 10px; }
.header .search-panel .download-result .author .author-info .author-name { font-size: 18px; margin-bottom: 0px; font-weight: 600; padding:0; }
.header .search-panel .download-result .author .author-info a:hover { color: #000; }
.header .search-panel .download-result .description { word-break: break-word; line-height: 1.6; text-align: justify; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.header .search-panel .download-result .icon-download { background: url(../img/download-white.png) no-repeat; padding-left: 22px; }
.header .search-panel .download-result .icon-loading { animation: spinner .8s linear infinite; border: 2px solid #fff; border-right-color: transparent; border-radius: 100%; display: inline-block; width: 15px; height: 15px; margin-right: 3px; }
.header .search-panel .download-result .btn-download { font-size: 17px; }
.header .search-panel .download-result .btn-download i.icon-download { background-position: 0 3px; }
.header .search-panel .download-result .photo-list .photo-item .img { width: 100%; position: relative; padding-top: 100%; }
.header .search-panel .download-result .photo-list .photo-item .img img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; object-fit: cover; box-shadow: 0 8px 11px -6px #e2e1e1, 0 4px 6px -2px #dcdcdc; border-radius: 5px; }
.header .search-panel .download-result .photo-list .photo-item .download { margin-top: 7px; }
.header .search-panel .download-result .photo-list .photo-item .download a { font-size: 14px; }

.box-content { padding-top: 30px; }
.box-content h1, .box-content h2 { margin-bottom: 13px; font-size: 26px; font-weight: 600; }
.box-content h1 {font-size: 28px; }
.box-content ul li { padding-bottom: 10px; }
.box-content strong { font-size: 17px; }
.box-content .step-guide .step { font-weight: bold; }

.box-content .list-videos .video-item { padding-left: 9px; padding-right: 9px; margin-bottom:24px; }
.box-content .list-videos .video-item .thumbnail { position: relative; overflow: hidden; border-radius: 8px; }
.box-content .list-videos .video-item .thumbnail a { display: block; }
.box-content .list-videos .video-item .thumbnail img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; transition: transform .25s ease; }
.box-content .list-videos .video-item:hover .thumbnail img { transform: scale(1.1); }
.box-content .list-videos .video-item .view-count { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 4px; color: #fff; font-size: 13px; font-weight: 600; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.box-content .list-videos .video-item .view-count svg { width: 14px; height: 14px; flex-shrink: 0; }
.box-content .list-videos .video-item .description { padding-top: 10px; }
.box-content .list-videos .video-item .author { margin-bottom: 8px; }
.box-content .list-videos .video-item .author a { display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 500; text-decoration: none; overflow: hidden; }
.box-content .list-videos .video-item .author img { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.box-content .list-videos .video-item .author span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.box-content .video-detail .col-download { max-width: 300px; }
.box-content .video-detail .thumbnail { width: 300px; }
.box-content .video-detail .thumbnail img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; transition: transform .25s ease; }
.box-content .video-detail .author { line-height: 1.5; font-size: 13px; margin-bottom: 12px; }
.box-content .video-detail .author .author-avatar img { width: 46px; height: 46px; border-radius: 50%; margin-right: 10px; }
.box-content .video-detail .author .author-info .author-name { font-size: 18px; margin-bottom: 0px; font-weight: 600; }
.box-content .video-detail .author .author-info a:hover { color:#000; }
.box-content .video-detail .description { word-break: break-word; line-height: 1.6; text-align: justify; }
.box-content .video-detail .description.is-collapsed { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.box-content .video-detail .description-toggle { padding: 4px 0 0; border: 0; background: transparent; color: #fe2c55; font-size: 14px; font-weight: 600; cursor: pointer; }
.box-content .video-detail .description-toggle:hover, .box-content .video-detail .description-toggle:focus { color: #c71f40; text-decoration: underline; }
.box-content .video-detail .icon-download { background: url(../img/download-white.png) no-repeat; padding-left: 22px; }
.box-content .video-detail .icon-loading { animation: spinner .8s linear infinite; border: 2px solid #fff; border-right-color: transparent; border-radius: 100%; display: inline-block; width: 15px; height: 15px; margin-right: 3px; }
.box-content .video-detail .btn-download { font-size: 17px; background: #fe2c55; color:#fff; }
.box-content .video-detail .btn-download i.icon-download { background-position: 0 3px; }
.box-content .video-detail .photo-list .photo-item .img { width: 100%; position: relative; padding-top: 100%; }
.box-content .video-detail .photo-list .photo-item .img img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; object-fit: cover; box-shadow: 0 8px 11px -6px #e2e1e1, 0 4px 6px -2px #dcdcdc; border-radius: 5px; }
.box-content .video-detail .photo-list .photo-item .download { margin-top: 7px; }
.box-content .video-detail .photo-list .photo-item .download a { font-size: 14px; background: #fe2c55; color: #fff; }

.box-content .box-header .header-info { word-break: break-word;}
.box-content .box-header .header-info p { font-size: 14px; }
.box-content .box-header .header-logo img { border-radius: 50%; object-fit: cover; width: 170px; height: 170px; }

.legal-content { padding-bottom: 50px; }
.legal-content h2 { font-size: 18px; }
.legal-content h3 { font-size: 17px; font-weight: 600; }

.qa-list .qa-title { font-weight: bold; margin-bottom: 0; font-size: 18px }

.img-container { overflow: hidden; position: relative; width: 100%; display: none; margin-bottom: 10px; }
.img-container::after { padding: 0; display: block; content: ''; }
.img-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.img-container img { object-fit: cover; }

footer { border-top: 1px solid #e9e9e9; padding: 40px; }
footer .footer-header { font-weight: 600; font-size: 16px; margin-bottom: 10px; }
footer .copyright { font-size: 14px; text-align: center; margin-top: 10px; }
footer .languages { margin-top: 10px; }
footer .languages a { font-size: 13px; padding: 0 20px; text-decoration: underline; }

/* Photo preview lightbox - vanilla JS */
body.lightbox-open { overflow: hidden; }
.photo-preview-link, .photo-preview { cursor: zoom-in; }
.image-lightbox { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0, 0, 0, .92); align-items: center; justify-content: center; padding: 24px; cursor: zoom-out; }
.image-lightbox.show { display: flex; }
.image-lightbox__img { max-width: 96vw; max-height: 92vh; object-fit: contain; border-radius: 8px; animation: lightboxZoomIn .18s ease; cursor: default; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); }
.image-lightbox__close, .image-lightbox__nav { position: absolute; border: 0; color: #fff; background: rgba(255, 255, 255, .14); cursor: pointer; line-height: 1; transition: background .15s ease, transform .15s ease; }
.image-lightbox__close:hover, .image-lightbox__nav:hover { background: rgba(255, 255, 255, .24); }
.image-lightbox__close { top: 16px; right: 16px; width: 42px; height: 42px; border-radius: 50%; font-size: 32px; }
.image-lightbox__nav { top: 50%; width: 46px; height: 58px; margin-top: -29px; border-radius: 10px; font-size: 34px; }
.image-lightbox__prev { left: 18px; }
.image-lightbox__next { right: 18px; }
.image-lightbox__toolbar { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; z-index: 2; }
.image-lightbox__counter { position: static; transform: none; color: #fff; background: rgba(0, 0, 0, .65); border-radius: 999px; padding: 5px 15px; font-size: 14px; line-height: 22px; white-space: nowrap; }
.image-lightbox__download { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(0, 0, 0, .65); border-radius: 50%; transition: background .15s ease, transform .15s ease; cursor: pointer; }
.image-lightbox__download[hidden] { display: none; }
.image-lightbox__download:hover { color: #fff; background: #000; transform: translateY(-1px); }
.image-lightbox__download .icon-download { display: block; width: 18px; height: 18px; padding: 0; background: url(../img/download-white.png) center / 18px 18px no-repeat; }
.image-lightbox__download .icon-loading { display: block; width: 16px; height: 16px; border: 2px solid #fff; border-right-color: transparent; border-radius: 50%; animation: spinner .8s linear infinite; }

#toast-container { position: fixed; top: 15px; right: 24px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
.toast-item { font-weight: 600; max-width: 360px; padding: 12px 18px; border-radius: 8px; font-size: 14px; line-height: 1.5; opacity: 0; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease; pointer-events: auto; }
.toast-item.toast-show { opacity: 1; transform: translateY(0); }
.toast-error { background: #fff0f0; color: #a32d2d; border: 1px solid #f7c1c1; }
.toast-success { background: #f0fff4; color: #276749; border: 1px solid #9fd3b0; }
.toast-info { background: #ebf4fb; color: #185fa5; border: 1px solid #b5d4f4; }

@keyframes spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes lightboxZoomIn {
    from { transform: scale(.96); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

@media (max-width: 991px) {
    .header .navbar .navbar-nav .nav-item .dropdown-menu { border: none; }
    .header .search-panel { padding: 30px 0; }
    .header .search-panel .slogan { font-size: 25px; }
    .header .search-panel .feature-list ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; }
    .header .search-panel .feature-list ul li { justify-content: left; text-align: left; font-size: 15px; }

    .box-content .video-detail .thumbnail {width:200px;}
}

@media (max-width: 768px) {
    body { font-size: 14px; }
    .header .search-panel p { padding-bottom: 0px; }
    .header .search-panel #download-form .url { margin-bottom: 10px; border-radius: 5px; }
    .header .search-panel #download-form .btn-download { border-radius: 5px; }
    .header .search-panel .btn-download { border-radius: 3px; font-size: 15px; }
    .header .search-panel .download-result .col-download { max-width: 100%; flex-basis: unset; margin-top: 20px; }
    .header .search-panel .download-result .result-description {height:137px;}
    .header .search-panel .social-proof { text-align: center; }
    .box-content { padding: 20px 0; }
    .box-content.pt-5 { padding-top: 1.5rem !important }
    .box-content h2 { font-size: 22px; }
    .box-content strong { font-size: 16px; }

    .box-content .video-detail .col-info { padding-left:0; }
    .box-content .video-detail .thumbnail { width: 130px; }
    .box-content .video-detail .author .author-avatar img { width: 32px; height: 32px; margin-top: 5px; }
    .box-content .video-detail .author .author-info .author-name {font-size:15px;}

    footer { padding: 20px 0; }
    footer .footer-header { margin-bottom: 5px; }
    footer .footer-content { margin-bottom: 10px; }
}

@media (max-width: 576px) {
    .header .navbar .navbar-brand { font-size: 22px; }
    .header .search-panel .slogan { font-size: 19px; margin-bottom: 15px; }
    .header .search-panel p { display: none; }
    .header .search-panel .feature-list {margin-top:15px;}
    .header .search-panel .feature-list ul { margin-bottom:0; }
    .header .search-panel .feature-list ul li { font-size: 14px; }
    .header .search-panel #download-form .btn-download {font-size:1rem;}
    .header .search-panel .download-result .row-cards .card-body { padding: 15px; }

    .photo-list .photo-item { max-width: 50%; }
    .image-lightbox { padding: 12px; }
    .image-lightbox__img { max-width: 100vw; max-height: 88vh; border-radius: 4px; }
    .image-lightbox__close { top: 10px; right: 10px; width: 38px; height: 38px; font-size: 29px; }
    .image-lightbox__nav { width: 38px; height: 50px; font-size: 28px; background: rgba(0, 0, 0, .28); }
    .image-lightbox__prev { left: 8px; }
    .image-lightbox__next { right: 8px; }
}
