﻿/* #region Common */

body {
    font-family: 'Lato', sans-serif;
    font-size: 16px;
	line-height: 1.3;
	color: #666666;
    background-color: #ffffff;
}

a,
a:focus {
    color: #00509a;
	text-decoration: none;
	-o-transition:.2s;
	-moz-transition:.2s;
	-webkit-transition:.2s;
	transition:.2s;
}

a:hover {
	color: #00509a;
	text-decoration: none;
}

a img {
    border: none;
}

h1 {
	font-size: 25px;
	font-weight: 700;
	color: #00509a;
	margin-bottom: 20px;
}

h2 {
	font-size: 25px;
	font-weight: 700;
	text-align: center;
	color: #00509a;
	margin: 0;
	padding: 0 0 20px 0;
}

h3 {
	font-size: 20px;
	font-weight: 700;
	color: #006699;
	padding: 0 0 10px 0;
}

.text-red {
	color: #ef4136;
}

b, strong {
    font-weight: 700;
}

.btn {
    border-radius: 0;
	padding: 10px;
    transition: all .4s ease-in-out;
}

.btn-outline-primary,
.btn-outline-primary:visited,
.btn-outline-primary:focus,
.btn-outline-primary:active:focus {
	font-weight: bold;
	color: #00509a;
	border-color: #00509a;
}

.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary:active:hover,
.btn-outline-primary.focus, 
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active, 
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus {
	color: #ffffff;
	background-color: #00509a;
	border-color: #00509a;
	box-shadow: none;
}

