/* GLOBAL */

/* Font Family */

@font-face {
	font-family: 'Gudea';
	src: url('../font/Gudea.ttf');
}

@font-face {
	font-family: 'CenturyGothic';
	src: url('../font/CenturyGothic.ttf');
}

body, html {
	width: 100%;
    height: 100%;
    font-family: 'Gudea', Jura, sans-serif;
    margin: 0px !important;
}

body {
    animation: fadein 3s;
    -moz-animation: fadein 3s; /* Firefox */
    -webkit-animation: fadein 3s; /* Safari and Chrome */
    -o-animation: fadein 3s; /* Opera */
}
@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

.float-right {
	float: right !important;
}

.float-left {
	float: left !important;
} 

.link-one a {
	color: #ffffff;
	font-size: 1.7vw;
	text-decoration: underline;
}

.link-two a {
	color: #ffffff;
	font-size: 1.5vw;
	text-decoration: none;
	font-family: 'CenturyGothic', sans-serif;
}

.link-two a:hover {
	text-decoration: underline;
}

.container-fullw {
	display: flex;
	flex-wrap: wrap;
    position: relative;
    width: 100%;
    max-width: 100%;
    /*height: 100%;*/
}

.content-container {
	position: relative;
	width: 100%;
	height: 658px;
	max-height: 658px;
}

