:root {
	--first-color: #000;
	--second-color: #191970;
	--third-color: #152a38;
	--fourth-color: #ffc900;

	--whitesmoke-color: #f9f9f9;
	--white-color: #FFF;
	--black-color: #000;
	--grey-color: #808080;
	--red-color: #ff0000;
	--green-color: #008000;


	--bs-body-font-family: "Roboto Mono", monospace;
	/* --bs-body-font-family: Brush Script MT; */
	/* --bs-body-font-family: "DynaPuff", system-ui; */
	/* --bs-body-font-family: Arial; */

	--navbar-height: 100px;
	--navbar-height-sm: 80px;
}


@font-face {
    font-family: 'Roboto Mono';
    src: url("../../fonts/Roboto_Mono/RobotoMono-VariableFont_wght-f01b1a76d9917ff866c90dafca0feb5e.ttf") format('truetype');
    font-weight: 100 900;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Roboto Mono';
    src: url("../../fonts/Roboto_Mono/RobotoMono-Italic-VariableFont_wght-44594d8f04eb959e27c8afd10a502a63.ttf") format('truetype');
    font-weight: 100 900;
    font-style: italic;
	font-display: swap;
}



.marquee {
	display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
    animation: marquee 50s linear infinite;
	font-size: 48px;
	font-weight: 700;
	text-transform: uppercase;
	background-color: var(--first-color);
	color: var(--white-color);
}


@keyframes marquee {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}

/*--------------------------------------------------------------
	SHADOW
--------------------------------------------------------------*/
.shadow {
	border-radius: 30px;
}




/*--------------------------------------------------------------
	TITLES
--------------------------------------------------------------*/
h1 {
	color: var(--first-color);
	font-weight: 700;
	letter-spacing: -1px;
	margin-bottom: 2rem;
	line-break: revert-layer;
}

h1:after {
	background-color: var(--fourth-color);
	content: '';
	display: block;
	height: 5px;
	width: 30px;
	border-radius: 10px;
	margin-top: 0.2%;
}

.h1-center {
	text-align: center;
}

.h1-center:after {
	margin-left: 45%;
}


h3 {
	color: var(--second-color);
	font-weight: 700;
	letter-spacing: -1px;
	margin-bottom: 1rem;
}

h3:after {
	background-color: var(--fourth-color);
	content: '';
	display: block;
	height: 3px;
	width: 20px;
	margin-top: -2px;
}

.h4,
h4 {
	letter-spacing: 2px;
	font-size: 15px;
	margin-top: 16px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: 0px;
}


/*--------------------------------------------------------------
	IMAGES
--------------------------------------------------------------*/
.img-responsive {
	width: 100%;
	height: auto;
}


/*--------------------------------------------------------------
	COLORS
--------------------------------------------------------------*/
.first-color {
	color: var(--first-color) !important;
}

.second-color {
	color: var(--second-color) !important;
}

.third-color {
	color: var(--third-color) !important;
}

.fourth-color {
	color: var(--fourth-color) !important;
}

.white-color {
	color: var(--white-color) !important;
}

.black-color {
	color: var(--black-color) !important;
}

.grey-color {
	color: var(--grey-color) !important;
}

.red-color {
	color: var(--red-color) !important;
}

.green-color {
	color: var(--green-color) !important;
}

.whitesmoke-color {
	color: var(--whitesmoke-color) !important;
}

/*--------------------------------------------------------------
	BACKGROUND COLORS
--------------------------------------------------------------*/
.first-background-color {
	background-color: var(--first-color) !important;
}

.second-background-color {
	background-color: var(--second-color) !important;
}

.third-background-color {
	background-color: var(--third-color) !important;
}

.fourth-background-color {
	background-color: var(--fourth-color) !important;
}

.white-background-color {
	background-color: var(--white-color) !important;
}

.black-background-color {
	background-color: var(--black-color) !important;
}

.grey-background-color {
	background-color: var(--grey-color) !important;
}

.whitesmoke-background-color {
	background-color: var(--whitesmoke-color) !important;
}


/* --------------------------------------------------------------
	HR
-------------------------------------------------------------- */
.hr-first-background-color {
	background-color: var(--first-color);
	opacity: 0.80;
	height: 2px !important;
}



/*--------------------------------------------------------------
	PROGRESS BAR
--------------------------------------------------------------*/
.progress-container {
    width: 100%;
    background: var(--black-color);
    position: absolute;
    bottom: 0;
    left: 0;
}

.navbar-progress-bar {
    height: 3px;
    background: var(--fourth-color);
    width: 0%;
}




