@font-face {
	font-family: ubuntusans;
	src: url("./UbuntuSans-VariableFont_wdth,wght.ttf") format("truetype");
}

body {
	font-family: ubuntusans, sans-serif, Arial;
	box-sizing: border-box;
	background-color: #000000;
	margin: 0px;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0px;
}

@media (min-width: 1920px) {
	.container {
		box-sizing: border-box;
		width: 1920px;
		background-color: #0080C0;
		display: flex;
		flex-direction: column;
		gap: 1px;
		margin: 0px;
	}

	.topbar {
		display: flex;
		flex-direction: row-reverse;
		align-items: start;
		margin: 10px 20px;
	}

	#loginButton {
		color: white;
		font-size: 1.5em;
	}

	.content {
		display: flex;
		flex-direction: column;
	}

	.navbar {
		display: grid;
		grid-template-columns: 30% 40% 30%;
		margin: 0px 20px;
		color: white;
		font-size: 1.8em;
		padding: 10px;
	}

	#navbarLeft {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 20px;
	}

	#navbarName {
		display: flex;
		flex-direction: row;
		gap: 6px;
		font-size: 1.5em;
	}

	#navbarPeregrino {
		font-weight: 800;
	}

	#navbarLogo img {
		height: 69px;
	}

	#navbarCenter {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
	}

	.panel {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 20px 0px;
		padding: 40px;
		gap: 20px;
	}

	.panelTitle {
		color: white;
		font-size: 2.5em;
	}

	#deals {
		background-image: url("./factory.jpg");
	}

	#company {
		background-image: url("./landscape.jpg");
	}

	.panelCards {
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: space-around;
	}

	.panelCard {
		box-sizing: border-box;
		width: 480px;
		border: 4px solid white;
		border-radius: 10px;
		padding: 40px 20px;
		color: white;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
		gap: 20px;
	}

	ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
		font-size: 1.5em;
	}

	li {
		margin-bottom: 10px;
		text-align: center;
	}

	.panelCardTitle {
		font-size: 2em;
		font-weight: 600;
	}

	.panelImage img {
		width: 300px;
		border-radius: 10px;
	}

	.panelCardWide {
		width: 100%;
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
		padding: 20px;
		/*gap: 40px;*/
	}

	.panelCardWideImage img {
		width: 800px;
		border-radius: 10px;
	}

	#serviceListImage img {
		width: 400px;
		border-radius: 10px;
	}

	#companyDescription {
		background-color: white;
		color: black;
		border-radius: 10px;
		font-size: 1.5em;
		padding: 20px;
		width: 800px;
		text-align: center;
	}

	#serviceList {
		color: white;
		font-size: 1.5em;
	}

	#contactDetails {
		color: white;
		font-size: 1.5em;
		display: grid;
		grid-template-columns: 35% 65%;
		column-gap: 10px;
	}

	.contacts {
		text-align: right;
	}

	a,
	a:link,
	a:visited,
	a:hover,
	a:active {
		color: white;
		text-decoration: none;
	}
}

@media (min-width: 320px) and (max-width: 450px) {
	.container {
		box-sizing: border-box;
		width: 380px;
		background-color: #0080C0;
		display: flex;
		flex-direction: column;
		gap: 1px;
		margin: 0px;
	}

	.topbar {
		display: flex;
		flex-direction: row-reverse;
		align-items: start;
		margin: 10px 20px;
	}

	#loginButton {
		color: white;
		font-size: 1.5em;
	}

	.content {
		display: flex;
		flex-direction: column;
	}

	.navbar {
		display: flex;
		flex-direction: column;
		margin: 0px 20px;
		color: white;
		font-size: 1.2em;
		padding: 10px;
		gap: 10px;
	}

	#navbarLeft {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-evenly;
		padding: 0px 20px;
	}

	#navbarName {
		display: flex;
		flex-direction: row;
		gap: 6px;
		font-size: 1.3em;
	}

	#navbarPeregrino {
		font-weight: 800;
	}

	#navbarLogo img {
		height: 42px;
	}

	#navbarCenter {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
	}

	.panel {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0px;
		padding: 20px 0px;
		gap: 20px;
	}

	.panelTitle {
		color: white;
		font-size: 2.5em;
		text-align: center;
	}

	#deals {
		background-image: url("./factory.jpg");
	}

	#company {
		background-image: url("./landscape.jpg");
	}

	.panelCards {
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: space-around;
		overflow-x: scroll;
		overflow-y: hidden;
	}

	.panelCard {
		box-sizing: border-box;
		width: 360px;
		border: 4px solid white;
		border-radius: 10px;
		padding: 10px 5px;
		color: white;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
		gap: 10px;
	}

	ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
		font-size: 1.5em;
	}

	li {
		margin-bottom: 10px;
		text-align: center;
	}

	.panelCardTitle {
		font-size: 2em;
		font-weight: 600;
		text-align: center;
	}

	.panelImage img {
		width: 300px;
		border-radius: 10px;
	}

	.panelCardWide {
		width: 100%;
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
		padding: 20px;
		/*gap: 40px;*/
	}

	.panelCardWideImage img {
		display: none;
		width: 800px;
		border-radius: 10px;
	}

	#serviceListImage img {
		width: 400px;
		border-radius: 10px;
	}

	#companyDescription {
		background-color: white;
		color: black;
		border-radius: 10px;
		font-size: 1.5em;
		padding: 20px;
		width: 800px;
		text-align: center;
	}

	#serviceList {
		color: white;
		font-size: 1em;
	}

	#contactDetails {
		color: white;
		font-size: 1em;
		display: grid;
		grid-template-columns: 35% 65%;
		column-gap: 10px;
	}

	.contacts {
		text-align: right;
	}

	a,
	a:link,
	a:visited,
	a:hover,
	a:active {
		color: white;
		text-decoration: none;
	}
}

