/* VVS Enheten i Stockholm AB */

@import url('https://unpkg.com/aos@2.3.1/dist/aos.css');
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro|Ubuntu:300,700&display=swap');

:root {
    --primary-color: #e32726;
    --secondary-color: #51abd4;
}

/* ==========================================================================
    Generellt
========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	background-position: center center;
	overflow-x: hidden !important;
	font-family: 'Source Sans Pro', sans-serif;
}

body.isMobile .body-background {
	background-position: center center;
	background-size: cover;
}

.display-none {
	display: none;
}

.EditMode .display-none {
	display: block;
}

/* Video background */
.fullscreen-bg-video {
   	position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: -100;
}

#bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/* Layout */
.LayoutPage .section-block,
.SubPage .LayoutPage .section-block {
    padding: 15rem 5rem;
}

.section-block-wrapper::after {
	content: '';
	display: table;
	clear: both;
}

.width-1200 .section-block .section-block-wrapper {
	max-width: 120rem;
}

.width-1500 .section-block .section-block-wrapper {
	max-width: 150rem;
}

@media only screen and (max-width: 768px) {

	.LayoutPage .section-block,
	.SubPage .LayoutPage .section-block {
	    padding: 10rem 2rem;
	}
}

@media only screen and (max-width: 480px) {

	.LayoutPage .section-block,
	.SubPage .LayoutPage .section-block {
	    padding: 7.5rem 1.5rem;
	}
}

/* Speciella layouts */
.LayoutPage .layout-12 .col-0 {
    margin-bottom: 4rem;
}

.LayoutPage .layout-12 .col-1 {
	padding-right: 3rem;
}

.LayoutPage .layout-12 .col-2 {
	padding-left: 3rem;
}

@media only screen and (max-width: 980px) {
	.LayoutPage .layout-12 .col-0 {
		margin-bottom: 2rem;
	}
	
	.LayoutPage .layout-12 .col-1 {
		width: 100%;
		padding-right: 0;
	}
	
	.LayoutPage .layout-12 .col-2 {
		width: 100%;
		padding-left: 0;
	}
}

/* ==========================================================================
    Buttons
========================================================================== */

.btn {
	max-width: 50rem;
    width: auto;
    box-sizing: border-box;
    padding: 1.6rem 4rem;
    border-radius: 3rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: 3px;
    line-height: 1em;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    display: inline-block;
}

.btn-filled-white {
	background: white;
	border: 2px solid white;
	color: #231f20;
}

.btn-outlined-white {
	background: transparent !important;
	border: 2px solid white;
	color: white;
}

.btn-filled-black {
	background: #231f20;
	border: 2px solid #231f20;
	color: white;
}

.btn-outlined-black {
	background: transparent !important;
	border: 2px solid #231f20;
	color: white;
}

.btn-filled-white:hover {
	background: transparent;
	border: 2px solid white;
	color: white;
}

.btn-filled-black:hover {
	background: transparent;
	border: 2px solid #231f20;
	color: #231f20;
}

.btn-outlined-white:hover {
	background: white !important;
	border: 2px solid white;
	color: #231f20;
}

.btn-outlined-black:hover {
	background: #231f20 !important;
	border: 2px solid #231f20;
	color: white;
}


/* AnvÃƒÂ¤nd "btn btn-center" fÃƒÂ¶r att centrera knappen */
.btn-center {
	margin:0 auto;
	text-align: center;
	display: block;
	width:200px;
}

.btn-wrapper {
	margin-top: 50px;
}

.btn-wrapper .btn {
	margin: 0 1%;
}


/* ==========================================================================
Text och typsnitt
========================================================================== */
p, a , li{
	line-height: 1.5em;
	font-size: 16px;
	color: #231f20;
	font-family: inherit;
	font-weight: 400;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	color: #231f20;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Ubuntu', sans-serif;
	font-weight: 700;
	letter-spacing: 0px;
	line-height: 1.4em;
	color: #e32726;
	text-transform: normal;
}