.btn-outline-secondary,
.btn-outline-secondary:visited,
.btn-outline-secondary:focus,
.btn-outline-secondary:active:focus {
	font-weight: bold;
	color: #ffffff;
	border-color: #ffffff;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:active,
.btn-outline-secondary:active:hover,
.btn-outline-secondary.focus, 
.btn-outline-secondary:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active, 
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus {
	color: #00509a;
	background-color: #ffffff;
	border-color: #ffffff;
	box-shadow: none;
}

.btn.disabled, .btn[disabled], 
.btn.disabled.active, .btn[disabled].active,
.btn.disabled.focus, .btn[disabled].focus, 
.btn.disabled:active, .btn[disabled]:active, 
.btn.disabled:focus, .btn[disabled]:focus, 
.btn.disabled:hover, .btn[disabled]:hover,
.btn.aspNetDisabled {
    background-color: #e8e8e8;
    border-color: #e8e8e8;
	color: #666666;
}

.form-control,
.custom-select {
	font-weight: 300;
	color: #000000;
	background-color: transparent;
	border-color: #00509a;
	border-radius: 0;
}

.form-control:focus {
	border-color: #00509a;
	box-shadow: none;
}

.custom-select option {
	color: initial;
}

.has-error .form-control,
.has-error .custom-select {
    /*border-color: #a94442!important;*/
	border-color: #dc3545!important;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

.pagination {
	margin: 20px 0;
}

.pagination > .page-item > .page-link {
	color: #00509a;
}

.pagination > .page-item.active > .page-link {
	color: #ffffff;
    background-color: #00509a;
    border-color: #00509a;
}

.pagination > .page-item.result {
	display: none;
}

.breadcrumb {
	background-color: transparent;
	padding: 0;
	/*padding-top: 25px;*/
	margin-top: 0;
}

.breadcrumb .breadcrumb-item,
.breadcrumb .breadcrumb-item a,
.breadcrumb .breadcrumb-item a:hover,
.breadcrumb .breadcrumb-item a:active,
.breadcrumb .breadcrumb-item a:focus {
	/*color: #ffffff;*/
}

.breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    /*color: #ffffff;*/
    content: ">";
}

.breadcrumb .breadcrumb-item.active {
    font-weight: bold;
}

.card {
	border-color: #ffffff;
	border-radius: .25rem;
	/*box-shadow: 0px 6px 9px -3px rgba(179,179,179,0.20);*/
	box-shadow: 0px 3px 19px -3px rgba(222,222,222,1);
	margin-bottom: 25px;
}

.card > .row > div > img {
	padding: 10px 0 0 10px;
}

.card > p.fal {
	font-size: 72px;
	text-align: center;
	color: #00509a;
	padding-top: 15px;
}

.card.page .card-body h3 {
	font-size: 24px;
	font-weight: 400;
	text-align: center;
	color: #333333;
}

.card.page .card-body p {
	color: #333333;
}

.card.picto .card-body p {
	color: #333333;
}

.accordion .card {
	box-shadow: none;
	border: solid 1px #dddddd;
}

.accordion .card .card-header button {
	color: #00509a;
	text-decoration: none;
}

@media (min-width: 768px) {
	.card.page .card-img-top {
		width: 100%;
		height: 25vh;		/* https://stackoverflow.com/questions/37287153/how-to-get-images-in-bootstraps-card-to-be-the-same-height-width */
		object-fit: cover;
	}
}

.btgrid .row > div img {
	max-width: 100%;
	height: auto;
}

@media (min-width: 768px) {
	h1 {
		font-size: 32px;
	}

	h2 {
		font-size: 32px;
	}
}

@media (min-width: 1024px) {
	h1 {
		font-size: 36px;
	}

	h2 {
		font-size: 36px;
	}

	.btn {
		padding: 20px;
		min-width: 200px;
	}

	.btn-sm {
		padding: 7px;
	}

	.modal-footer .btn {
		padding: 10px;
		min-width: 150px;
	}
}

/* #endregion */

/* #region Header */

.navbar {
	background-color: #ffffff;
    min-height: 55px;
	border-bottom: solid 1px #00509a;
}

.navbar-toggler,
.navbar-toggler:hover {
    border-color: #00509a;
	color: #00509a;
}

.navbar-toggler-icon {
    height: 1.2em;
 }

.navbar-brand img {
	width: auto;
	max-height: 45px;
}

.navbar-nav .nav-link {
    font-size: 15px;
    text-transform: uppercase;
	color: #00509a;
}

.navbar-nav .nav-item .nav-link:hover,
.navbar-nav .nav-item.active .nav-link {
	color: #ef4036;
}

@media (min-width: 1024px) {
	.navbar {
		padding: 50px 0;
		min-height: 90px;
	}

	.navbar.scrolled {
		padding: 20px 0;
	}

	.navbar-brand img {
		width: auto;
		max-height: 55px;
	}

	.navbar.scrolled .navbar-brand img {
		max-height: 40px;
	}

	.navbar-nav .nav-item {
		padding-left: 5px;
	}

	.navbar-nav .nav-link {
		font-size: 15px;
		font-weight: 700;
	}

	.navbar-nav .dropdown-menu .nav-link {
		font-size: 15px;
		text-transform: none;
		color: #000;
	}

	.navbar-nav .dropdown-menu a:hover, 
	.navbar-nav .dropdown-menu a:focus {
		color: #ffffff;
		background-color: #00509a;
	}
	
	.dropdown-item {
		padding: .55rem 1.5rem;
	}

	.navbar-top {
		margin-top: 5px;
	}

	.navbar-bottom {
		padding-right: 0;
	}

	.navbar-top .nav-item .nav-link {
		font-size: 13px;
		text-transform: none;
	}

	.navbar-nav .nav-item#mypyxis .nav-link {
		text-transform: none;
		color: #035fad;
		background-color: #ffffff;
		border: solid 1px #035fad;
		margin-left: 10px;
	}

	.navbar-nav .nav-item#clientarea .nav-link {
		text-transform: none;
		color: #efe7dd;
		background-color: #035fad;
		border: solid 1px #035fad;
	}
}

@media (min-width: 1024px) {
	.navbar-brand img {
		width: auto;
		max-height: 40px;
	}

	.navbar-nav .nav-item {
		padding-left: 5px;
	}

	.navbar-nav .nav-link {
		padding-right: 0.3rem;
		padding-left: 0.3rem;
	}

	.navbar-nav .nav-item#clientarea .nav-link {
		color: #ffffff;
	}
}

@media (min-width: 1280px) {
	.navbar-brand img {
		max-height: 45px;
	}

	.navbar-nav .nav-item {
		padding-left: 5px;
	}
}

/* #endregion */

/* #region Footer */

footer {
	color: #ffffff;
	background-color: #00509a;
	padding-top: 30px;
}

footer a,
footer a:hover,
footer a:visited {
	color: #ffffff;
}

footer h2 {
	text-align: left;
	padding: 15px 0 15px 0;
}

footer .btgrid .row > div img {
	max-width: 60%;
	height: auto;
}

footer ul, li {
	list-style: none;
	text-align: left;
	padding: 0;
	margin-bottom: 0;
}

footer li {
	display: inline-block;
	padding: 0 15px;
}

footer .fab {
	padding: 0 15px;
}

footer hr {
	border-top: solid 1px #7facda;
	margin-top: 20px;
}