@media (min-width: 451px) and (max-width: 768px) {
	.container {
		box-sizing: border-box;
		width: 760px;
		background-color: #0080C0;
		display: flex;
		flex-direction: column;
		gap: 1px;
		margin: 0px;
	}

	.topbar {
		display: flex;
		flex-direction: row-reverse;
		align-items: start;
		margin: 10px 20px;
	}

	#loginButton {
		color: white;
		font-size: 1.5em;
	}

	.content {
		display: flex;
		flex-direction: column;
	}

	.navbar {
		display: flex;
		flex-direction: column;
		margin: 0px 20px;
		color: white;
		font-size: 1.4em;
		padding: 10px;
		gap: 10px;
	}

	#navbarLeft {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding: 0px 20px;
		gap: 20px;
	}

	#navbarName {
		display: flex;
		flex-direction: row;
		gap: 6px;
		font-size: 1.5em;
	}

	#navbarPeregrino {
		font-weight: 800;
	}

	#navbarLogo img {
		height: 42px;
	}

	#navbarCenter {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
	}

	.panel {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0px;
		padding: 20px 0px;
		gap: 20px;
	}

	.panelTitle {
		color: white;
		font-size: 2.5em;
		text-align: center;
	}

	#deals {
		background-image: url("./factory.jpg");
	}

	#company {
		background-image: url("./landscape.jpg");
	}

	.panelCards {
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: space-around;
		overflow-x: scroll;
		overflow-y: hidden;
	}

	.panelCard {
		box-sizing: border-box;
		width: 480px;
		border: 4px solid white;
		border-radius: 10px;
		padding: 10px 5px;
		color: white;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
		gap: 10px;
	}

	ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
		font-size: 1.5em;
	}

	li {
		margin-bottom: 10px;
		text-align: center;
	}

	.panelCardTitle {
		font-size: 2em;
		font-weight: 600;
		text-align: center;
	}

	.panelImage img {
		width: 300px;
		border-radius: 10px;
	}

	.panelCardWide {
		width: 100%;
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
		padding: 20px;
		/*gap: 40px;*/
	}

	.panelCardWideImage img {
		display: none;
		width: 800px;
		border-radius: 10px;
	}

	#serviceListImage img {
		width: 400px;
		border-radius: 10px;
	}

	#companyDescription {
		background-color: white;
		color: black;
		border-radius: 10px;
		font-size: 1.5em;
		padding: 20px;
		width: 800px;
		text-align: center;
	}

	#serviceList {
		color: white;
		font-size: 1em;
	}

	#contactDetails {
		color: white;
		font-size: 1em;
		display: grid;
		grid-template-columns: 35% 65%;
		column-gap: 10px;
	}

	.contacts {
		text-align: right;
	}

	a,
	a:link,
	a:visited,
	a:hover,
	a:active {
		color: white;
		text-decoration: none;
	}
}

@media (min-width: 769px) and (max-width: 1919px) {
	.container {
		box-sizing: border-box;
		width: 1024px;
		background-color: #0080C0;
		display: flex;
		flex-direction: column;
		gap: 1px;
		margin: 0px;
	}

	.topbar {
		display: flex;
		flex-direction: row-reverse;
		align-items: start;
		margin: 10px 20px;
	}

	#loginButton {
		color: white;
		font-size: 1.5em;
	}

	.content {
		display: flex;
		flex-direction: column;
	}

	.navbar {
		display: flex;
		flex-direction: column;
		margin: 0px 20px;
		color: white;
		font-size: 1.4em;
		padding: 10px;
		gap: 10px;
	}

	#navbarLeft {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding: 0px 20px;
		gap: 20px;
	}

	#navbarName {
		display: flex;
		flex-direction: row;
		gap: 6px;
		font-size: 1.5em;
	}

	#navbarPeregrino {
		font-weight: 800;
	}

	#navbarLogo img {
		height: 42px;
	}

	#navbarCenter {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
	}

	.panel {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0px;
		padding: 20px 0px;
		gap: 20px;
	}

	.panelTitle {
		color: white;
		font-size: 2.5em;
		text-align: center;
	}

	#deals {
		background-image: url("./factory.jpg");
	}

	#company {
		background-image: url("./landscape.jpg");
	}

	.panelCards {
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: space-around;
		overflow-x: scroll;
		overflow-y: hidden;
	}

	.panelCard {
		box-sizing: border-box;
		width: 480px;
		border: 4px solid white;
		border-radius: 10px;
		padding: 10px 5px;
		color: white;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
		gap: 10px;
	}

	ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
		font-size: 1.5em;
	}

	li {
		margin-bottom: 10px;
		text-align: center;
	}

	.panelCardTitle {
		font-size: 2em;
		font-weight: 600;
		text-align: center;
	}

	.panelImage img {
		width: 300px;
		border-radius: 10px;
	}

	.panelCardWide {
		width: 100%;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
		padding: 20px;
		gap: 20px;
	}

	.panelCardWideImage img {
		width: 600px;
		border-radius: 10px;
	}

	#serviceListImage img {
		width: 400px;
		border-radius: 10px;
	}

	#companyDescription {
		background-color: white;
		color: black;
		border-radius: 10px;
		font-size: 1.5em;
		padding: 20px;
		width: 800px;
		text-align: center;
	}

	#serviceList {
		color: white;
		font-size: 1em;
	}

	#contactDetails {
		color: white;
		font-size: 1.5em;
		display: grid;
		grid-template-columns: 35% 65%;
		column-gap: 10px;
	}

	.contacts {
		text-align: right;
	}

	a,
	a:link,
	a:visited,
	a:hover,
	a:active {
		color: white;
		text-decoration: none;
	}
}