h3 {
	font-size: 4rem;
}

.section-title {
    font-size: 1.8rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding-bottom: .8em;
}

.lead {
	font-size: 1.3em;
	padding-top: 20px;
}


@media only screen and (max-width: 480px) {
	h3 {
		font-size: 2.5rem;
	}
}

/* lilla "abc"-blocket */
.smalltext-type {
	max-width: none;
}
/* stora "ABC"-blocket */
.normaltext-type {
    max-width: 72rem;
    margin: 0 auto;
    text-align: left;
}

/* ==========================================================================
Färger
========================================================================== */

.gray .section-block {
	background-color: #f2f2f2;
}

.color-primary {
	color: #e32726;
}

/* ==========================================================================
Header / Navigation
========================================================================== */

header {
	background-color: #FFF;
	box-shadow: 0 0 2rem rgba(0,0,0, .1);
    /*background-color: transparent;*/
    -webkit-transition: all 500ms linear;
    -moz-transition: all 500ms linear;
    -o-transition: all 500ms linear;
    -ms-transition: all 500ms linear;
    transition: all 500ms linear;
	/*box-shadow: none;*/
	height: 100px;
}

header .container {
	max-width: none;
	padding: 0 5rem;
}

header .container::after {
	content: '';
	display: table;
	clear: both;
}


header .header-logo {
    width: 20rem;
    padding: 3.5rem 0;
    display: block;
    float: left;
    transition: all 500ms linear;
}

nav.mainmenu ul.TemplateMenu > li {
    line-height: auto;
    height: auto;
    transition: all 500ms linear;
}

nav.mainmenu {
	text-align: right;
}

nav.mainmenu a {
	font-family: inherit;
	font-weight: 400;
	font-size: 15px;
	line-height: 100px;
	letter-spacing: 3px;
	/*color: #fff;*/
	color: #000 !important;
	text-transform: uppercase;
	padding: 0 10px;
    transition: all 500ms linear;
}

nav.mainmenu li:hover,
nav.mainmenu li.active {
	background-color: transparent;
}

nav.mainmenu li:hover a,
nav.mainmenu li.active a {
	color: #000 !important;
	text-decoration: none;
}

header.scrolled nav.mainmenu li:hover a,
header.scrolled nav.mainmenu li.active a {
	color: #e32726 !important;
	text-decoration: none;
}

header .mobile-menu span{
	height: 2px;
    width: 100%;
    background: #231f20;
    border-radius: 0px;
    margin-bottom: 7px;
	display: none;
}


/*header.scrolled {
	background-color: #FFF;
	transition: all 500ms linear;
	box-shadow: 0 0 2rem rgba(0,0,0, .1);
}*/
	
header.scrolled nav.mainmenu a {
	color: #231f20;
}

@media only screen and (max-width: 1100px) {
	header .container {
		padding: 0 2rem;
	}

	header .header-logo {
		width: 18rem;
	}
}

@media only screen and (max-width: 980px) {
	header {
		height: 60px;
		width: 100vw !important;
	}

	header .header-logo {
	    width: 104px;
	    padding: 15px 0;
	    float: left;
	    left: 0;
	}

/* Hamburgarmeny Ã¢â‚¬â€œ Den ÃƒÂ¤r default svart, men fÃƒÂ¶r att ÃƒÂ¤ndra fÃƒÂ¤rg eller ikon anvÃƒÂ¤nd koden nedan.*/
	.openmenu {
	    width: 6rem;
	    height: 6rem;
	    right: 0;
	    top: 0;
	    padding: 2rem 1.6rem;
	    margin-right: 4px;
	}

	nav.mainmenu {
	 	text-align: left;
	 	box-shadow: none;
	}

	nav.mainmenu .Padding {
		border-top:none !important;
	}

	nav.mainmenu li a {
		font-size:20px;
		border-bottom: none;
		margin:20px 0px;
		color:#231f20 !important;
		padding-left: 40px;
		line-height: 50px;
	}

	nav.mainmenu li:hover a,
	nav.mainmenu li.active a {
		color: #231f20 !important;
	}

	nav.mainmenu li:hover, nav.mainmenu li.active {
    	background-color: transparent;
	}

	.openmenu {
	    background-image: none;
	}
	
	.closemenu {
		background-image: none;
	}
	
	.closemenu::before,
	.closemenu::after {
		width: 24px;
		height: 2px;
		top: 12px;
		content: '';
		position: absolute;
		display: block;
		background-color: #231f20;	
	}
	
	.closemenu::before {
		transform: rotate(45deg);
	}
	
	.closemenu::after {
		transform: rotate(-45deg);
	}

	header .mobile-menu span{
		display: block;
	}

}

