/*
 * SPECIFICATIONS FOR MEDIA QUERIES USED BY SEMANTIC UI
 * mobile     		|  @media only screen and (max-width: 767px)
 * tablet	  		|  @media only screen and (min-width: 768px) and (max-width: 991px)
 * small monitor    |  @media only screen and (min-width: 992px) and (max-width: 1200px)
 * large monitor	|  @media only screen and (min-width: 1201px)
*/

/* ========== TOP MENU ========== */
/*
 * Top menu does not have responsive classes,
 * therefore the media queries are implemented to adjust the menu view based on the device.
 */
/* ----- 'HOME' ICON ----- */
#home {
	position: fixed;
	z-index: 10;
}

/*
 * Custom adjustments to home-logo size
 */
.lfs-logo {
	width: 20%;
}

/*
 * 'Lionfish Studios' title-image to appear
 * beside the home logo on-hover
 */
#home .image {
	display: inline-flex;
}

/*
 * Provides sufficient space to prevent the
 * home icon in PC view from bobbing up and
 * down when hovering over the menu-options.
 */
.ui.top.fixed.secondary.menu {
	min-height: 70px;
}

#menu-pc .item,
#menu-mobile .item {
	font-family: "Louis George Cafe", Helvetica, Arial, sans-serif;
	font-weight: 700;
	color: #F4F3F3;
}

#menu-main {
	transition: background-color 0.5s;
}

#menu-main.active {
	background-color: rgba(51,51,51,0.5);
}

.scrolled#menu-main {
    background-color: #0B1519;
}

/* ----- TOP MENU FOR PC ----- */
/*
 * Centering the menu-options for PC view
 */
#menu-pc {
	margin: auto;
}

#menu-pc .item {
	font-size: 12pt;
}

/*
 * Menu-item hover effect
 */
#menu-pc .item:hover {
	border-radius: 0px;
	border-bottom: 1px solid white;
	background-color: rgba(0,0,0,0);
}

@media only screen and (min-width: 768px) {
	#home {
		display: block;
	}

	#right-menu-mobile {
		display: none;
	}

	#home-logo-mobile {
		display: none;
	}
}

/* ----- TOP MENU FOR MOBILE/TABLET ----- */
#menu-mobile .item {
	font-size: 12pt;
	text-align: right;
}

/*
 * Positioning the mobile-menu below
 * the top-menu bar
 */
#menu-mobile {
	top: 70px;
	width: 100%;
	transition: background-color 0.5s;
}

#menu-mobile.animating.in {
	background-color: rgba(51,51,51,0.5);
}

#menu-mobile.animating.out {
	background-color: rgba(51,51,51,0);
}

#menu-mobile.visible {
	background-color: rgba(51,51,51,0.5);
}

/*
 * Top menu on mobile
 */
#right-menu-mobile,
#right-menu-mobile:hover {
	background-color: rgba(0,0,0,0) !important;
	transition: all 0.5s;
}

#right-menu-mobile.active,
#right-menu-mobile.active:hover {
	transform: rotate(180deg);
}

@media only screen and (max-width: 767px) {
	#right-menu-mobile {
		display: block;
	}

	#menu-pc {
		display: none;
	}
}

/* ========== PARALLAX ========== */
/*
 * Contains all the specific stylings needed for
 * implementing the parallax effect.
 */
#parallax {
	height: 100vh; /* caters to smaller non-mobile devices */
	max-height: 1080px;
	position: relative;
	overflow: hidden;
}

#parallax-mobile {
	display: none;
}

.layer {
	width: 100%;
	height: 100vh;
	max-height: 1080px;
	position: fixed;
	background-position: bottom center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: -1;
}

/*
 * Assigning image to the parallax layers
 */
.layer-14 {
	background-image: url("images/parallax/header_14.png");
}

.layer-13 {
	background-image: url("images/parallax/header_13.png");
}

.layer-12 {
	background-image: url("images/parallax/header_12.png");
}

.layer-11 {
	background-image: url("images/parallax/header_11.png");
}

.layer-10 {
	background-image: url("images/parallax/header_10.png");
}

