@charset "utf-8";

:root {
	--main-red: #da241e;
	--main-red-hover: #cc1f19;
}

#mobile-logo-section {
	position: relative;
	background-color: #fff;
	text-align: center;
	height: 85px;
	padding: 11px 0;
}	

	#mobile-logo-section>a {
		display: block;
		height: 100%;
		width: 200px;
		margin: auto;
	}

	#mobile-logo-section img {
		display: inline-block;
		max-height: 60px;
	}

#mobile-header {
	display: flex;
	position: fixed;
	top: 12px;
	left: 0px;
	padding: 0 12px;
	align-items: center;
	width: 100%;
	z-index: 999;
}

	.mobile-header-left {
		text-align: left;
	}

	.mobile-header-center {
		flex: 1;
		text-align: center;
	}

	.mobile-header-right {
		text-align: right;
	}

		.mobile-header-right .mmenu-btn-wrapper {
			z-index: 999;
		}

		.mobile-lang-button {
			background: none;
			border: none;
			font-size: 24px;
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			text-align: center;
			gap: 4px;
			width: 44px;
    		height: 44px;
    		padding: 0 10px;
			color: #444;
		}

		.mobile-lang-dropdown {
			position: absolute;
			top: 100%;
			right: 15px;
			background: white;
			border: 1px solid #ccc;
			border-radius: 6px;
			display: none;
			flex-direction: column;
			padding: 4px 0;
			width: 140px;
			box-shadow: 0 2px 8px rgba(0,0,0,0.15);
			z-index: 1001;
		}

		.mobile-lang-dropdown li {
			list-style: none;
			padding: 8px 12px;
			cursor: pointer;
		}

		.mobile-lang-dropdown li .iti__flag {
			display: inline-block;
			vertical-align: middle;
			margin-left: 15px;
		}

#topbar-section {
	position: sticky;
	display: flex;
	align-items: center;
	background-color: #fff;
	text-align: left;
	padding: 0px 40px;
	top: 0px;
	z-index: 101;
}

	.top-contacts {
		flex: 1;
		text-align: left;
	}
	
		.top-info {
			display: inline-block;
			font-size: 16px;
			padding: 10px 10px;
			color: #222;
			vertical-align: middle;
		}
		
		.top-info>i {
			display: inline-block;
			vertical-align: bottom;
			font-size: 20px;
			color: var(--main-red);
		}
	
	.top-language {
		flex: 1;
		text-align: right;
	}
	
		#language-selector {
			display: inline-block;
			cursor: pointer;
		}
	
		#language-selector:hover span {
			text-decoration: underline;
		}
	
		#language-selector i {
			display: inline-block;
			margin-bottom: 3px;
			vertical-align: middle;
		}
		
		#language-dropdown {
			display: none;
			position: absolute;
			text-align: left;
			right: 10px;
			margin-top: 5px;
			background: white;
			border: 1px solid #ccc;
			border-radius: 6px;
			box-shadow: 0 4px 8px rgba(0,0,0,0.1);
			min-width: 120px;
			z-index: 1000;
		}

		#language-dropdown .language-option {
			display: block;
			cursor: pointer;
			padding: 8px 12px;
			text-decoration: none;
			color: #333;
		}

		#language-dropdown .language-option:hover {
			background: #f0f0f0;
		}

		#language-dropdown .language-option .iti__flag {
			display: inline-block;
			margin-right: 15px;
		}

#menu-section {
	position: sticky;
	top: 40px;
	display: flex;
	align-items: center;
	background-color: #f7f7f7;
	padding: 5px 40px;
	z-index: 100;
}

	.logo-wrapper {
		flex: 0 0 100px;
	}
	
		.logo-wrapper>a {
			display: inline-block;
		}
	
		.logo-wrapper img {
			display: block;
			max-width: 80px;
		}
	
	.menubar-left-wrapper, .menubar-right-wrapper {
		flex: 1;
	}
	
	.menubar-left-wrapper {
		text-align: left;
	}
	
	.menubar-right-wrapper {
		text-align: right;
	}
					
		.menubar {
			text-align: inherit;
			padding: 10px 0;
		}
		
			.menu-button {
				display: inline-block;
				margin: 10px 20px;
				color: #0b0b0b;
				font: 400 16px 'Source Sans Pro', sans-serif;
			}
			
			.menu-button:hover {
				cursor: pointer;
				color: var(--main-red);
				text-decoration: underline;
			}
			
			.menu-button.cta {
				border: 1px solid #888;
				border-radius: 3px;
				padding: 10px 20px;
			}
			
			.menu-button.cta:hover {
				background-color: #eee;
				color: #0b0b0b;
				text-decoration: initial;
			}
			
			.menu-button-icon {
				display: inline-block;
				cursor: pointer;
				padding: 10px 20px;
				font-size: 22px;
			}
			
			.menu-button-icon i {
				vertical-align: middle;
			}
			
			.menu-button-icon:hover {
				color: #0b0b0b;
			}