@media only screen and (max-width: 768px) {
	header .container {
		padding: 0 2rem;
	}
}

@media only screen and (max-width: 480px) {
	header .container {
		padding: 0 1.5rem;
	}
}

/* ==========================================================================
Top-section
========================================================================== */

.top-section {
	height: 0;
	background: linear-gradient(220deg, rgba(244,76,54,0.9) 0%, rgba(222,0,0,0.35) 100%);
	position: relative;
}

.page-title-wrap {
	background-color: transparent;
    top: 45%;
    left: 50%;
    width: 100%;
    max-width: 80rem;
    text-align: center;
    padding: 0;
}

.page-title-wrap h1 {
	color: #fff;
	padding:0;
	line-height: 0;
	font-weight: 300;
	font-size: 7rem;
    display: inline;
}

.page-title-wrap em {
	font-weight: 700;
	font-style: normal;
}

.heading-name {
    display: inline-block;
    font-size: 2.5rem;
    text-transform: uppercase;
    letter-spacing: 5px;
    line-height: 1;
    margin-bottom: 2rem;
}

.heading-usp {
	display: inline-block;
	line-height: 1.4em;
}

@media only screen and (max-width: 480px) {
	
	.top-section {
		height: 60vh;
	}
	
	.page-title-wrap {
		padding: 0 1.5rem;
	}
	
	.page-title-wrap h1 {
		font-size: 3rem;
	}
	
	.heading-name {
		font-size: 2rem;
	}
}

/* About us
========================================================================== */

#about-us {
	position: relative;
	z-index: 2;
}


#about-us .col-0 {
	padding: 0;
}

.split-wrapper {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.split-content {
    width: 50%;
    padding: 10rem 0 5rem 5rem;
    text-align: left;
}

.split-image {
    width: 50%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 15px 0 rgba(0,0,0, .1);
}

.split-image img {
    position: absolute;

    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;

    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: unset !important;
}

@supports (object-fit: cover) {
    .split-image img {
        position: relative;
        transform: none;
        top: unset;
        left: unset;

        object-fit: cover;
        object-position: center;
        height: 100% !important;
        width: 100% !important;
    }
}

#about-us .normaltext-type {
	text-align: left;
	max-width: none;
}

.logo-wrapper {
	display: flex;
	margin: 10rem auto 0;
	justify-content: center;
}


.logo-partner {
	width: auto;
	height: 5rem !important;
	margin: 0 2rem;
	align-self: center;
}

@media only screen and (max-width: 768px) {
	
	.split-wrapper {
		flex-direction: column-reverse;
	}
	
	.split-content {
		padding: 0 0 3rem;
		width: 100%;
	}
	
	.split-image {
		width: 100%;
		align-self: flex-start;
		overflow: visible;
	}
}



/* Services
========================================================================== */

#services *,
#services *:before,
#services *:after {
	transition: all .3s ease;
}

#services .col-0 {
	padding-right: 10rem;
	margin-top: 4rem;
}

.service-card-icon {
    font-size: 6rem;
    color: #FFF;
    display: inline-block;
    vertical-align: middle;
    width: 10rem;
}