.layer-09 {
	background-image: url("images/parallax/header_09.png");
}

.layer-08 {
	background-image: url("images/parallax/header_08.png");
}

.layer-07 {
	background-image: url("images/parallax/header_07.png");
}

.layer-06 {
	background-image: url("images/parallax/header_06.png");
}

.layer-05 {
	background-image: url("images/parallax/header_05.png");
}

.layer-04 {
	background-image: url("images/parallax/header_04.png");
}

.layer-03 {
	background-image: url("images/parallax/header_03.png");
}

.layer-02 {
	background-image: url("images/parallax/header_02.png");
}

.layer-01 {
	background-image: url("images/parallax/header_01.png");
}

/*
 * Parallax is not suitable on mobile and
 * tablets, and should be disabled on these.
 */
@media only screen and (max-width: 991px) {
	#parallax {
		display: none;
	}

	#parallax-mobile {
		display: block;
		width: 100vw;
		min-height: 400px;
		background-image: url("images/parallax/mobile.png");
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
}

/* ========== SIDEBAR NAVIGATION ========== */
#right-sidebar {
	position: fixed;
	top: 40%;
	right: 0;
	width: 50px;
	background-color: rgba(0,0,0,0);
	z-index: 10;
}

#right-sidebar .item,
#right-sidebar .item:visited,
#right-sidebar .item:active {
	background-color: rgba(0,0,0,0);
}

#right-sidebar .item {
	opacity: 0.35;
}

#right-sidebar .item.active {
	opacity: 1;
}

/* ========== CONTENT BODY ========== */
/*
 * For hiding the default scrollbar
 */
::-webkit-scrollbar {
	width: 0; /* remove scrollbar space */
}

/* ----- BACK-TO-TOP BUTTON ----- */
#back-to-top {
	display: inline-block;
	position: fixed;
	bottom: 70px;
	right: 50px;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}

.btt-visible#back-to-top {
	opacity: 1;
	visibility: visible;
}

@media only screen and (max-width: 767px) {
	#back-to-top,
	.btt-visible#back-to-top {
		display: none;
	}
}

/*
 * Some adjustments to the back-to-top button for mobile,
 * since viewport width is much smaller.
 */
@media only screen and (max-width: 767px) {
	#back-to-top {
		right: 15px;
	}
}

/* ----- COOKIES-ALERT MESSAGE ----- */
#cookies-alert {
	position: fixed;
	bottom: 0;
	width: 100vw;
	margin-bottom: 0;
	background-color: #333333;
	text-align: center;
	z-index: 999;
}

#cookies-alert p {
	padding: 0.65em;
	font-size: 1.2em;
}

/*
 * Remove margins and force the grid to fill
 * up the width of the viewport nicely.
 */
#wrapper .container {
	margin: 0 !important;
	width: 100% !important;
}

/* ----- SECTION STYLINGS ----- */
/*
 * 'WHAT WE DO' Section
 */
#what .column {
	/*height: 30vh;*/
	max-height: 700px;
}

@media only screen and (max-width: 767px) {
	#what .column {
		min-height: 650px;
	}
}

/*
 * 'OUR SERVICES' Section
 */
 #services {
	min-height: 540px;
/*	max-height: 680px;*/
}

.services-item {
	margin: 1rem !important;
}

/*
 * Seahorse image in Tablet/PC view
 */
#services-animal {
	position: absolute;
	bottom: 0;
	right: 0;
	/*height: calc(1229 * 80vw / 1361);*/
	max-height: 780px;
}

/*
 * Seahorse image in mobile view
 */
#services-mobile-spacer {
	height: calc(1229 * 80vw / 1361);
	max-height: 350px;
}

#services-animal-mobile {
	position: absolute;
	bottom: 0;
	right: 0;
	max-height: 350px;
}

/* ----- CLIENT ICONS ----- */
/*
 * Only colorize them on hover for PC
 */
#clients .image {
	max-width: 256px;
	max-height: 256px;
    transition: filter 0.4s;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	filter: grayscale(100%);
}

#clients .image:hover {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	filter: grayscale(0%);
}

/*
 * 'WHO WE ARE' Section
 */
#who {
	min-height: 370px;
}

