
.Homepage {
	position: absolute; /* REQ */
	height: 100%;
	background: rgba(255, 255, 255, 0.85);
    width: 100%;
    left: 0px;
    top: 0px;
    border-radius: 10px;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-top: 16px;
    -webkit-transition: 1s;
    transition: 1s;
}

.Homepage .homepage-body {
    height: 1px;
    min-height: calc(100% - 85px);
    width: 100%;
    -webkit-transition: .33s linear;
    transition: .33s linear;
}

.Homepage.small {
	width:400px;
	height:300px;
	top: calc(50% - 150px);
	left: calc(50% - 200px);
}

.Homepage.small .main-logo{
	position: absolute;
	top: 20px;
    left: calc(50% - 123px);
    height: 80px;
    width: 246px;
    object-fit: contain;
}

.Homepage .header {
	position: relative;
	width: 100%;
	padding-bottom: 16px;
}

.Homepage .main-logo {
	display: inline-block;
	height: 64px;
	width: 204px;
	background-size: 100%;
	-webkit-transition: .33s linear;
    transition: .33s linear;
    object-fit: contain;
}

.Homepage .logout-container {
	height: 50px;
	width: 33%;
	position: absolute;
	right: 0px;
    bottom: 16px;
    overflow: hidden;
}

.Homepage .line {
	position: absolute;
	bottom: 0px;
	width: 100%;
	border-top: 1px solid #bdbdbd;
}

.Homepage .welcome-text {
	width: calc(100% - 190px);
	color: #757575;
	font-family: Roboto;
	font-size: 16px;
	font-weight: 400;
	line-height: 18px;
	overflow: hidden;
	display: inline-block;
	position: inherit;
    bottom: 10px;
    left: 17px;
}

.Homepage .button {
	float: right;
	color: white;
	text-align: center;
	width: 78px;
	height: 38px;
	line-height: 38px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	border-radius: 3px;
	background-color: #4cb050;
	cursor: pointer;
}

.Homepage .button:hover {
	background-color: #368239;
	box-shadow: 2px 2px 1px #888888;
}

.Homepage .left-container {
	float: left;
	width: calc(67% - 45px);
	height: 100%;
	position: relative;
}

.Homepage .right-container {
	float: right;
	height: 100%;
	width: 33%;
	position: relative;
}

.Homepage .navigation-container {
	height: 333px;
	width: 100%;
	position: relative;
}

.Homepage .third-party-container {
	height: calc(100% - 333px);
    width: 100%;
    position: absolute;
    bottom: 0px;
}

.Homepage .companion-apps-container {
	width: 100%;
}

.Homepage .notification-container {
	height: calc(100% - 245px);
	width: 100%;
	position: absolute;
	bottom: 0px;
}

.Homepage .mask-homescreen {
	position: absolute;
	height: 100%;
	width: 100%;
	opacity: .5;
	top:0;
	left:0;
	background-color: rgba( 220, 220, 220, 0.8 );
	margin: inherit;
	z-index: 1000;
	cursor: default;
	border-radius: 10px;
	opacity: 0;
	visibility: hidden;
	transition: .2s linear;
}

.Homepage .mask-homescreen.show {
	opacity: 1;
	visibility: visible;
}

@media screen and (max-width: 1600px) {
	.Homepage .third-party-container {
		height: calc(100% - 326px);
	}

	.Homepage .navigation-container {
		height: 326px;
	}
}

@media screen and (max-width: 1370px) {
	.Homepage {
		padding-bottom: 10px;
		padding-right: 40px;
		padding-left: 40px;
	}
}

@media screen and (max-width: 1250px) {
	.Homepage .third-party-container {
		height: calc(100% - 272px);
	}

	.Homepage .navigation-container {
		height: 272px;
	}
}

@media screen and (max-width: 1100px) {
	.Homepage {
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
		padding-top: 10px;
	}

	.Homepage .left-container {
		width: calc(67% - 20px);
	}
}

@media screen and (max-width: 990px) {
	.Homepage .third-party-container {
		height: calc(100% - 484px);
	}

	.Homepage .navigation-container {
		height: 484px;
	}

	.Homepage .left-container,
	.Homepage .right-container {
		width: calc(50% - 10px);
	}

	.Homepage {
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
		padding-top: 10px;
	}

	.Homepage .logout-container {
		width: calc(50% - 10px);
	}
}

@media screen and (max-width: 720px) {
	.Homepage .left-container,
	.Homepage .right-container {
		width: 100%;
		float: left;
		height: 600px;
	}

	.Homepage .right-container {
		padding-top: 10px;
	}

	.Homepage .homepage-body {
		padding-left: 50px;
		padding-right: 50px;
	}

	.Homepage .button {
		width: 64px;
		height: 30px;
		line-height: 30px;
		top: 7px;
	}

	.Homepage .homepage-body {
		padding-left: 20px;
		padding-right: 20px;
	}

	.Homepage .main-logo {
		height: 38px;
		width: 120px;
	}

	.Homepage .header {
		padding-left: 20px;
		padding-right: 20px;
	}

	.Homepage .logout-container {
		min-width: calc(100% - 180px);
		right: 20px;
		bottom: 8px;
	}


	.Homepage .welcome-text {
		text-align: right;
	}
}

@media screen and (max-width: 580px) {
	.Homepage .welcome-text {
		font-size: 12px;
		left: 0;
		width: calc(100% - 150px);
	}
}

@media screen and (max-width: 540px) {
	.Homepage .homepage-body {
		padding-left: 0px;
		padding-right: 0px;
	}

	.Homepage .header {
		padding-left: 0px;
		padding-right: 0px;
	}

	.Homepage .logout-container {
		min-width: calc(100% - 140px);
		right: 0px;
	}
}

@media screen and (min-height: 750px) and (min-width: 990px) {
	.Homepage .third-party-container {
		height: calc(100% - 379px);
	}

	.Homepage .navigation-container {
		height: 379px;
	}
}

@media screen and (min-height: 750px) and (max-width: 1600px) and (min-width: 990px) {
	.Homepage .third-party-container {
		height: calc(100% - 340px);
	}

	.Homepage .navigation-container {
		height: 340px;
	}
}

@media screen and (min-height: 600px) and (max-width: 1250px) and (min-width: 990px) {
	.Homepage .third-party-container {
		height: calc(100% - 286px);
	}

	.Homepage .navigation-container {
		height: 286px;
	}
}