.content-wraper {
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

/* HOME */

.home-container {
	background-color: #ff6000;
}

.home-header {
	z-index: 10;
	position: relative;
	width: 100%;
	height: auto;
}

.home-header .logo {
	position: relative;
	width: 42%;
	height: 15vh;
	padding: 3.5vw;
}

.home-header .logo img {
	position: relative;
	width: auto;
	height: 100%;
}

.home-tagline {
	position: fixed;
	top: 50%;
	margin-top: -8%;
	font-size: 4.7vw;
	color: #ffffff;
	width: 100%;
}

.home-tagline .text {
	position: relative;
    margin: auto;
    width: fit-content;
}

.home-tagline .link {
	line-height: 1.5;
}

/* Home Portrait CSS */
@media only screen  
and (orientation: portrait) {
	.home-header {
		display: flex;
		flex-wrap: wrap;
	}

	.home-header .logo {
		height: 10vh;
		align-items: center;
		justify-content: center;
	}

	.home-header .logo img.float-left {
		width: 40%;
		height: auto;
		margin-left: 10px;
        margin-top: auto;
	}

	.home-header .logo img.float-right {
		width: 80%;
		height: auto;
	}

	.home-tagline {
		top: 45%;
		font-size: 7vw;
	}

	.home-tagline .link-one a {
		font-size: 4.0vw;
	}
}

@media only screen  
and (min-device-width: 765px)
and (orientation: portrait) {
	.home-header {
		display: flex;
		flex-wrap: wrap;
	}

	.home-header .logo {
		height: 12vh;
		align-items: center;
		justify-content: center;
	}

	.home-header .logo img {
		width: auto;
		height: 100%;
	}
}

/* CONTACT */

.contact-container {
	background-color: #ff6000;
}

.contact-header {
	z-index: 10;
	position: relative;
	width: 100%;
	height: auto;
}

.contact-header .logo {
	position: relative;
	width: 42%;
	height: 15vh;
	padding: 3.5vw;
}

.contact-header .logo img {
	position: relative;
	width: auto;
	height: 100%;
}

.contact-tagline {
	position: fixed;
	top: 50%;
	margin-top: -8%;
	color: #ffffff;
	width: 100%;
}

.contact-tagline .text {
	position: relative;
    margin: auto;
    width: 40%;
}

.contact-tagline .text .head, .contact-tagline .text .address, .contact-tagline .text .phone {
	padding: 10px;
}

.contact-tagline .text .head {
	font-size: 2.7vw;
}

.contact-tagline .text .address {
	font-size: 1.9vw;
	padding-right:50%;
}

.contact-tagline .text .phone {
	font-size: 1.7vw;
}

/* Home Portrait CSS */
@media only screen  
and (orientation: portrait) {
	.contact-header {
		display: flex;
		flex-wrap: wrap;
	}

	.contact-header .logo {
		height: 10vh;
		align-items: center;
		justify-content: center;
	}

	.contact-header .logo img.float-left {
		width: 40%;
		height: auto;
		margin-left: 10px;
        margin-top: auto;
	}

	.contact-header .logo img.float-right {
		width: 80%;
		height: auto;
	}

	.contact-tagline {
		top: 45%;
		font-size: 7vw;
	}
}

@media only screen  
and (min-device-width: 765px)
and (orientation: portrait) {
	.contact-header {
		display: flex;
		flex-wrap: wrap;
	}

	.contact-header .logo {
		height: 12vh;
		align-items: center;
		justify-content: center;
	}

	.contact-header .logo img {
		width: auto;
		height: 100%;
	}
}

/* ABOUT */

.about-container {
	background-color: #ffffff;
}

.about-header {
	position: relative;
	width: 23%;
	height: 100vh;
}

.about-header .logo {
	position: relative;
	height: auto;
	padding: 3.5vw;
	margin: auto;
}

.about-content {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 76%;
}

.about-content .content-container .content-header {
    position: relative;
    bottom: 6em;
    left: 0.5em;
	font-size: 4vw;
	margin: auto;
	width: fit-content;
	letter-spacing: -1px;
	z-index: 10;
}

.about-content .content-container .content-header span {
	background: #ff6000;
	color: #ffffff;
	vertical-align: middle;
	padding: 0px 7px 5px 3px;
}

.about-content .content-container .content-text {
	position: absolute;
    display: block;
    flex-wrap: wrap;
    top: 7.5em;
    padding: 0em 1em 0em 5.5em;
    text-align: justify;
    justify-content: center;
	line-height: 1.5;
	color: #ff6000;
}

.about-content .content-container .about-picture-one {
	position: relative;
    width: 10em;
    height: 14em;
    margin: 0em;
    border: 1px solid #ff6000;
}

.about-content .content-container .about-picture-one img {
	width: inherit;
	height: inherit;
}

.about-content .content-container .content-text .about-picture-two {
	position: relative;
	float: left;
	width: 9em;
	height: 10em;
	border: 1px solid #ff6000;
	margin: 0px 20px 10px 0px;
	overflow: hidden;
}

.about-content .content-container .content-text .about-picture-two img {
	width: inherit;
	height: inherit;
}

.about-content .content-container .content-text span.subheader {
	position: relative;
    display: block;
	text-decoration: underline;
	margin-bottom: 10px;
	padding-top: 10px;
}

.about-content .content-container .content-text span {
	font-size: 2vw;
}

@media only screen and (orientation: landscape) and (max-width: 1022px) {
	.about-content .content-container {
	    height: unset;
	    max-height: unset;
	}

	.about-header .logo {
		padding: 3.5vw 5vw 0vw 3.5vw;
	}

	.about-header .logo img {
		width: 100%;
	}
}

@media only screen and (orientation: landscape) and (max-width: 655px) {
	.about-content .content-container .content-header {
	    bottom: 7em;
	    left: 1.5em;
	}
}

@media only screen and (orientation: landscape) and (min-width: 810px) {
	.about-content .content-container .content-header {
	    bottom: 7em;
	}

	.about-content .content-container .about-picture-one {
	    width: 12em;
	    height: 16em;
	    margin: 2em 0em;
	}

	.about-content .content-container .content-text {
	    top: 10.5em;
	    padding: 0em 1.5em 0em 7.5em;
	}

	.about-content .content-container .content-text span {
		font-size: 1.5vw;
	}

	.about-content .content-container .content-text .about-picture-two {
	    width: 10em;
	    height: 11em;
	}
}

@media only screen and (orientation: landscape) and (min-width: 1023px) {
	.about-header {
		width: 23%;
	}

	.about-content .content-container .about-picture-one{
	    width: 20em;
	    height: 28em;
	    margin: 4em 0em;
	}

	.about-content .content-container .content-header {
	    bottom: 8.5em;
	    left: 1.9em;
		font-size: 4vw;
	}

	.about-content .content-container .content-text {
	    top: 20em;
	    padding: 0em 2em 0em 10.5em;
	}

	.about-content .content-container .content-text span.subheader {
		padding-top: 25px;
		margin-bottom: 10px;
	}

	.about-content .content-container .content-text span {
		font-size: 1.5vw;
	}

	.about-content .content-container .content-text .about-picture-two{
		width: 16em;
		height: 15.5em;
	}
}

@media only screen and (orientation: landscape) and (min-width: 1365px) {
	.about-content .content-container .content-header {
	    bottom: 7.5em;
	}

	.about-content .content-container .about-picture-one{
	    width: 23em;
	    height: 31em;
	    margin: 3.5vw;
	}

	.about-content .content-container .content-text {
		top: 19em;
	    padding: 0em 3em 0em 18.5em;
	}

	.about-content .content-container .content-text span {
		font-size: 1.5vw;
	}

	.about-content .content-container .content-text .about-picture-two{
		width: 19em;
		height: 18.5em;
	}
}

@media only screen and (orientation: portrait) {	
	.about-header {
		width: 100%;
		height: fit-content;
	}

	.about-header .logo {
		float: left !important;
		width: 25%;
		padding: 5.5vw 8vw;
	}

	.about-header .logo img {
		width: 100%;
		height: auto;
	}

	.about-content {
		width: 85%;
		margin: auto;
	}

	.about-content .content-container {
		height: fit-content;
		max-height: fit-content;
	}

	.about-content .content-container .about-picture-one {
		width: 60vw;
	    height: 80vw;
	    margin: auto;
	}

	.about-content .content-container .content-header {
		width: 100%;
		font-size: 4.5vh;
		display: inline-block;
		left: 0em;
		bottom: 1.5em;
		z-index: 0;
	}

	.about-content .content-container .content-text {
		position: relative;
		top: -3em;
    	padding: 0em;
    	width: 100%;
    	height: fit-content;
	}

	.about-content .content-container .content-text span {
		font-size: 2vh;
	}

	.about-content .content-container .content-text .about-picture-two {
		width: 42vw;
		height: 42vw;
	}
}

@media only screen and (orientation: portrait) and (max-height: 655px) {
	.about-content .content-container .about-picture-one {
		width: 10em;
		height: 14em;
	}

	.about-content .content-container .content-text .about-picture-two {
		width: 7.5em;
		height: 8em;
	}

	.about-content .content-container .content-text {
    	top: -2.5em;
    }

	.about-content .content-container .content-text span {
		font-size: 2vh;
	}
}

@media only screen and (orientation: portrait) and (min-height: 811px) {
	.about-content .content-container .content-header{
		font-size: 4vh;
	}

	.about-content .content-container .about-picture-one {
		width: 60vw;
		height: 80vw;
	}

	.about-content .content-container .content-text .about-picture-two {
		width: 9.5em;
		height: 9.5em;
	}

	.about-content .content-container .content-text {
    	top: -3em;
    }

	.about-content .content-container .content-text span {
		font-size: 2vh;
	}
}

@media only screen and (orientation: portrait) and (min-height: 1000px) {
	.about-content .content-container .content-header{
		font-size: 4vh;
    	bottom: 2em;
	}

	.about-content .content-container .about-picture-one {
		width: 60vw;
		height: 80vw;
	}

	.about-content .content-container .content-text {
		position: relative;
		top: -5em;
    	padding: 0em;
    	width: 100%;
    	height: fit-content;
	}

	.about-content .content-container .content-text span {
		font-size: 2vh;
	}

	.about-content .content-container .content-text .about-picture-two {
		width: 42vw;
		height: 42vw;
	}
}

/* PORTOFOLIO */

.portofolio-container {
	background-color: #ff6000;
}

@media only screen and (orientation: landscape) {
	.portofolio-content-wrapper {
		position: fixed;
		top: 50%;
		margin-top: -15%;
		color: #ffffff;
		width: 100%;
	}

	.portofolio-content-wrapper .portofolio-content {
		position: relative;
	    width: fit-content;
	    margin: auto;
	}

	.portofolio-content .portofolio-logo {
		position: relative;
	    margin: auto;
	    width: fit-content;
	}

	.portofolio-content .portofolio-logo img {
		position: relative;
	    margin: auto;
	    width: 25vw;
	}

	.portofolio-content .link-two {
		display: grid;
		margin: 15px 0px 0px 25px;
	}

	.portofolio-content .link-two a {
		margin-bottom: 10px;
	}
}

@media only screen and (orientation: portrait) {
	.portofolio-container {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.portofolio-container .portofolio-content-wrapper {
		position: relative;
		display: block;
		width: 60%;
		height: auto;
		color: #ffffff;
		margin: auto;
	}

	.portofolio-content-wrapper .portofolio-content {
		width: 100%;
		height: fit-content;
		display: flex;
		flex-wrap: wrap;
	}

	.portofolio-content .portofolio-logo {
		position: relative;
		width: 100%;
		height: inherit;
	}

	.portofolio-content .portofolio-logo img {
		position: relative;
		width: 100%;
		height: auto !important;
	}

	.portofolio-content .link-two {
		position: relative;
		display: grid;
		width: 100%;
		height: auto;
		margin: auto;
	}

	.portofolio-content .link-two a {
		margin: 8px 0px 5px 5px;
		font-size: 2vh;
	}
}

/* WORKS */

.works-container {
	background-color: #ffffff;
}

.works-header {
	width: 100%;
	padding: 3.5vw;
}

.works-header .logo {
	width: auto;
	height: inherit;
}

.works-header .logo img {
	width: auto;
	height: inherit;
}

.works-content {
	width: 75%;
}

.works-content-panel {
	position: relative;
	display: inline-block;
	width: 19%;
	height: fit-content;
	padding: 0px 20px;
}

.works-content-panel .img {
	position: relative;
	width: 100%;
	border: 1px solid #ff6000;
	border-radius: 50%;
	padding-top: 100%;
	overflow: hidden;
}

.works-content-panel .img img {
	position: absolute;
	top: 0;
    width: 100%;
    height: auto;
    transition: transform 10s, filter 5s ease-in-out;
}

.works-content-panel .img img:hover {
	transform: scale(1.5);
}

.works-content-panel .text {
	text-align: center;
}

.works-content-panel a {
	color: #ff6000;
	text-decoration: none;
}

.works-content .odd {
	margin-top: 0px;
}

.works-content .even {
	margin-top: 100px;
}

@media only screen and (orientation: landscape) and (max-width: 950px) {
	.works-header {
		height: 15vh;
	}

	.works-content-panel {
		width: 35%;
		padding: 0px 35px;
	}

	.works-content .even, .works-content .odd {
		margin-top: 20px;
	}
}

@media only screen and (orientation: landscape) and (min-width: 1365px) {
	.works-header {
		height: 15vh;
	}

	.works-content-panel {
		width: 18%;
		padding: 0px 35px;
	}	

	.works-content .even {
		margin-top: 150px;
	}
}

@media only screen and (orientation: portrait) and (max-width: 950px) {
	.works-header {
		width: 75vw;
		height: auto;
		padding: 8.5vw;
	}

	.works-header .logo {
		width: inherit;
		height: auto;
	}

	.works-header .logo img {
		width: inherit;
		height: auto;
	}

	.works-content {
		width: 100%;
	}

	.content-wraper {
	    justify-content: center;
	}

	.works-content-panel {
		width: 35%;
		padding: 0px 25px;
	}

	.works-content .even {
		margin-top: 80px;
	}

	.works-content .odd {
		margin-top: 0px;
	}
}

@media only screen and (orientation: portrait) and (max-width: 321px) {
	.works-content-panel {
		width: 50%;
		padding: 0px 25px;
	}

	.works-content .even, .works-content .odd {
		margin-top: 20px;
	}
}

/* USERS */

.users-container {
	background-color: #ffffff;
}

.users-content {
	width: 75%;
	padding: 3.5vw 0vw 0vw 0vw;
}

.users-content .users-descriptions {
	width: 20%;
	color: #ff6000;
	margin-right: 20px;
}

.users-content .users-descriptions .text {
	padding-top: 15px;
	line-height: 1.5;
}

.users-content .users-descriptions .text .sub-header {
	margin-top: 10px;
}

.users-content .users-descriptions .logo {
	position: relative;
	width: 100%;
	height: fit-content;
	overflow: hidden;
}

.users-content .users-descriptions .logo img {
	top: 0;
    width: 100%;
    height: auto;
}

.users-content .users-portofolio {
	position: relative;
	width: 74%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 3vw;
}

.users-portofolio .content {
	position: relative;
	width: 25%;
	margin: 10px;
}

.users-portofolio .content.uno {
	margin-top: 0%;
}

.users-portofolio .content.dos {
	margin-top: 10%;
}

.users-portofolio .content.tres {
	margin-top: 20%;
}

.users-portofolio .content .img {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.users-portofolio .content .img img {
    width: 100%;
    height: auto;
}

.users-portofolio .content .text {
	position: relative;
	color: #ff6000;
}

@media only screen and (orientation: landscape) and (max-width: 1023px) {
	.users-content {
	    font-size: 1.5vw;
	}
}

@media only screen and (orientation: landscape) and (min-width: 1024px) {
	.users-content {
	    padding: 5vw 0vw 0vw 0vw;
	}

	.users-content .users-descriptions {
	    width: 20%;
	    margin-right: 30px;
	}

	.users-content .users-portofolio {
	    margin-top: 5vw;
	}

	.users-portofolio .content {
	    width: 29%;
	}
}

@media only screen and (orientation: landscape) and (min-width: 1365px) {
	.users-content .users-portofolio {
		width: 74%;
		margin-top: 3vw;
	}

	.users-portofolio .content {
		width: 30%;
	}

	.users-content .users-descriptions {
		width: 18%;
		margin-right: 80px;
	}
}

@media only screen and (orientation: portrait) {
	.users-content {
		width: 85%;
	    min-height: 100vh;
	    margin: auto;
	    padding-top: 10vw;
	    align-items: center;
	    justify-content: center;
	    display: flex;
	    font-size: inherit;
	}

	.users-portofolio .content {
	    width: 60%;
	}
}

@media only screen and (orientation: portrait) and (max-width: 767px) {
	.users-content .users-descriptions {
	    width: 100%;
	    margin-right: 0px;
	    margin-bottom: 10px;
	    display: flex;
	    flex-wrap: wrap;
	}

	.users-content .users-descriptions .logo {
	    position: relative;
	    width: 25%;
	    height: fit-content;
	    overflow: hidden;
	}

	.users-content .users-descriptions .text {
	    position: relative;
	    width: 100%;
	    padding: 0px 0px 0px 0px;
	}

	.users-portofolio .content .text p {
	    margin-block-start: 0.5em !important;
    	margin-block-end: 0.5em !important;
	}

	.users-content .users-portofolio {
	    width: 100%;
	    margin-top: 5vw;
	}
}

@media only screen and (orientation: portrait) and (min-width: 400px) {
	.users-portofolio .content {
	    width: 40%;
	}
}

@media only screen and (orientation: portrait) and (min-width: 500px) {
	.users-portofolio .content {
	    width: 27%;
	}
}

@media only screen and (orientation: portrait) and (min-width: 768px) {	
	.users-content {
	    font-size: large;
	    padding-top: 0vw;
	}

	.users-portofolio .content {
	    width: 29%;
	}
}

@media only screen and (orientation: portrait) and (min-width: 1024px) {
	.users-content {
	    font-size: large;
	    padding-top: 0vw;
	}

	.users-content .users-portofolio {
	    width: 77%;
	}
}

/* SIDEBAR */

.sidebar-container {
	z-index: 15;
	display: grid;
	position: absolute;
	font-family: 'CenturyGothic', sans-serif;
	font-size: 1.5vw;
	width: 25vw;
	padding: 3.5vw;
	bottom: 0;
	color: inherit;
}

.sidebar-container a {
	color: inherit;
	text-decoration: none;
	text-transform: uppercase;
	margin: 5px 0px;
	width: fit-content;
}

.sidebar-container .search input {
	font-size: 1.2vw;
	font-style: italic;
	border-radius: 10px;
	border: none;
	margin: 5px 0px;
	padding: 3px 10px;
	color: #ffffff;
	width: 50%;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
	-webkit-text-fill-color: #000000;
	-webkit-box-shadow: 0 0 0px 1000px rgb(255, 176, 128) inset;
	-webkit-border-before: unset;
}

.sidebar-container .search input:focus {
	outline: none;
}

.home-sidebar {
	color: #ffffff;
}

.home-sidebar .sidebar-container .search input {
	background-color:rgba(255, 255, 255, 0.5) !important;
}

.contact-sidebar {
	color: #ffffff;
}

.contact-sidebar .sidebar-container .search input {
	background-color:rgba(255, 255, 255, 0.5) !important;
}

.about-sidebar {
	position: fixed;
	color: #ff6000;
	height: 100%;
}

.about-sidebar .sidebar-container .search input {
	background-color:rgba(255, 96, 0, 0.5) !important;
	color: #ffffff !important;
}

.portofolio-sidebar {
	color: #ffffff;
}

.portofolio-sidebar .sidebar-container .search input {
	background-color:rgba(255, 255, 255, 0.5) !important;
}

.works-sidebar {
	position: relative;
    color: #ff6000;
    width: 23%;
}

.works-sidebar .sidebar-container {
	position: fixed !important;
	width: fit-content !important;
	padding: 3.5vw 0vw 3.5vw 3.5vw;
}

.works-sidebar .sidebar-container .search input {
	background-color:rgba(255, 96, 0, 0.5) !important;
	color: #ffffff !important;
	width: 64.45% !important;
}

.users-sidebar {
	position: relative;
    color: #ff6000;
    width: 23%;
}

.users-sidebar .sidebar-container {
	position: fixed !important;
}

.users-sidebar .sidebar-container .search input {
	background-color:rgba(255, 96, 0, 0.5) !important;
	color: #ffffff !important;
}

.mobile-sidebar {
	display: none;
}

/* MOBILE SIDEBAR */
/* Portrait Only */
@media only screen  
and (orientation: portrait) { 
	.works-sidebar, .users-sidebar {
		position: absolute;
	}

	.sidebar-container {
		display: none;
	}

	.mobile-sidebar {
		display: block;
		color: #ff6000 !important;
	}
}

.mobile-sidebar .menu-btn {
	position: fixed;
	bottom: 25px;
	right: 25px;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	border: 1px solid #ff6000;
	background-color:rgba(255, 255, 255, 0.8) !important;
	color: #ff6000 !important;
	font-size: 15px;
	text-align: center;
	justify-content: center;
	align-items: center;
	z-index: 20;
}

.mobile-sidebar .menu-btn:focus {
	outline: none;
	border: 1px solid #3e3e3e;
	color: #3e3e3e !important;
}

.mobile-sidebar .pushy {
	background: #fffdfc;
	opacity: 0.9;
}