/*
 * Racoon image in Tablet/PC view
 */
#who-animal {
	position: absolute;
	top: 0;
	right: 0;
	height: calc(35vw / 516 * 496);
	width: auto;
	max-height: 355px;
}

/*
 * Racoon image in mobile view
 */
#who-mobile-spacer {
	height: calc(496 * 100vw / 516);
	max-height: 250px;
}

#who-animal-mobile {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-height: 250px;
}

/*
 * Quick-fix for description-header in the
 * 'WHO WE ARE' section to prevent text-content
 * overflow from its own allocated '.column' space.
 */
#fix-1 {
	font-size: 30pt;
}

/*
 * 'OUR WORKS' Section
 */

/*
 * Portfolio cards
 */
.ui.cards .portfolio.card,
.ui.cards .portfolio.card:hover {
	border-radius: 50%;
	background-color: rgba(0,0,0,0);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.portfolio.card .label {
	background-color: rgba(51, 51, 51, 0.65);
}

.portfolio.card .label h5,
.portfolio.card .label p {
	color: #F4F3F3;
}


/*
 * Project Information Modals
 *
 * Semantic UI does not have a image-carousel implementation.
 * As such, this has to be manually implemented.
 *
 * Stylings for this carousel is done here, the functionality
 * will be implemented in JS scripting.
 */

/* ----- IMAGE CAROUSEL ----- */
/*
 * Active carousel images are to be wrapped
 * within a rounded black rectangle.
 */
.modal .carousel-active,
.modal .carousel-active-pc {
	background-color: black;
	border-radius: 0.5rem;
}

/*
 * Aligning the image carousel icons to the center.
 */
.modal .images {
	margin: auto;
}

/*
 * Provide some spacing between the active
 * carousel image and the image icons in
 * mobile view.
 */
@media only screen and (max-width: 767px) {
	.modal .images {
		padding-top: 1rem;
	}
}

/*
 * Carousel image icons are transclucent when inactive,
 * and fully opaque when active.
 */
.modal .images .image {
	vertical-align: middle;
	opacity: 0.5;
	transition: opacity 1s;
}

.modal .images .image:hover {
	cursor: pointer;
}

.modal .images .image.active {
	opacity: 1.0;
}

/* ----- PROJECT DESCRIPTIONS ----- */
.ui.modal .description.light,
.modal .column.light {
	box-shadow: 0px 8px rgba(88, 88, 88, 0.8);
}

/*
 * Removing the top padding for the coloured
 * columns for the game description modal
 * sections, so that they fit nicely as a
 * single colour-divided block.
 */
.ui.modal .content .description {
	padding-top: 0 !important;
}

.modal .column > *,
.modal .content .description > *,
.modal .description .header > * {
	color: #F4F3F3;
	padding: 2.5%;
	margin: 0;
}

.ui.modal a {
	padding: 0;
}

/*
 * Centering the project title + project-type text
 */
.modal .description .header,
.modal.pc .column.dark * {
	text-align: center;
}

/*
 * Project description text-sizings
 */
.ui.modal.pc .column h2,
.modal .description h2 {
	font-size: 1.5rem;
}

.ui.modal.pc .column h4,
.modal .description h4 {
	font-size: 1rem;
}

.ui.modal.pc .column h5,
.modal .description h5 {
	font-size: 0.9rem;
}

.ui.modal.pc .column p,
.modal .description p {
	font-size: 0.75rem;
}

/*
 * Project Modal for tablet/PC
 */
/*
 * Setting the active carousel image 'viewport'
 */
.modal .grid {
	margin: 0;
	width: 100%;
}

.modal .grid .grid {
	height: 100%;
}

/*
 * Configuring the image carousel 'viewport'
 * sizing when in tablet/PC view.
 *
 * We remove padding since the grids and
 * columns themselves come with their own
 * padding values, and we don't want too
 * much whitespace.
 */
.modal .image.carousel-active-pc {
	width: 100%;
	height: 280px;
	padding: 0;
}

/*
 * The image carousel's active image should
 * be wrapped within the defined image 'viewport'.
 *
 * We add padding in tablet/PC view in case
 * the carousel image width overruns its
 * 'viewport' boundaries. However, we don't
 * have to add it in here since the required
 * padding already exists.
 */
.modal .image.carousel-active-pc img,
.modal .content .carousel-active img {
	height: 100%;
	margin: auto;
}

/*
 * Project Modal content for mobile
 */
@media only screen and (max-width: 767px) {
	/*
	 * Configuring the image carousel 'viewport'
	 * sizing when in mobile view.
	 */
	.modal .content .image.carousel-active {
		height: 160px;
		padding: 0 !important;
	}

	/*
	 * The image carousel's active image should
	 * be wrapped within the defined image 'viewport'.
	 * 
	 * We remove padding in mobile view because the
	 * carousel image width will not overrun its
	 * 'viewport' boundaries.
	 */
	.modal .content .carousel-active img {
		padding: 0;
	}
}

/*
 * Modal action <div>
 */
.ui.modal .actions {
	background-color: #B8B8B8;
	box-shadow: 0px 15px rgb(72, 72, 72);
}

/*
 * 'THE STUDIO' Section
 */
#studio {
	min-height: 450px;
}

