:root {

	/* COLORS */
	/* ------------------------------------ */

	/* PURE: NEUTRALS */
	--cl-black			: #000000;
	--cl-white			: #FFFFFF;

	/* PURE: TRANSPARENCY */
	--cl-black-13		: hsla(0, 0%, 0%, 0.13);
	--cl-black-25		: hsla(0, 0%, 0%, 0.25);
	--cl-black-38		: hsla(0, 0%, 0%, 0.38);
	--cl-black-50		: hsla(0, 0%, 0%, 0.50);
	--cl-black-63		: hsla(0, 0%, 0%, 0.63);
	--cl-black-75		: hsla(0, 0%, 0%, 0.75);
	--cl-black-88		: hsla(0, 0%, 0%, 0.88);
	--cl-white-13		: hsla(0, 0%, 100%, 0.13);
	--cl-white-25		: hsla(0, 0%, 100%, 0.25);
	--cl-white-38		: hsla(0, 0%, 100%, 0.38);
	--cl-white-50		: hsla(0, 0%, 100%, 0.50);
	--cl-white-63		: hsla(0, 0%, 100%, 0.63);
	--cl-white-75		: hsla(0, 0%, 100%, 0.75);
	--cl-white-88		: hsla(0, 0%, 100%, 0.88);

	/* PRIMARY: BLUE */
	--cl-primary-1		: #2BB9F5;
	--cl-primary-2		: #22ADE8;
	--cl-primary-3		: #069ADE;
	--cl-primary-4		: #136999;
	--cl-primary-5		: #1E3C5B;

	/* SECONDARY: INDIGO */
	--cl-secondary-1	: #EBF8FE;
	--cl-secondary-2	: #DFF4FF;
	--cl-secondary-3	: #D2F0FF;
	--cl-secondary-4	: #C6ECFF;
	--cl-secondary-5	: #A3E0FF;
	
	/* EMPHASIS: ORANGE */
	--cl-emphasis-1		: #FFE2B7;
	--cl-emphasis-2		: #FFD297;
	--cl-emphasis-3		: #FFBF74;
	--cl-emphasis-4		: #FBA03F;
	--cl-emphasis-5		: #F7810C;
	
	/* HIGHLIGHT: GOLD */
	--cl-highlight-1	: #FFED8E;
	--cl-highlight-2	: #FFDE69;
	--cl-highlight-3	: #FFCD44;
	--cl-highlight-4	: #FFBE21;
	--cl-highlight-5	: #FFB001;

	/* ATTENTIVE: GREEN */
	--cl-attentive-1	: #E5FBCF;
	--cl-attentive-2	: #BDE4AD;
	--cl-attentive-3	: #99CF8F;
	--cl-attentive-4	: #78BC73;
	--cl-attentive-5	: #57A957;

	/* ERRONEOUS: RED */
	--cl-erroneous-1	: #FFE4E6;
	--cl-erroneous-2	: #F9B3B5;
	--cl-erroneous-3	: #F1787A;
	--cl-erroneous-4	: #EB4446;
	--cl-erroneous-5	: #E62325;

	/* SHADY: GRAY */
	--cl-shady-1		: #787B83;
	--cl-shady-2		: #646871;
	--cl-shady-3		: #444853;
	--cl-shady-4		: #2F333C;
	--cl-shady-5		: #0F1523;

	/* BRIGHT: GRAY */
	--cl-bright-1		: #F7F9FA;
	--cl-bright-2		: #E4E6E8;
	--cl-bright-3		: #C3C4C8;
	--cl-bright-4		: #A0A2A8;
	--cl-bright-5		: #8B8E95;

	/* ------------------------------------ */
	/* IMAGES */
	--im-search-icon		: url('/images/search-icon.svg');
	--im-search-clear		: url('/images/search-clear.svg');
	--im-search-close		: url('/images/search-close.svg');
	--im-search-options		: url('/images/search-options.svg');
	--im-select-arrow		: url('/images/select-arrow.svg');
	--im-list-check			: url('/images/list-check.svg');
	--im-info				: url('/images/info.svg');
	--im-yesno-yes			: url('/images/yesno-yes.svg');
	--im-yesno-no			: url('/images/yesno-no.svg');
	--im-card-yesno-yes		: url('/images/card-yesno-yes.svg');
	--im-card-yesno-no		: url('/images/card-yesno-no.svg');
	
	/* ------------------------------------ */
	/* PAGINATION */
	--pg-prev				: url('/images/pagination-prev.svg');
	--pg-prev-dis			: url('/images/pagination-prev-dis.svg');
	--pg-next				: url('/images/pagination-next.svg');
	--pg-next-dis			: url('/images/pagination-next-dis.svg');
	
	/* ------------------------------------ */
	/* PLACEHOLDERS */
	--im-placeholder-1_1	: url('/images/placeholder-1_1.svg');
	--im-placeholder-4_3	: url('/images/placeholder-4_3.svg');
	--im-placeholder-3_4	: url('/images/placeholder-3_4.svg');
	--im-placeholder-16_9	: url('/images/placeholder-16_9.svg');
	--im-placeholder9_16	: url('/images/placeholder-9_16.svg');
	
	/* ------------------------------------ */
	/* SOCIAL SHAREBOX */
	--sb-soc-x				: url('/images/icons/sb-soc-x.svg');
	--sb-soc-facebook		: url('/images/icons/sb-soc-facebook.svg');
	--sb-soc-whatsapp		: url('/images/icons/sb-soc-whatsapp.svg');
	--sb-soc-link			: url('/images/icons/sb-soc-link.svg');
	
	/* ------------------------------------ */
	/* SOCIAL SHARE */
	--soc-x					: url('/images/soc-x.svg');
	--soc-facebook			: url('/images/soc-facebook.svg');
	--soc-whatsapp			: url('/images/soc-whatsapp.svg');
	--soc-link				: url('/images/soc-link.svg');
	
	/* ------------------------------------ */
	/* PROFILE LINK */
	--prf-fb				: url('/images/prf-fb.svg');
	--prf-tw				: url('/images/prf-tw.svg');
	--prf-tt				: url('/images/prf-tt.svg');
	--prf-li				: url('/images/prf-li.svg');
	--prf-yt				: url('/images/prf-yt.svg');
	--prf-ig				: url('/images/prf-ig.svg');
	
	/* ------------------------------------ */
	/* COMPONENT */
	--stt					: url('/images/stt.svg');
	--link-arrow			: url('/images/link-arrow.svg');
	--lock-locked			: url('/images/lock.svg');
	--lock-unlocked			: url('/images/unlock.svg');
	--menu-hamburger		: url('/images/menu-hamburger.svg');
	--menu-close			: url('/images/menu-close.svg');
	--caro-prev				: url('/images/carousel-nav-prev.svg');
	--caro-next				: url('/images/carousel-nav-next.svg');
	--icon-file				: url('/images/icon-file.svg');
	--icon-download			: url('/images/download-prim.svg');
	
	/* ------------------------------------ */
	/* FILE LIST OPTIONS */
	--op-details			: url('/images/icons/details.svg');
	--op-preview			: url('/images/icons/preview.svg');
	--op-download			: url('/images/icons/download.svg');
	--op-details-active		: url('/images/icons/details-active.svg');
	--op-no-preview			: url('/images/icons/no-preview.svg');
	--op-visit				: url('/images/icons/visit.svg');
	--op-share				: url('/images/icons/share.svg');
	--op-copied				: url('/images/icons/copied.svg');
	
	/* ------------------------------------ */
	/* FILETYPES */
	--file-unknown			: url('/images/filetype/unknown.svg');
	--file-pdf				: url('/images/filetype/pdf.svg');
	--file-file				: url('/images/filetype/file.svg');
	--file-link				: url('/images/filetype/link.svg');
	
}