#search-section {
	position: sticky;
	display: none;
	padding: 10px 0;
	background-color: #fff;
	top: 132px;
	z-index: 101;
}
	
	.search-left {
		flex: 1;
		text-align: left;
		align-self: center;
	}
	
		#search-input {
			width: 100%;
			padding: 15px;
			border: 0;
			border-bottom: 1px solid #ccc;
		}
		
		#search-input:focus {
			outline: none;
			box-shadow: none;
		}
		
	.search-right {
		flex: 0 0 200px;
		cursor: pointer;
		text-align: right;
		align-self: center;
	}
	
	.search-right:hover {
		text-decoration: underline;
	}
	
		.search-right i {
			vertical-align: middle;
		}

#banner-section-video {
	position: relative;
	width: 100%;
	height: 680px;
	background-color: #222;
	overflow: hidden;
	z-index: 1;
}
	
	#banner-loader {
		position:absolute;
		width: 100%;
		top: 50%;
		text-align: center;
		transform: translate(0%, -50%);
		opacity: 0.5;
		z-index: 1000;
	}
	
		#banner-loader>img {
			width: 150px;
		}

	#banner-section-video video {
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

@media screen and (max-width: 1024px) {
	#banner-section-video {
		height: 400px;
	}
	
	#banner-section-video video {
		min-width: initial;
		min-height: initial;
		height: initial;
		width: 800px;
	}
}

.highlighted-bar {
	position: relative;
	width: 100%;
	padding: 15px 0;
	color: #fff;
	text-align: center;
	z-index: 11;
}

	.highlighted-bar-red {
		background-color: var(--main-red);
	}
	
	.highlighted-bar-dark {
		background-color: #222;
	}

	.highlighted-content {
		display: inline-block;
		vertical-align: middle;
		font: 400 18px 'Source Sans Pro', sans-serif;
		margin-right: 20px;
	}

	.highlighted-cta {
		display: inline-block;
		vertical-align: middle;
		font: 400 18px 'Source Sans Pro', sans-serif;
		border: 1px solid #fff;
		background-color: rgba(255,255,255,0.05);
		cursor: pointer;
		border-radius: 5px;
		padding: 10px 20px;
	}

	.highlighted-cta:hover {
		background-color: rgba(255,255,255,0.1);
	}

@media screen and (max-width: 1024px) {
	.highlighted-bar {
		padding: 12px 10px;
	}
	
	.highlighted-content {
		display: block;
		font: 400 14px 'Source Sans Pro', sans-serif;
		margin-right: 0;
		margin-bottom: 10px;
	}
	
	.highlighted-cta {
		display: block;
		font: 400 14px 'Source Sans Pro', sans-serif;
		margin: 0 auto;
		max-width: 200px;
	}
}