#studio-animal {
	position: absolute;
	bottom: 0;
	right: 0;
	height: calc(998 * 100vw / 690);
	max-height: 480px;
}

@media only screen and (max-width: 767px) {
	#studio-mobile-spacer {
		height: calc(998 * 100vw / 690);
		max-height: 400px;
	}

	#studio-animal-mobile {
		position: absolute;
		bottom: 0;
		right: 0;
		height: calc(998 * 100vw / 690);
		max-height: 400px;
	}
}

/*
 * Team member cards
 */

 #team-bubbles {
 	position: absolute;
 	top: 0;
 	left: 0;
 	width: 100%;
 	height: 100%;
 	background-image: url("images/sections/team.png");
 	background-position: center;
 	background-size: contain;
 	background-repeat: repeat;
 }

#team .card {
	background-color: rgba(0,0,0,0);
	box-shadow: none;
}

#team .card .image {
	border-radius: 50%;
	background-color: rgba(0,0,0,0);
}

/*
 * To allow all team member names to
 * be displayed in a single line.
 */
#team .card .content {
	padding-left: 0;
	padding-right: 0;
}

/*
 * Reducing the spacing between the 
 * team member's name and their title.
 */
#team .card .content * {
	margin: 4px 2px;
}

/*
 * Adjustments to team member's
 * name and title sizings.
 */
#team .card .content h4 {
	color: #DDDB9F;
	font-size: 2rem;
}

#team .card .content h5 {
	color: #F4F3F3;
	font-size: 1.2rem;
}

@media only screen and (max-width: 767px) {
	#team .card .content h4 {
		font-size: 1.4rem;
	}

	#team .card .content h5 {
		font-size: 1rem;
	}
}

/*
 * 'CONTACT US' Section
 */
/* 
 * CONTACT FORM
 */
.ui.form div.field input, .ui.form div.field textarea {
	background: #B7B7B7;
	border-radius: 10px;
}

.ui.form div.field input {
	height: 48px;
}

.ui.form div.field input:focus, .ui.form div.field textarea:focus {
	background: #B7B7B7;
	border-radius: 10px;
}

.ui.form div.field input::placeholder, .ui.form div.field textarea::placeholder {
	color: #333333;
}

/*
 * Linking up to the seabed image
 */
.row.dark.reverse#contact {
	padding-bottom: 0 !important;
}

#row-seabed {
	background-color: #0B1519;
	padding: 0 !important;
	height: calc(100vw/1920*928);
	max-height: 928px;
}

#seabed {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	max-height: 928px;
}

/* ========== FOOTER ========== */
#footer-spacer{
    height: 150px;
}

#footer {
	margin: 0;
	background-color: #0B1519;
	border-radius: 0;
}

#footer .item {
	display: inline-block;
	opacity: 0.65;
}

#footer .item:not(div):hover,
#footer .item:not(div):active {
	opacity: 1;
}

#footer .item {
	font-family: "Open Sans", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 12pt;
	color: #F3F3F3;
}