@keyframes copied {
	0% {
		opacity: 100%;
	}
	10% {
		opacity: 0%;
	}
	20% {
		background-image: var(--op-copied);
	}
	30% {
		opacity: 100%;
		background-image: var(--op-copied);
	}
	70% {
		opacity: 100%;
		background-image: var(--op-copied);
	}
	80% {
		opacity: 0%;
		background-image: var(--op-copied);
	}
	90% {
		background-image: var(--op-share);
	}
	100% {
		opacity: 100%;
	}
}

.filac-wrapper .file {
	background-color: var(--cl-bright-1);
	border-radius: 12px;
}
.filac-wrapper .file:last-child {
	margin-bottom: 24px;
}
.filac-wrapper .file:hover {
	background-color: #F2F6F7;
}
.filac-wrapper .identifier {
	display: flex;
	flex-direction: row;
    justify-content: space-between;
    padding: 16px 24px;
}
.filac-wrapper .chips {
	display: flex;
	flex-direction: row;
	gap: 16px;
	flex-wrap: wrap;
}
.filac-wrapper .icon {
	cursor: pointer;
    display: flex;
    width: 32px;
    height: 32px;
    margin-right: 16px;
    flex-shrink: 0;
    flex-grow: 0;
	background-image: var(--file-unknown);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.filac-wrapper .icon.file {
	background-image: var(--file-pdf);
}
.filac-wrapper .icon.link {
	background-image: var(--file-link);
}
.filac-wrapper .fileid {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
	width: 100%;
}
.filac-wrapper .filename {
	cursor: pointer;
    display: flex;
    gap: 16px;
	font-size: 16px;
	color: var(--cl-shady-3);
	line-height: 160%;
	font-family: var(--fn-secondary);
	font-weight: 400;
	letter-spacing: var(--ltspc-0);
    margin-top: 4px;
	width: auto;
}
.filac-wrapper .file.opened .filename {
	font-weight: 500;
}
.filac-wrapper .details {
	padding: 0 24px 24px calc(24px + 16px + 32px);
	display: none;
	transition: none;
}
.filac-wrapper .description {
	font-size: 16px;
	color: var(--cl-shady-2);
	padding-bottom: 16px;
	line-height: 160%;
}
.filac-wrapper .date {
	font-size: 14px;
	color: var(--cl-bright-5);
	padding-bottom: 16px;
	line-height: 150%;
}
.filac-wrapper .chip {
	font-size: 14px;
	padding: calc(8px / 4) 12px;
	border-radius: 5000px;
	line-height: 150%;
	background-color: var(--cl-bright-2);
	color: var(--cl-shady-3);
}
.filac-wrapper .file.opened .file-options .op-details {
	background-image: var(--op-details-active);
}
.filac-wrapper .file-options {
	border-radius: 8px 8px 0 0;
}
.file-options:has(.ic-share.active) {
	visibility: visible;
	opacity: 1;
}
.filac-wrapper .file-options > div {
	cursor: pointer;
    display: flex;
    width: calc(12px * 2);
    height: calc(12px * 2);
    margin-left: 8px;
	/*background-color: var(--cl-bright-2);*/
    padding: 16px;
    flex-shrink: 0;
    flex-grow: 0;
    margin-top: calc(((-1 * 16px) / 2) + 4px);
    border-radius: 8px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px;
	/*background-size: calc(12px * 2);*/
}
.filac-wrapper .file-options > div:not(.sharebox):hover {
	opacity: 0.65;
    background-color: var(--cl-white);
    box-shadow: 0 15px 32px 0 rgba(0, 0, 0, 0.12);
}
.filac-wrapper .file-options .op-details		{background-image: var(--op-details);		}
.filac-wrapper .file-options .op-preview		{background-image: var(--op-preview);		}
.filac-wrapper .file-options .op-download		{background-image: var(--op-download);		}
.filac-wrapper .file-options .op-no-preview		{background-image: var(--op-no-preview);	}
.filac-wrapper .file-options .op-visit			{background-image: var(--op-visit);			}
.filac-wrapper .file-options .ic-share			{background-image: var(--op-share);			}

.filac-wrapper .file-options .ic-share.copied {
	animation: copied 2s cubic-bezier(0.32, 0, 0.67, 0) normal forwards 1;
}
.filac-wrapper .sharebox {
    /*top: 40px;*/
    /*right: -12px;*/
    top: 52px;
    right: -2px;
    padding: 12px;
    display: none;
    flex-direction: column;
    gap: 8px;
    background-color: var(--cl-white);
    font-family: var(--fn-secondary);
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    position: absolute;
    border-radius: 12px;
    box-shadow: 0 15px 32px 0 rgba(0, 0, 0, 0.12);
    transition: none;
    width: auto;
    height: auto;
    z-index: 543;
    border: 1px solid var(--cl-bright-2);
}
.file-listview .filac-wrapper .sharebox {
    position: absolute;
    right: 0px;
    top: 52px;
}
.filac-wrapper .sharebox .sharelist {
    display: flex;
    flex-direction: row;
    gap: 12px;
    padding: 0;
}
/*.filac-wrapper .sharebox .sharelist > a {
	min-width: 100px;
}*/
.filac-wrapper .file-options .opichare.active {
    background-color: var(--cl-white);
}
.filac-wrapper .sharebox:before {
    content: "";
    display: flex;
    position: absolute;
    background-color: #ffffff;
    width: 12px;
    height: 12px;
    right: 25px;
    top: -7px;
    transform: rotate(45deg);
    border-width: 1px 0px 0 1px;
    border-style: solid;
    border-color: var(--cl-bright-2);
}
.sharebox .soc {
    width: 40px;
    height: 40px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 32px;
	display: flex;
	border-radius: 8px;
}
.sharebox .mainhint {
    color: var(--cl-shady-3);
    font-size: 16px;
    text-wrap: balance;
    font-weight: 500;
    text-align: center;
    line-height: 130%;
}
.sharebox .hint {
	color: var(--cl-bright-5);
    font-size: 16px;
	text-wrap: balance;
    width: max-content;
    align-self: center;
}
.sharebox .soc:not(.soc-link):hover {
	background-color: var(--cl-bright-2);
}
.sharebox .sharebox-copylink {
	border-radius: 8px;
    padding-right: 8px;
}
.sharebox .sharebox-copylink:hover {
	background-color: var(--cl-bright-2);
}
.sharebox .soc:active,
.sharebox .soc:focus {
	background-color: var(--cl-bright-2);
}
.sharebox .soc.soc-x {
	background-image: var(--sb-soc-x);
}
.sharebox .soc.soc-facebook {
	background-image: var(--sb-soc-facebook);
}
.sharebox .soc.soc-whatsapp {
	background-image: var(--sb-soc-whatsapp);
}
.sharebox .soc.soc-link {
	background-image: var(--sb-soc-link);
}

/*.filac-wrapper .chip.dinas {
	background-color: #FEF3C7;
	color: #92400E;
}
.filac-wrapper .chip.pendidik {
	background-color: #E0E7FF;
	color: #3730A3;
}
.filac-wrapper .chip.orang-tua {
	background-color: #CCFBF1;
	color: #115E59;
}
.filac-wrapper .chip.mitra {
	background-color: #CCF9C5;
	color: #115A06;
}*/

.filac-wrapper .chip.dinas {
	background-color: #FFF2D4;
	color: #755100;
}
.filac-wrapper .chip.pendidik {
	background-color: #F1EBFF;
	color: #5D4692;
}
.filac-wrapper .chip.mitra {
	background-color: #FFE1D0;
	color: #4F290A;
}
.filac-wrapper .chip.orang-tua {
	background-color: #DDF3E9;
	color: #507363;
}
#ajax_download > .filac-wrapper {
    padding: 0;
}