footer .bottom {
	text-align: center;
	padding: 10px 0 30px 0;
}

footer .bottom > div {
	margin-bottom: 15px;
}

@media (min-width: 768px) {
	footer {
		padding-top: 75px;
	}

	footer hr {
		margin-top: 60px;
	}
}

/* #endregion */

/* #region Template */

#section-template-content {
	padding-top: 65px;
}

#section-template-content ul:not(.breadcrumb), li {
	list-style: none;
	text-align: left;
	padding: 0;
}

#section-template-link {
	padding: 30px 0;
}

#section-template-link .row > div h2 {
	font-size: 24px;
	text-align: left;
}

#section-template-link ul {
	list-style: none;
	text-align: left;
	padding: 0;
}

#section-template-link .row > div li {
	padding: 15px 0;
}

#section-template-link .row > div li:not(:last-child) {
	border-bottom: solid 1px #d9d9d9;
}

@media (min-width: 1024px) {
	#section-template-content {
		padding-top: 155px;
	}

	#section-template-link {
		padding: 100px 0;
	}

	#section-template-link .row > div > .content {
		padding-right: 100px;
	}
}

/* #endregion */

/* #region Home */

/* #region Home > Banner */

#section-home-banner .carousel-caption {
	text-align: left;
	left: 0;
	top: 5%;
	right: 0;
	bottom: 0;
}

#section-home-banner .carousel-caption h1 {
	color: #ffffff;	
}

#section-home-banner .carousel-indicators li {
	background-color: #00509a;
}

#section-home-banner .carousel-indicators li.active {
	background-color: #ef4036;
}

@media (min-width: 768px) {
	#section-home-banner .carousel-caption .carousel-caption-text {
		max-width: 70%;
	}
}

@media (min-width: 1024px) {
	#section-home-banner .carousel-caption {
		top: 10%;
	}

	#section-home-banner .carousel-indicators {
		bottom: -50px;
	}

	#section-home-banner .carousel-caption .carousel-caption-text {
		max-width: 50%;
	}
}

/* #endregion */

/* #region Home > About */

#section-home-about {
	padding: 30px 0 0 0;
}

#section-home-about .row > div img {
	max-width: 100%;
	height: auto;
}

#section-home-about .row > div h2 {
	text-align: left;
	padding-top: 0px;
}

@media (min-width: 1024px) {
	#section-home-about {
		padding: 100px 0 0 0;
	}

	#section-home-about .row > div img {
		max-width: 80%;
	}

	#section-home-about .row > div h2 {
		padding-top: 50px;
	}
}

/* #endregion */

/* #region Home > Service */

#section-home-service {
	background: #f8f8f8;
	padding: 5rem 0 3rem 0;
	clip-path: polygon(0 2%, 100% 0, 100% 100%, 0 100%);	/* https://css-tricks.com/create-diagonal-layouts-like-its-2020/ */
}

#section-home-service > .container > p {
	text-align: center;
}

#section-home-service > .container > .row {
	padding: 30px 0;
}

@media (min-width: 768px) {
	#section-home-service {
		clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);	/* https://css-tricks.com/create-diagonal-layouts-like-its-2020/ */
	}
}

@media (min-width: 1024px) {
	#section-home-service {
		padding: 10rem 0 7rem 0;
		clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);	/* https://css-tricks.com/create-diagonal-layouts-like-its-2020/ */
	}
}

/* #endregion */

/* #region Home > News */

#section-home-news {
	padding: 30px 0 50px 0;
}

#section-home-news > .container > .row {
	padding: 30px 0 50px 0;
}

@media (min-width: 1024px) {
	#section-home-news {
		padding: 100px 0;
	}
}

/* #endregion */

/* #region Home > Number */

#section-home-number {
	text-align: center;
	color: #ffffff;
	position: relative;
	overflow: hidden;
}

#section-home-number h2 {
	color: #ffffff;
	padding-bottom: 10px;
}

#section-home-number > img {
	filter: brightness(60%);
	width: 1000px;
	max-width: 1000px;
	height: auto;
	margin-left: -300px;
}

#section-home-number .content-wrapper {
	position: absolute;
	top: 40px;
	left: 0;
	right: 0;
	bottom: 0;
}

@media (min-width: 768px) {
	#section-home-number h2 {
		padding-bottom: 20px;
	}

	#section-home-number > img {
		width: unset;
		max-width: 100%;
		height: auto;
		margin-left: 0;
	}
}

/* #endregion */

/* #endregion */

/* #region Content */

/* #region Content > Banner */