.service-section * {
	color: #FFF;
}

.service-list {
    list-style-type: none;
    margin: 0;
    padding-inline-start: 0;

}

.service-accordion {
    width: 100%;
    margin: 1rem 0;
    background-color: #e32726;
    align-self: flex-start;
}

.service-header {
	position: relative;
	cursor: pointer;
	padding: 3rem;
}

.service-button {
	position: absolute;
	right: 5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4rem;
    height: 2.5rem;
    cursor: pointer;
}

.service-button::before, 
.service-button::after {
    width: 2.4rem;
    height: 2px;
    top: 1.2rem;
    content: '';
    position: absolute;
    display: block;
    background-color: #fff;
}

.service-button::before {
	transform: rotate(90deg);
}

.service-button::after {
	transform: rotate(0deg);
}

.service-header.active .service-button::before {
	transform: rotate(135deg);
}

.service-header.active .service-button::after{
	transform: rotate(45deg);
}

.service-title {
    color: #ffffff;
    padding-bottom: 0;
    display: inline-block;
    vertical-align: middle;
}

.service-panel {
	max-height: 0;
	overflow: hidden;
}

.service-info {
	color: #FFFFFF;
	padding: 0 5rem;
}

.service-item:hover .service-accordion {
	height: auto; 
}

.service-item:hover .service-info {
	font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
	
	#services .col-block {
		width: 100% !important;
	}
	
	#services .col-0 {
		padding-right: 0;
		margin-top: 0;
	}
	
	.service-header {
		padding: 3rem 1.5rem;
	}
	
	.service-card-icon {
	    font-size: 2rem;
	    width: 4rem;
	}
	
	.service-button {
		right: 1.5rem;
	    width: 1.5rem;
	    height: 1.6rem;
	}
	
	.service-button::before, 
	.service-button::after {
		width: 1.5rem;
		top: 6px;
	}
}

/* References
========================================================================== */


#references {
	background: rgb(242,242,242);
	background: linear-gradient(0deg, rgba(242,242,242,1) 50%, rgba(255,255,255,1) 50%);
}


/* Lightslider */

.lSSlideOuter .lSPager.lSpg>li a {
	background-color: #231f20 !important;
}

.lSSlideOuter .lSPager.lSpg>li.active a, 
.lSSlideOuter .lSPager.lSpg>li:hover a {
	background-color: #e32726 !important;
}
.lSAction>a {
	top: 50% !important;
}
/* Contact
========================================================================== */

#contact-us .section-block-wrapper {
	display: flex;
	flex-wrap: wrap;
	background-color: #fff;
	box-shadow: 0 0 15px 0 rgba(0,0,0, .1);
}

#contact-us .col-0 {
	padding: 50px;
	width: 40%;
}

#contact-us .col-0 .normaltext-type {
	text-align: left;
}

/* Contact options */

.contact-option-wrapper {
    margin-top: 50px;
}

.contact-option {
    display: flex;
    margin-bottom: 20px;
}

.contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    border-right: 2px solid #231f20;
    padding-right: 10px;
    margin-right: 20px;
}

.contact-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 0;
}

.contact-icon em {
    font-size: 30px;
    color: #231f20;
}

.contact-info h5 {
	padding-bottom: 0;
	font-weight: 300;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #231f20;
}

.contact-info p,
.contact-info a {
	padding-bottom: 0;
	color: #e32726;
}

/* Kontaktformular */

#contact-us .col-1 *,
#contact-us .col-1 *::before,
#contact-us .col-1 *::after {
	transition: all .3s ease;
}

#contact-us .col-1 {
	padding: 5rem;
	width: 60%;
}

#contact-us .normaltext-type {
	margin: 0;
}

#contact-us .col-1 p {
	color: #231f20;
}