/*--------------------------------------------------------------
	BODY
--------------------------------------------------------------*/
body {
	font-family: var(--bs-body-font-family);
	color: var(--black-color);
	background-color: var(--white-color);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.main-container {
	flex: 1;
}



/*--------------------------------------------------------------
	NABVAR
--------------------------------------------------------------*/
.navbar-logo-img {
	height: auto;
	opacity: 0;
}


/* xs < 576px */
@media (min-width: 1px) {
	.navbar-logo-img {
		width: 50px;
		margin-left: 5%;
	}

	.my-navbar {
		height: var(--navbar-height-sm);
	}

	.factis-navbar{
		height: var(--navbar-height-sm);
	}
}


/* md >= 768px */
@media (min-width: 768px) {
	.navbar-logo-img {
		width: 60px;
		margin-left: 5%;
	}

	.my-navbar {
		height: var(--navbar-height);
	}

	.factis-navbar{
		height: var(--navbar-height);
	}
}


/* xl >= 1200px */
@media (min-width: 1200px) {
	.navbar-logo-img {
		width: 80px;
		margin-left: 10%;
	}
}


.my-navbar .nav-item,
.dropdown-menu {
	background-color: var(--first-color);
}


.dropdown-item:focus, 
.dropdown-item:hover {
	background-color: var(--first-color);
}

.dropdown-menu {
	border: 2px solid var(--fourth-color);

}

/*--------------------------------------------------------------
	FOOTER
--------------------------------------------------------------*/
.footer {

}

.footer .copyright {
	margin: 0;
	text-decoration: none;
}

.footer .footer-right {
	text-align: right;
}

.footer .footer-left {
	text-align: left;
}

.footer .social-medias a
{
	text-decoration: none;
}

/*--------------------------------------------------------------
	FONT
--------------------------------------------------------------*/
.ftz-10 {
	font-size: 10px;
}

.ftz-12 {
	font-size: 12px;
}

.ftz-15 {
	font-size: 15px;
}


@media (min-width: 1px) {
	.ftz-18 {
		font-size: 17px;
	}
}

@media (min-width: 992px) {
	.ftz-18 {
		font-size: 18px;
	}
}


.ftz-20 {
	font-size: 20px;
}

.ftz-24 {
	font-size: 24px;
}

.ftz-30 {
	font-size: 30px;
}

.ftz-45 {
	font-size: 45px;
}

.ftz-75 {
	font-size: 75px;
}

.ftw-100 {
	font-weight: 100;
}

.ftw-300 {
	font-weight: 300;
}

.ftw-500 {
	font-weight: 500;
}

.ftw-700 {
	font-weight: 700;
}

.ftw-900 {
	font-weight: 900;
}

.ft-italic {
	font-style: italic;
}

.text-justify {
	text-align: justify;
}

.text-align-right {
	text-align: right;
}

.font-alt {
	text-transform: uppercase;
}

.text-deco-no {
	text-decoration: none;
}

.display-none {
	display: none;
}


/*--------------------------------------------------------------
	SORTABLE ITEMS
--------------------------------------------------------------*/
.sortable-items {
	cursor: pointer;
}


/*--------------------------------------------------------------
	MODALS
--------------------------------------------------------------*/
.modal-header {
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
}


.nav-pills .nav-link {
	border-radius: 0px;
}


.accordion-button:not(.collapsed) {
	color: var(--first-color);
	background-color: var(--white-color);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125);
}




/*--------------------------------------------------------------
	MARGIN
--------------------------------------------------------------*/
.mt-6 {
	margin-top: 6rem !important;
}

.mb-6 {
	margin-bottom: 6rem !important;
}

.my-6 {
	margin-top: 6rem !important;
	margin-bottom: 6rem !important;
}

.mt-7 {
	margin-top: 8rem !important;
}

.mb-7 {
	margin-bottom: 8rem !important;
}

.my-7 {
	margin-top: 8rem !important;
	margin-bottom: 8rem !important;
}

.mt-8 {
	margin-top: 10rem !important;
}

.mb-8 {
	margin-bottom: 10rem !important;
}

.my-8 {
	margin-top: 10rem !important;
	margin-bottom: 10rem !important;
}



/*--------------------------------------------------------------
	Preloader
--------------------------------------------------------------*/
:root {
	--loader-logo-initial-width: 60px;
	--loader-logo-initial-margin: -30px 0 0 -30px;
	--loader-logo-initial-opacity: -0.3;

	--loader-logo-final-width: 120px;
	--loader-logo-final-margin: -60px 0 0 -60px;
	--loader-logo-final-opacity: 1;
}