.filac-wrapper.popular {
    background-color: var(--cl-bright-1);
    border: none;
    border-radius: 12px;
    margin-bottom: 40px;
    overflow: hidden;
}
.filac-wrapper.popular .title {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 0;
    font-size: var(--fs-emphasis);
    line-height: 140%;
    font-family: var(--fn-secondary);
    font-weight: 500;
    letter-spacing: var(--ltspc-0);
}
.filac-wrapper.popular .filelist {
	padding: 0;
}
.filac-wrapper.popular .filelist .pinned-filename {
	font-family: var(--fn-secondary);
	font-weight: 600;
	font-size: 16px;
	line-height: 150%;
	color: var(--cl-shady-3);
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    align-self: stretch;
    overflow: hidden;
    text-overflow: ellipsis;
}
.filac-wrapper.popular .filelist .file {
    background-color: var(--cl-white);
    margin-bottom: 0;
    padding: 16px 24px;
    height: 180px;
    box-shadow: 0 13px 30px 0 rgba(0, 0, 0, 0.05);
}
.filac-wrapper.popular .filelist .file:hover {
    box-shadow: 0 15px 32px 0 rgba(0, 0, 0, 0.12);
}
.filac-wrapper.popular .filelist .pinned-details {
	padding: 0;
}
.filac-wrapper.popular .filelist .date {
	padding: 0;
}
.filac-wrapper.popular .filelist .file-options {
	margin: 0;
	justify-content: flex-start;
}
.filac-wrapper.popular .filelist .file-options > div:first-child {
	margin-left: 0;
}
.filac-wrapper.popular .filelist .file-options > div:not(.sharebox):hover {
    background-color: var(--cl-bright-2);
    box-shadow: none;
}
.filac-wrapper.popular .filelist .sharebox {
	margin-right: 0;
    margin-left: calc(-1 * 16px);
}
.filac-wrapper.popular .filelist .sharebox:before {
	right: unset;
    left: 104px;
}
.separator.vertical {
    display: flex;
    width: 0;
    height: auto;
    border-left: 1px solid var(--cl-bright-2);
}
.separator.horizontal {
    display: flex;
    height: 0;
    width: auto;
    border-top: 1px solid var(--cl-bright-2);
}