#section-content-banner .carousel-caption {
	text-align: left;
	left: 0;
	top: 5%;
	right: 0;
	bottom: 0;
}

#section-content-banner .carousel-caption h1 {
	color: #ffffff;	
}

#section-content-banner .carousel-indicators li {
	background-color: #00509a;
}

#section-content-banner .carousel-indicators li.active {
	background-color: #ef4036;
}

@media (min-width: 768px) {
	#section-content-banner .carousel-caption .carousel-caption-text {
		max-width: 70%;
	}
}

@media (min-width: 1024px) {
	#section-content-banner .carousel-caption {
		top: 10%;
	}

	#section-content-banner .carousel-caption .carousel-caption-text {
		max-width: 50%;
	}
}

/* #endregion */

#section-content-career .video-container {
	height: 100%;
	max-width: 100%;
   	margin: 0 auto;
	position: relative;
}

#section-content-career .video-container .video-image {
	cursor: pointer;
}

#section-content-career .video-container .video-control {
	width: 100%;
   	height: auto;
}

#section-content-career .row {
	margin: 30px 0;
}

#section-content-career .row > div > div {
	text-align: center;
	background-color: #f8f8f8;
	padding: 30px 60px;
	margin-bottom: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media (min-width: 768px) {
	#section-content-career .row > div:nth-child(2) > div {
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* #region Content > Content */

#section-content-content-1 {
	padding: 30px 0;
}

#section-content-content-1 h2 {
	font-size: 24px;
	font-weight: 400;
	text-align: left;
	color: #141414;
	margin: 0;
	padding: 0 0 20px 0;
}

#section-content-content-1 ul {
	list-style-type: none;
	padding: 0;
}

#section-content-content-1 ul li {
	padding-bottom: 10px;
}

#section-content-content-1 ul:not(.breadcrumb,.pagination) li:before {
	content: "■";
	font-size: 18px;
	color: #00509a;
	padding-right: 10px;
}

#section-content-content-1 img:not(.card-img-top) {
	max-width: 100%;
	height: auto;
}

#section-content-content-1 blockquote {
	font-style: italic;
	color: #0769bc;
	border-left: solid 2px #0769bc;
	padding: 15px 0 10px 30px;
}

#section-content-content-1 .page-list {
	margin-top: 50px;
}

#section-content-content-1 .panel-search {
    margin-bottom: 10px;
}

#section-content-content-1 .table thead th {
	border-top: none;
    border-bottom: none;
}

#section-content-content-2 {
	background-color: #f8f8f8;
	padding: 30px 0;
}

@media (min-width: 768px) {
	#section-content-content-2 {
		padding: 30px 0 50px 0;
	}
}

@media (min-width: 1024px) {
	#section-content-content-2 {
		padding: 100px 0;
	}
}

/* #region Grid row with image and text */

#section-content-content-1 .btgrid.infoblock .row > div {
	background-color: #f8f8f8;
    display: flex!important;
    align-items: center!important;
}

#section-content-content-1 .btgrid.infoblock .row > div.blue {
	color: #ffffff;
	background-color: #00509a;
}

#section-content-content-1 .btgrid.infoblock .row > div.blue .content h2 {
	color: #ffffff;
}

#section-content-content-1 .btgrid.infoblock .row .content {
	padding: 20px;
}

#section-content-content-1 .btgrid.infoblock .row .content h2 {
	font-size: 30px;
	text-align: left;
	color: #00509a;
}

#section-content-content-1 .btgrid.infoblock .row .content > p {
	margin-bottom: 0;	/* This is required to avoid spacing the blocks */
}

#section-content-content-1 .btgrid.infoblock .row .content img {
	overflow: hidden;
	width: 100%;
	height: auto;		/* https://stackoverflow.com/questions/37287153/how-to-get-images-in-bootstraps-card-to-be-the-same-height-width */
	object-fit: cover;
}

/* #endregion */

/* #region Historic page */

#section-content-content-1 .btgrid.timeline .row {
	margin-bottom: 15px;
	align-items: center!important;
}

#section-content-content-1 .btgrid.timeline .row > div:first-child {
	display: none;
}

#section-content-content-1 .btgrid.timeline .row > div:first-child .content {
	text-align: center;
}

#section-content-content-1 .btgrid.timeline .fa-calendar {
	font-size: 20px;
	color: #ffffff;
	background-color: #00509a;
	border-radius: 30px;
	padding: 12px;
}

#section-content-content-1 .btgrid.timeline .box {
	background-color: #f8f8f8;
	padding: 15px;
}