#banner-section {
	position: relative;
	width: 100%;
	height: 680px;
	background-color: #fff;
	text-align: center;
	z-index: 1;
}
	
	#banner-section:hover .banner-pager{opacity:1}
	.banner-pager{position:absolute;opacity:0;cursor:pointer;top:50%;width:105px;height:105px;font-size:16px;text-align:left;color:#fff;border-style:solid;z-index:10;-webkit-transition:all .3s;transition:all .3s;}

	.prev-button{border-width:52.5px 0 52.5px 54px;border-color:transparent transparent transparent rgba(0,0,0,0.8);left:0px}
		.prev-button>i{margin-left:-50px;font-size:24px;margin-top:-15px;display:inline-block;vertical-align:middle;}
	.next-button{border-width:52.5px 54px 52.5px 0;border-color:transparent rgba(0,0,0,0.8) transparent transparent;right:0px}
		.next-button>i{margin-left:74px;font-size:24px;margin-top:-15px;display:inline-block;vertical-align:middle;}
		
	.prev-button:hover{color:#fff;border-color:transparent transparent transparent rgb(218, 36, 30);}
	.next-button:hover{color:#fff;border-color:transparent rgb(218, 36, 30) transparent transparent;}
	
	.banner-content {
		position: absolute;
		font: 400 18px 'Source Sans Pro', sans-serif;
		color: #fff;
		bottom: 60px;
		left: 50%;
		top: 50%;
		width: 60%;
		max-width: 700px;
		transform: translate(-50%, -50%);
		padding: 20px 0;
		text-align: center;
		z-index: 10;
	}
				
		.banner-text {
			position: relative;
			width: 100%;
		}	
		
			.banner-text-inner {
				display: none;
			}
			
			.banner-text .text {
				flex: 0 0 700px;
				text-align: center;
				margin-bottom: 40px;
			}
			
			.banner-text .text h1 {
				font: 800 46px 'Source Sans Pro', sans-serif;
				color: #fff;
				margin-bottom: 20px;
			}
			
			.banner-text .empty:nth-of-type(2) {
				flex: 1;
			}
			
			.banner-text .generic-button {
				border-radius: 25px;
			}
	
	.banner-content-overlay {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-size: auto;
		background-image: url('../images/default_pattern_dark.png');
		z-index: 9;
	}
	
	#main-slider {
		height: 100%;
		width: 100%;
		transition: all 1s;
		-webkit-transition: all 1s;
		opacity: 0;
	}
	
		#main-slider.loaded-banner {
			opacity: 1;
		}
		
		#main-slider ul, #main-slider li, #main-slider {
			height: 100%;
		} 
		
		#main-slider .slides  {
			height: 100%;
			margin: 0;
			padding: 0;
		}
		
		#main-slider .slides a, 
		#main-slider .slide {
			width: 100%;
			height: 100%;
			display: block;
			background-position: 50% 50%;
			background-repeat: no-repeat;
			background-size: cover;
		}
		
@media screen and (max-width: 1024px) {
	#banner-section {
		min-height: 480px;
		max-height: 480px;
	}
	
	.banner-content {
		top: 50%;
        bottom: initial;
        transform: translate(-50%, -50%);
        font: 600 17px 'Source Sans Pro', sans-serif;
        padding: 20px 0;
	}
	
	.banner-text .empty:nth-of-type(1) {
		flex: 0 0 30px;
	}
	.banner-text .text {
		flex: 1;
	}
	
	.banner-text .text h1 {
		font: 800 40px 'Source Sans Pro', sans-serif;
		line-height: 40px;
		margin-bottom: 20px;
		text-shadow: 1px 1px 1px #fff;
	}
	
	.banner-text .text {
		font-weight: 400;
	}
}

#banner-sub-section {
	position: relative;
	width: 100%;
	height: 300px;
	background-color: #fff;
	background-position: 0% 80%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('../images/banner_sm.webp');
	text-align: center;
	z-index: 1;
}

	.banner-sub-label {
		position: absolute;
		left: 50%;
		top: 50%;
		font: 900 30px 'Source Sans Pro', sans-serif;
		transform: translate(-50%, -50%);
		padding: 5px 20px;
		border-bottom: 6px solid var(--main-red);
		text-align: center;
		color: #fff;
	}

