/*mobile elements*/

@media screen and (min-width: 960px){
	.mobile-menu-open{
	display:none;
	}
	
.responsiveMenuContent{
	display:none;
}

.main-content{
	padding-top:100px;
}

.welcome-content{
	margin-bottom:50px;
	width:100%;
	}
}

@media screen and (min-width: 601px) and (max-width: 1000px) {
	.welcome-content{
	width:100%;
	}
	
	.main-content{
	padding-top:110px;
	}
}

@media screen and (max-width: 600px) {
	.main-content {
	    padding-top:20px;
		flex-direction: column;
	}
	ul#navigation {
		display: none;
	}
	
	.menuMobile{
	display:block;
	display:flex;
	justify-content:right;
	margin-right:10px;
	align-items:center;
		}

	.welcome-content {
		width: 100%;
		height:100%;
		margin-top: 50px;
		margin-bottom:50px;
		padding: 5px;
		padding-left: 10px;
		display:flex;
		justify-content:center;
		flex-direction:column;
	}
}

/*end mobile elements*/

/*responsive menu elements*/
.menu, .menuMobile {
	width: inherit;
	margin: 0;
}

.menu-full-screen{
	margin-left: 100px;
}

.menuMobile{
	display:none;	 
}

.mobile-menu-open{
	display:flex;
    flex-direction: row-reverse;
	position:absolute;
	height:100vh;
	width:100vw;
	z-index:50;
	background-color: rgba(0, 0, 0, 0.0);
	animation: menuMobileBackgroundAnimation 1s forwards ease-in-out;
}

.responsiveMenuContent{
	display:none;
	position:absolute;
	height:100vh;
	width:100vw;
}

.menuUl {
	background: rgba(255, 255, 255, 0.97);
	min-height: 100vh;
	height: auto;
	z-index: 100;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 5rem 2rem 2rem;
	overflow-y: auto;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	animation: menuMobileContentAnimation 0.45s forwards ease-in-out;
}

.menuWrapperTop{
	display:flex;
	align-items:left;
	width:100%;
	margin-left:10px;
}


#navigationMobile {
	list-style: none;
	padding: 0;
	margin: 0;

	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

#navigationMobile li a {
	display: block;
	padding: 1rem 0;
	font-family: normalFont;
	font-size: 1.5rem;
	font-weight: 500;
	color: #062a5c;
	text-decoration: none;
	border-bottom: 1px solid #edf1f5;
	transition: all 0.2s ease;
}

#navigationMobile li a:hover {
	color: #f97316;
	padding-left: 0.4rem;
}

/*end reposnive menu elements*/

/*desktop menu elements*/


@media screen and (max-width: 600px) {
    .menu-full-screen {
        display: none;
    }

    .menuMobile {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-right: 10px;
    }
}

@media screen and (max-width: 960px) {
    .menu-full-screen {
        display: none;
    }

    .menuMobile {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-right: 10px;
    }
}

ul#footerNavigation{
	display:flex;
	flex-direction:column;
	align-items:center;
	height:100%;
	width:100%;
	margin: 0;
	padding: 0;
}

ul#footerNavigation li {
	display:flex;
	font-size: 16px;
	font-family: normalFont;
	text-decoration: none;
	padding:5px;
}

ul#navigation {
	display:flex;
	flex-direction:row;
	align-items:center;
	height:100%;
}

ul#navigation li {
	display:flex;
	align-items:center;
	line-height: 70px;
	justify-content:center;
	font-size: 16px;
	color: white;
	font-family: normalFont;
	margin: 10px;
	text-decoration: none;
	min-width:100px;
}

ul#navigation li a, ul#footerNavigation li a{
	text-decoration: none;
	font-family: normalFont;
}

ul#navigation li:hover {
	cursor: pointer;
}

.li_active {
	border-bottom: 4px #23405D solid;
}

/*end desktop menu elements*/

/*Others*/


@media (max-width: 768px) {
    .main-logo {
        width: 210px;
    }
}

/*end others*/

/*services item*/

@media (max-width: 991px) {
	.servicesOverview {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.serviceText h3 {
		font-size: 1.7rem;
	}
}

@media (max-width: 576px) {
	.serviceItem {
		align-items: flex-start;
	}

	.serviceIcon {
		width: 76px;
		height: 76px;
		min-width: 76px;
	}

	.serviceIcon i {
		font-size: 2.1rem;
	}

	.serviceText h3 {
		font-size: 1.45rem;
	}
}

/*end services*/

/*dgsa services mobile*/

@media (max-width: 768px) {

	.dgsaServiceSection,
	.dgsaServiceSection.reverse {
		width: calc(100% - 2rem);
		grid-template-columns: 75px 1fr;
		grid-template-areas:
			"icon intro"
			"content content"
			"image image";
	}

	.dgsaServiceIntro,
	.dgsaServiceSection.reverse .dgsaServiceIntro {
		border-right: none;
		border-left: none;
	}

	.dgsaServiceContent {
		padding: 1rem 1.5rem 2rem;
	}

	.dgsaServiceImage {
		height: 230px;
		min-height: 230px;
	}

	.dgsaServiceIntro h2 {
		font-size: 1.5rem;
	}

}

/*end dgsa services*/

/*dgsa services tablet*/

@media (min-width: 769px) and (max-width: 1200px) {
    .dgsaServiceSection {
        width: calc(100% - 3rem);
        grid-template-columns: 80px 220px 1fr;
        grid-template-areas:
            "icon intro content"
            "image image image";
    }

    .dgsaServiceSection.reverse {
        grid-template-columns: 1fr 80px 220px;
        grid-template-areas:
            "content icon intro"
            "image image image";
    }

    .dgsaServiceImage {
        height: 280px;
        min-height: 280px;
    }
}

/*end dgsa services tablet*/

/*contact form mobile*/

@media (max-width: 768px) {

	.contactFormWrapper {
		min-height: auto;
		padding: 1.5rem 1rem;
	}

	.contactFormCard {
		max-width: 100%;
		padding: 1.25rem;
	}

	.formRow {
		grid-template-columns: 1fr;
	}

	.contactFormHeader h2 {
		font-size: 1.6rem;
	}
}

/*end contact form mobile*/

/*typography mobile*/


@media screen and (max-width: 600px) {
	h1 {
		font-size: 28px;
		line-height: 1.15;
	}

	h2 {
		font-size: 23px;
		line-height: 1.2;
	}

	h3 {
		font-size: 18px;
		line-height: 1.3;
	}

	p,
	.description {
		font-size: 15px;
		line-height: 1.6;
	}
}

/* Małe telefony */
@media screen and (max-width: 380px) {
	h1 {
		font-size: 25px;
	}

	h2 {
		font-size: 21px;
	}

	h3 {
		font-size: 17px;
	}

	p,
	.description {
		font-size: 14px;
	}
}

/* Tablety */
@media screen and (min-width: 601px) and (max-width: 1000px) {
	h1 {
		font-size: 38px;
	}

	h2 {
		font-size: 29px;
	}

	h3 {
		font-size: 22px;
	}
}

/*end typography mobile*/