@media (min-width: 768px) {
	#section-content-content-1 .btgrid.infoblock .row .content {
		padding: 30px;
	}
}

@media (min-width: 1024px) {
	#section-content-content-1 .btgrid.infoblock .row .content {
		padding: 0 50px;
	}
}

/* #endregion */

/* #region Team page */

#section-content-content-1.team .team-item .card .card-img-top {
	max-height: 237px;
	object-fit: cover;
}

#section-content-content-1.team .team-item .card .card-body h3 {
	font-size: 15px;
	margin-bottom: 0;
}

/* Overlay */

#section-content-content-1.team .team-item .overlay {
	background-color: #00509aee;
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	width: 100%;
	height: 0;
	overflow: hidden;
	transition: .5s ease;
}

#section-content-content-1.team .team-item:hover .overlay {
	bottom: 0;
	height: 100%;
}

#section-content-content-1.team .team-item .overlay .text {
	font-size: 14px;
	color: white;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 75%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#section-content-content-1.team .team-item .overlay .text h3 {
	color: #ef4036;
}

/* #endregion */

/* #region Contact page */

#section-content-content-1 .btgrid.contact .row {
	margin-bottom: 15px;
}

#section-content-content-1 .btgrid.contact .row > div .content {
	text-align: center;
	background-color: #f8f8f8;
	padding: 15px;
	min-height: 200px;
}

#section-content-content-1 .btgrid.contact .fal {
	font-size: 30px;
	color: #ef4136;
}

/* #endregion */

@media (min-width: 768px) {
	#section-content-content-1 .panel-search {
		margin-bottom: 40px;
	}

	#section-content-content-1 .btgrid.infoblock .row .content {
		padding: 30px;
	}
}

@media (min-width: 1024px) {
	#section-content-content-1 {
		padding-bottom: 100px;
	}

	#section-content-content-1 .btgrid.infoblock .row > div {
		height: 470px;
	}

	#section-content-content-1 .btgrid.infoblock .row .content {
		padding: 0 50px;
	}
}

/* #endregion */

/* #region Content > News */

#section-content-news {
	background-color: #f8f8f8;
	padding: 30px 0 0 0;
}

#section-content-news > .container > .row {
	padding: 30px 0 50px 0;
}

@media (min-width: 768px) {
	#section-content-news {
		padding: 30px 0 50px 0;
	}
}

@media (min-width: 1024px) {
	#section-content-news {
		padding: 100px 0;
	}
}

/* #endregion */

/* #endregion */

/* #region Custom Checkbox & Radio */

.checkbox,
.radiobutton {
	margin-top: 0;
	margin-bottom: 0;
}

.checkbox input[type="checkbox"],
.radiobutton input[type="radio"] {
	display: none;
}

.checkbox label,
.radiobutton label {
	padding-left: 0;
}

.checkbox label:before,
.radiobutton label:before{
	font-family: "Font Awesome 5 Pro";
	font-size: 1.30rem;
	color: #00509a;
	line-height: 20px;
	text-align: center;
	vertical-align: bottom;
	display: inline-block;
	margin-right: 5px;
	content: "";
	width: 20px;
	height: 20px;
}

.checkbox input[type="checkbox"] + label:before {
	content: "\f0c8"; /* check-empty */
}

.checkbox input[type="checkbox"]:checked + label:before {
	content: "\f14a"; /* check */
}

.radiobutton input[type="radio"] + label:before {
	content: "\f111"; /* circle-blank */
}

.radiobutton input[type="radio"]:checked + label:before {
	content: "\f058"; /* circle */
}

/* #endregion */

/* #region Utility */

.loader {
	background-color: rgba(255, 255, 255, 0.7);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
	z-index: 1000000000;
}

.loader > div {
	color: #666666;
	position: absolute;
    top: 50%;
    left: 50%;
}

.uploader {
	background: rgb(0,0,0);
	background: rgba(0,0,0,0.7);
	-ms-filter: alpha(opacity=70);
	filter: alpha(opacity=70);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	z-index: 1000000000;
}

.upload-panel {
	background-color: #ffffff;
	position: absolute;
	width: 500px;
	height: 180px;
	top: 40%;
	left: 40%;
}

.upload-panel .title {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 10px;
	display: none;
}

.upload-panel .processing {
	font-weight: bold;
	text-align: center;
	margin-top: 50px;
	display: none;
}

.upload-panel .buttons {
	position: relative;
	top: 10px;
}

/* #endregion */