#actual-section {
	position: relative;
	padding: 60px 0 20px 0;
	z-index: 1;
}

	.actual-heading {
		position: relative;
		width: 100%;
		height: 10px;
	}
	
		.actual-heading .line {
			height: 10px;
			background-color: var(--main-red);
		}
		
		.actual-heading .title {
			position: absolute;
			top: 10px;
			left: 0px;
			font: 900 20px 'Source Sans Pro', sans-serif;
			color: #fff;
			padding: 10px 40px;
			background-color: rgba(218, 36, 30, 0.8);
		}

	.actual-preview {
		display: flex;
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 1px solid #ccc;
		gap: 20px;
	}
	
	.actual-preview:last-of-type {
		border: 0;
	}
	
	.actual-preview .thumbnail {
		flex: 0 0 350px;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
	}
	
	.actual-preview .content {
		flex: 1;
		padding: 15px 0;
	}
	
		.actual-preview .content .created {
			font-size: 16px;
			font-weight: 400;
			color: #9a9a9a;
		}
		
			.actual-preview .content .created i {
				display: inline-block;
				vertical-align: middle;
			}
		
		.actual-preview .content .summary {
			font-size: 16px;
			padding: 20px 0;
			color: #222;
		}
		
		.actual-preview .content .bottom {
			text-align: left;
		}

@media screen and (max-width: 1024px) {
	.actual-preview {
		flex-direction: column;
	}
}

#about-landing-section {
	position: relative;
	padding-top: 60px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: auto;
	background-image: url('../images/bg_pattern_300x1000.png');
	z-index: 1;
}

	#about-landing-section .left {
		flex: 2;
		padding-bottom: 30px;
	}

	.about-landing-bottom {
		display: flex;
		align-items: center;
	}
	
		.about-landing-more {
			flex: 1;
		}
		
		.about-landing-signature {
			flex: 1;
			text-align: right;
		}
		
			.signature-name {
				font: 400 24px 'Source Sans Pro', sans-serif;
				color: #444;
			}
			
			.signature-sub {
				font: 400 14px 'Source Sans Pro', sans-serif;
				font-style: italic;
				color: #444;
			}
			
	#about-landing-section .right {
		position: relative;
		flex: 1;
		text-align: right;
		align-self: end;
	}
	
		#about-landing-section .right>img {
			position: relative;
			border: 0;
			bottom: -40px;
			left: 0px;
			z-index: 2;
		}

@media screen and (max-width: 1024px) {
	#about-landing-section {
		padding-top: 20px;
	}
	
	#about-landing-section.sub {
		padding-top: 60px;
	}
	
	#about-landing-section .content-wrap {
		flex-direction: column;
	}
	
	.about-landing-bottom {
		padding: 60px 0;
	}
}

#services-landing-section {
	position: relative;
	padding: 60px 0;
	background-color: #f4f4f4;
}

	.service-landing-left-title {text-align: left}
	.service-landing-right-title {text-align: right}

	.service-landing-columns {
		display: flex;
		margin: 20px 0;
		gap: 30px;
		align-items: center;
	}
	
	.service-landing-columns .image {
		flex: 3;
		height: 400px;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.service-landing-columns .image.residental {
		background-image: url('../images/solar-panels-residential.jpg');
	}

	.service-landing-columns .image.utility {
		background-image: url('../images/banner.jpg');
	}
	
	.service-landing-columns .content {
		flex: 2;
		text-align: left;
		padding: 60px;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: auto;
		background-image: url('../images/bg_pattern.png');
	}
	
		.service-landing-more {
			text-align: left;
			margin-top: 40px;
		}

@media screen and (max-width: 1024px) {
	.service-landing-columns {
		flex-direction: column;
	}
	
	.service-landing-columns .image {
		height: 400px;
		width: 100%;
		flex: initial;
	}
	
	.service-landing-columns .content {
		padding: 10px;
	}
	
	.service-landing-right-title {
		text-align: left;
        margin-top: 60px;
	}
}

#references-section {
	position: relative;
	padding: 60px 0;
}		
	
	.references-top {
		text-align: center;
	}
	
		.references-top h1 {
			margin-bottom: 20px;
		}
	
	#references-gallery {
		max-height: 350px;
		overflow: hidden;
		text-align: center;
	}
		
	#references-gallery.unloaded {
		max-height: initial;
	}
	
		.reference-box {
			display: inline-block;
			margin: 10px;
			cursor: pointer;
		}
		
		.reference-box .image {
			background-image: url('../images/default_pattern.png');
			padding: 10px;
			height: 310px;
		}
	
		.reference-box img {
			width: 100%;
			max-width: 300px;
		}
		
		.reference-box .hollow-box {
			position: relative;
			margin-top: -40px;
			text-align: center;
			padding: 0px 20px;
			max-width: 320px;
			z-index: 2;
		}
		
			.reference-box .hollow-box .box-wrapper {
				display: inline-block;
				padding: 5px;
				border: 1px solid var(--main-red);
			}	
			
			.reference-box .hollow-box .box {
				display: inline-table;
				height: 50px;
				color: #fff;
				padding: 6px 10px;
				background-color: rgba(218, 36, 30, 0.8);
			}
			
				.reference-box .hollow-box .box>p {
					display: table-cell;
					vertical-align: middle;
					font-size: 14px;
				}
	
	.references-pager {
		display: flex;
		gap: 60px;
		align-items: center;
		margin-top: 40px;
	}
		
		.references-pager .line {
			display: flex;
			flex: 1;
			height: 2px;
			background-color: #ccc;
		}
		
			.references-pager .line .progress {
				flex: 1;
				background-color: #222;
			}
			
			.references-pager .line .placeholder {
				flex: 1;
			}
		
		.references-nav {
			display: inline-block;
			cursor: pointer;
			width: 40px;
			height: 40px;
			border-radius: 100%;
			border: 1px solid #ddd;
			text-align: center;
			padding: 10px 0px;
		}
		
		.references-nav:hover {
			background-color: #eee;
		}
		
		.references-nav i {
			font-size: 18px;
		}