.page-loader {
	position: fixed;
	background: var(--first-color);
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	z-index: 9998;
}

.loader {
	position: absolute;
	width: var(--loader-logo-initial-width);
	margin: var(--loader-logo-initial-margin);
	left: 50%;
	top: 40%;
	text-indent: -9999em;
	z-index: 9999;
	animation: load 2s infinite linear;
}

.loader,
.loader:after {
	border-radius: 50%;
}


@-webkit-keyframes load {
	0% {
		opacity: var(--loader-logo-initial-opacity);
		width: var(--loader-logo-initial-width);
		margin: var(--loader-logo-initial-margin);
	}

	50% {
		opacity: var(--loader-logo-final-opacity);
		width: var(--loader-logo-final-width);
		margin: var(--loader-logo-final-margin);
	}

	100% {
		opacity: var(--loader-logo-initial-opacity);
		width: var(--loader-logo-initial-width);
		margin: var(--loader-logo-initial-margin);
	}
}

@keyframes load {
	0% {
		opacity: var(--loader-logo-initial-opacity);
		width: var(--loader-logo-initial-width);
		margin: var(--loader-logo-initial-margin);
	}

	50% {
		opacity: var(--loader-logo-final-opacity);
		width: var(--loader-logo-final-width);
		margin: var(--loader-logo-final-margin);
	}

	100% {
		opacity: var(--loader-logo-initial-opacity);
		width: var(--loader-logo-initial-width);
		margin: var(--loader-logo-initial-margin);
	}
}


/*--------------------------------------------------------------
	PROGRESS BAR
--------------------------------------------------------------*/
.progress-bar{
	background-color: var(--second-color);
}


/*--------------------------------------------------------------
	BORDER RADIUS
--------------------------------------------------------------*/

.br-10 {border-radius: 10px;}
.br-15 {border-radius: 15px;}
.br-20 {border-radius: 20px;}
.br-30 {border-radius: 30px;}
.br-50 {border-radius: 50px;}



/*--------------------------------------------------------------
	SHADOW
--------------------------------------------------------------*/
.first-shadow {
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}



/*--------------------------------------------------------------
	PAGES DETAIL
--------------------------------------------------------------*/
.img-pages-detail {
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
	border: 4px solid white;
}

.img-pages-detail:hover {
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
	border: 4px solid whitesmoke;
}


/*--------------------------------------------------------------
	HOME SECTION AND TITLE
--------------------------------------------------------------*/

.home-section {
	background-color: var(--black-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ml11 {
    font-weight: 700;
    font-size: 17px;
}

.ml11 .text-wrapper {
    position: relative;
    display: inline-block;
    padding-top: 0.1em;
    padding-right: 0.05em;
    padding-bottom: 0.15em;
}

.ml11 .line {
    opacity: 0;
    position: absolute;
    left: 0;
    height: 100%;
    width: 3px;
    background-color: var(--fourth-color);
    transform-origin: 100% 100%;
}

.ml11 .line1 { 
    top: 0; 
    left: 0;
}

.ml11 .letter {
    display: inline-block;
    line-height: 1em;
}


/* xs < 576px */
@media (min-width: 1px) {
	.home-title {
		margin-top: -35%;
		font-size: 38px;
	}

	.subtitle {
		font-size: 18px;
	}

	h1 {
		font-size: 1.8rem;
	}

	h3 {
		font-size: 1.2rem;
	}
}

/* sm >= 576px */
@media (min-width: 576px) {
	.home-title {
		margin-top: -25%;
		font-size: 50px;
	}
}

/* md >= 768px */
@media (min-width: 768px) {
	.home-title {
		margin-top: -15%;
		font-size: 55px;
	}
}

/* lg >= 992px */
@media (min-width: 992px) {
	.home-title {
		margin-top: -15%;
		font-size: 60px;
	}

	.subtitle {
		font-size: 20px;
	}

	h1 {
		font-size: 2.8rem;
	}

	h3 {
		font-size: 1.7rem;
	}
}

/* xl >= 1200px */
@media (min-width: 1200px) {
	.home-title {
		margin-top: -10%;
		font-size: 65px;
	}

	.subtitle {
		font-size: 22px;
	}
}

/* xxl >= 1400px */
@media (min-width: 1400px) {
	.home-title {
		margin-top: -12%;
		font-size: 70px;
	}
}



/*--------------------------------------------------------------
	BUTTONS
--------------------------------------------------------------*/

.btn-white {
	background-color: var(--white-color);
	color: var(--black-color);
}

.btn-white:hover {
	background-color: var(--whitesmoke-color);
	color: var(--black-color);
}