#contact-us .ContactFormName,
#contact-us .ContactFormEmail,
#contact-us .ContactFormField,
#contact-us .ContactFormMessage {
	width: 100%;
	position: relative;
	top: unset;
	left: unset;
	display: inline-block;
}


#contact-us .ContactForm input,
#contact-us .ContactForm textarea {
	border: 1px solid lightgray;
	border-radius: 5px;
	padding: 1.2em;
}

#contact-us input:focus,
#contact-us textarea:focus {
	border-color: #e32726 !important;
}

#contact-us input::placeholder,
#contact-us textarea::placeholder {
	font-size: .8em;
} 

#contact-us .ContactForm .ContactSubmit {
    padding: 1.6rem 4rem;
    background-color: #e32726;
    border: 2px solid #e32726;
    color: #FFF;
    display: block;
    border-radius: 3rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 3px;
    font-size: 1.4rem;
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
    font-family: inherit;
}

#contact-us .ContactForm .ContactSubmit:hover {
	background-color: #c8311d;
    border-color: #c8311d;
}

.LayoutPage .Contact .ContactForm div.ContactFormMessage p {
	margin-top: 10px;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
	
	#contact-us .ContactForm input:not(.ContactSubmit),
	#contact-us .ContactForm textarea {
		padding: 0 !important;
	}

}

@media only screen and (max-width: 1024px) {
	
	#contact-us .ContactForm .ContactSubmit {
		width: 100% !important;
	}
}

@media only screen and (max-width: 768px) {
	#contact-us .col-block {
		padding: 4rem 2rem !important;
	}
}

@media only screen and (max-width: 480px) {
	
	#contact-us .col-block {
		padding: 3rem 1rem !important;
	}
}

/* ==========================================================================
Footer
========================================================================== */
.footer {
	background-color: #f2f2f2;
	padding: 0;
	color: #231f20;
}

.footer .container {
    max-width: 160rem; 
    padding: 0 5rem;
}

.footer-center {
    border-top: 1px solid #e32726; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    padding: 5rem 0;
}

.footer-col {
	width: 100%;
	margin: 5rem auto 0;
}

.footer-col:first-child {
	margin-bottom: 3rem;
}

.footer h5 {
	color: #e32726;
	padding: 0;
	margin: 0;
}

.footer p,
.footer a {
	font-family: inherit;
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.4em;
    color: #231f20;
    text-transform: none;
    text-decoration: none;
    display: inline-block;
    transition: all .3s ease;
    vertical-align: middle;
    padding: 0;
}

.footer a:hover {
	opacity: .5;
}

.footer-info p::after,
.footer-info a::after {
	content: '\2022';
	display: inline-block;
	margin: 0 1rem;
}

.footer p:last-child::after {
	content: '';
	margin: 0;
}

.footer .footer-logo {
	 font-weight: 600;
	 
}

.footer .footer-logo::after {
	content: '|';
	margin: 0 1rem;
}


.footer .container .fab {
    font-size: 25px;
    padding: 0;
    margin-top: 12px;
    text-decoration: none;
}

.footer .container .fab:hover {
    color: #fff;
}

a.social-link {
	display: inline-block;
    background-color: #e32726;
    width: 5rem !important;
    height: 5rem !important;
    color: #fff;
    border-radius: 3rem;
    text-align: center;
    margin: 0 1rem;
}
/* WebbEss Stamp  */
.webbess-stamp {
    display: flex;
    align-items: center;
    padding: 0;
    font-size: 1.3rem;
    font-weight: normal;
}

.webbess-stamp img {
    width: 3rem;
    margin-left: 1rem;
}


@media only screen and (max-width: 768px) {
	.footer .container {
		padding: 8rem 2rem;
	}
}

@media only screen and (max-width: 480px) {
	.footer-info p::after,
	.footer-info a::after {
		display: none;
	}
}

/* ==========================================================================
Media queries
========================================================================== */



@media only screen and (max-width: 1024px) {
	.width-1200 .section-block-wrapper {
		max-width: 980px;
	}


}