@media screen and (max-width: 1024px) {
	
}

#partners-section {
	position: relative;
	padding: 60px 0;
	text-align: center;
	color: #fff;
}

	.partners-list {
		padding: 20px;
		font-size: 0;
		text-align: center;
	}

		.partners-row {
			display: flex;
			justify-content: space-evenly;
			align-items: center;
			padding: 10px 0;
		}
	
	.partner {
		flex: 0 0 calc(25% - 30px);
		text-align: center;
	}
	
	.partner>img {
		display: block;
		max-width: 200px;
		max-height: 80px;
		margin: 0 auto;
		object-fit: contain;
		cursor: pointer;
		filter: grayscale(100%);
		opacity: 0.5; 
		transition: all 0.2s ease;
	}		.partner>img:hover {
			filter: grayscale(0%);
			opacity: 1;
		}

@media screen and (max-width: 1024px) {
	.partners-list {
		padding: 0;
	}
	
	.partner {
		width: 50%;
		text-align: center;
	}
	
	.partner>img {
		display: inline-block;
		width: 100%;
	}
}

#contacts-section {
	padding: 60px 0;
	background-color: #fff;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: auto;
	background-image: url('../images/bg_pattern_300x1000.png');
}

	#contacts-section>.content-wrap {
		display: flex;
		align-items: center;
		gap: 50px;
	}
	
	.contacts-left {
		flex: 1;
	}
	
		.contact-infos {
			margin: 20px 0;
		}
		
		.contact-infos-line {
			display: flex;
			align-items: center;
		}
		
		.contact-infos-line {
			padding: 6px 0;
			border-bottom: 1px dotted #ccc;
		}
		
		.contact-infos-line:last-of-type {
			border: 0;
		}
		
			.contact-infos-left {
				flex: 1;
				text-align: left;
			}
			
				.contact-infos-left i {
					color: #818181;
					font-size: 20px;
					vertical-align: middle;
				}
			
			.contact-infos-right {
				display: block;
				flex: 1;
				text-align: right;
			}
			
			a.contact-infos-right {
				text-decoration: underline;
			}
			
		.social-icons {
			margin-top: 40px;
			text-align: center;
		}
		
		.social-icons a {
			display: inline-block;
			vertical-align: middle;
			width: 60px;
			height: 60px;
			text-align: center;
		}
		
			.social-icons i {
				font-size: 40px;
				transition: all 0.2s;
			}
			
			.social-icons i:hover {
				font-size: 43px;
				opacity: 0.7;
			}
	
	.contacts-right {
		text-align: center;
		flex: 1;
	}
	
		.contacts-logo {
			display: inline-block;
			max-width: 230px;
		}
		
			.contacts-logo img {
				display: block;
				max-width: 100%;
			}
			
			.contacts-logo-subtitle {
				letter-spacing: 1px;
			}
			
			.contacts-logo-subtitle a {
				text-decoration: underline;
				color: var(--main-red);
			}
			
			.contacts-logo-subtitle a:hover {
				color: var(--main-red-hover);
			}
			
			.contacts-logo-bottom {
				display: flex;
				gap: 38px;
				justify-content: center;
   				align-items: center;
				padding-top: 30px;
			}
			
				.contacts-logo-bottom img {
					display: block;
					width: 100%;
					cursor: pointer;
					filter: grayscale(100%);
					opacity: 0.5; 
					transition: all 0.2s ease;
				}

				.contacts-logo-bottom img:hover {
					filter: grayscale(0%);
					opacity: 1;
				}

				.contacts-logo-bottom .lanaxis {
					width: 100px;
				}

				.contacts-logo-bottom .pekabau {
					width: 100px;
				}
		
@media screen and (max-width: 1400px) {
	#contacts-section>.content-wrap {
		display: block;
		overflow: hidden;
	}
	
	.contacts-left {
		flex: 2;
	}
	
	.contacts-right {
		flex: 1;
	}
}

@media screen and (max-width: 1024px) {	
	#contacts-section {
		padding: 20px 0;
	}
}
	
#footer-section {
	position: relative;
	background-color: #252525;
	color: #fff;
}
	
	.footer-menu {
		display: inline-block;
		cursor: pointer;
		padding: 15px 20px;
		font: 400 16px 'Source Sans Pro', sans-serif;
	}
	
	.footer-menu:hover {
		text-decoration: underline;
	}
	
	#footer-section .right {
		text-align: right;
	}

@media screen and (max-width: 1024px) {	
	#footer-section .content-wrap {
		display: block;
		padding: 15px 0;
		text-align: center;
	}
	
	#footer-section .content-wrap .left {
		display: none;
	}
	
	#footer-section .content-wrap .right {
		text-align: center;
	}
}
/* BASICS --------------------*/
@media screen and (min-width: 1025px) {.only-mobile{display:none !important}}
@media screen and (max-width: 1024px) {.only-pc{display:none !important}}

input.normal-text, select.normal-text {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	padding: 8px;
	border: 1px solid #cccccc;
	width: 100%;
	height: 42px;
	font: 400 16px 'Source Sans Pro', sans-serif;
	background-color: #ffffff;
	color: #444;
}

textarea.normal-text {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	padding: 5px;
	border: 1px solid #cccccc;
	width: 100%;
	font: 300 16px 'Source Sans Pro', sans-serif;
	background-color: #ffffff;
	resize: none;
	height: 80px;
	color: #444;
}

.generic-button {
	display: inline-block;
	cursor: pointer;
	background-color: var(--main-red);
	color: #fff;
	border-radius: 3px;
	text-align: center;
	padding: 10px 30px;
	letter-spacing: 1px;
	font: 400 16px 'Source Sans Pro', sans-serif;
	letter-spacing: 0;
}

.generic-button:hover {
	background-color: var(--main-red-hover);
}

.content-wrap {
	position: relative;
	margin: auto;
	width: 90%;
	max-width: 1400px;
}

@media screen and (max-width: 1280px) {.content-wrap{width:90%;}}

.content-wrap-wide {
	position: relative;
	margin: auto;
	width: 90%;
	max-width: 1500px;
}

@media screen and (max-width: 1280px) {.content-wrap-wide{width:96%;}}

.flex-section-double {
	display: flex;
}

.flex-section-double .left, .flex-section-double .right {
	flex: 1;
	align-self: center;
}

.red-bold {
	font: 600 16px 'Source Sans Pro', sans-serif;
	color: var(--main-red);
}

h1 { 
	font: 900 40px 'Source Sans Pro', sans-serif;
	color: var(--main-red);
	padding: 0;
	margin: 0;
}

h2 { 
	font: 800 28px 'Source Sans Pro', sans-serif;
	color: var(--main-red);
	padding: 0;
	margin: 0;
}

h3 { 
	font: 400 18px 'Source Sans Pro', sans-serif;
	color: #303030;
	padding: 0;
	margin: 0;
}

sup{font-size: 10px;}
*{box-sizing: border-box;}
a{text-decoration:none;color:inherit;}
body{font:400 18px 'Source Sans Pro', sans-serif;color:#666;background-color:#fff;margin:0;padding:0;height:auto;}
img{border:0;}