<section class="o-mailchimp o-mailchimp--static" data-mailchimp="iis-mailchimp-static-form" id="iis-mailchimp-static-form">
    <div class="wrapper">
        <div class="o-mailchimp__wrapper">
            <div class="row flex-row-reverse o-mailchimp__close">
                <button type="button" class="a-button a-button--transparent a-button--icon js-close-mailchimp-popup">
                    <span class="a-button__text">Stäng</span>
                    <svg class="icon a-button__icon">
                        <use xlink:href="#icon-close"></use>
                    </svg>
                </button>
            </div>
            <div class="row flex-row-reverse o-mailchimp__row-bottom">
                <div class="o-mailchimp__image-container grid-18 grid-lg-10">
                    <img src="/assets/images/hero.jpg" alt="hero" class="o-mailchimp__image">
                </div>
                <div class="o-mailchimp__content grid-18 grid-lg-8">
                    <h1 class="o-mailchimp__headline">Nyhetsbrev från Internetstiftelsen</h1>
                    <p class="o-mailchimp__preamble">Cirka en gång i månaden tipsar vi om intressanta evenemang och roliga projekt som vi driver. Se till att du håller dig uppdaterad genom att prenumerera på nyhetsbrevet!</p>
                    <form action="./" method="post">
                        <div class="m-form-control row">
                            <div class="m-form__row grid-18 grid-lg-14 grid-md-10 u-m-b-2">
                                <div class="field-group">
                                    <label for="email" class="a-label u-visuallyhidden">Din e-postadress</label>
                                    <input type="email" class="a-input js-mailchimp-email" name="email" placeholder="Din e-postadress" required />
                                </div>
                            </div>
                            <div class="m-form__row grid-18 grid-lg-14 grid-md-10">
                                <div class="o-mailchimp__policy">
                                    <fieldset class="field-group">
                                        <legend class="u-visuallyhidden">Integritetspolicy</legend>
                                        <div class="checkbox">
                                            <input id="pa-iis-mailchimp-static-form" name="policy-agree" class="o-mailchimp__policy-agree a-checkbox u-visuallyhidden" type="checkbox" value="1" />
                                            <label for="pa-iis-mailchimp-static-form" class="u-p-r-0"><span>Jag samtycker till att ta emot nyhetsbrev och har tagit del av <a href="https://internetstiftelsen.se/om-webbplatsen/integritetspolicy-for-besokare-pa-internetstiftelsens-webbplatser/" target="_blank" class="u-link">integritetspolicyn</a></span></label>
                                        </div>
                                    </fieldset>
                                </div>
                            </div>
                        </div>
                        <input type="text" name="hname" class="mailchimp__hname-field is-hidden" placeholder="Leave this field empty" />
                        <input type="hidden" name="mailchimp_list" value="b28f7d99cd" />
                        <input type="hidden" name="tags" value="" />
                        <button type="submit" class="a-button js-mailchimp-btn has-loader u-m-t-2">
                            <span class="a-button__text">Prenumerera</span>
                        </button>
                        <div data-mailchimp-result="1"></div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</section>
<section class="o-mailchimp o-mailchimp--sliding" data-mailchimp="iis-mailchimp-sliding-form" id="iis-mailchimp-sliding-form" data-slider-delay="5000" aria-hidden="true">
    <div class="wrapper">
        <div class="o-mailchimp__wrapper">
            <div class="row flex-row-reverse o-mailchimp__close">
                <button type="button" class="a-button a-button--transparent a-button--icon js-close-mailchimp-popup" aria-controls="iis-mailchimp-sliding-form">
                    <span class="a-button__text">Stäng</span>
                    <svg class="icon a-button__icon">
                        <use xlink:href="#icon-close"></use>
                    </svg>
                </button>
            </div>
            <div class="row flex-row-reverse o-mailchimp__row-bottom">
                <div class="o-mailchimp__image-container grid-18 grid-lg-10">
                    <img src="/assets/images/hero.jpg" alt="hero" class="o-mailchimp__image">
                </div>
                <div class="o-mailchimp__content grid-18 grid-lg-8">
                    <h1 class="o-mailchimp__headline">Nyhetsbrev från Internetstiftelsen</h1>
                    <p class="o-mailchimp__preamble">Cirka en gång i månaden tipsar vi om intressanta evenemang och roliga projekt som vi driver. Se till att du håller dig uppdaterad genom att prenumerera på nyhetsbrevet!</p>
                    <form action="./" method="post">
                        <div class="m-form-control row">
                            <div class="m-form__row grid-18 grid-lg-14 grid-md-10 u-m-b-2">
                                <div class="field-group">
                                    <label for="email" class="a-label u-visuallyhidden">Din e-postadress</label>
                                    <input type="email" class="a-input js-mailchimp-email" name="email" placeholder="Din e-postadress" required />
                                </div>
                            </div>
                            <div class="m-form__row grid-18 grid-lg-14 grid-md-10">
                                <div class="o-mailchimp__policy">
                                    <fieldset class="field-group">
                                        <legend class="u-visuallyhidden">Integritetspolicy</legend>
                                        <div class="checkbox">
                                            <input id="pa-iis-mailchimp-sliding-form" name="policy-agree" class="o-mailchimp__policy-agree a-checkbox u-visuallyhidden" type="checkbox" value="1" />
                                            <label for="pa-iis-mailchimp-sliding-form" class="u-p-r-0">
                                                <span>Jag samtycker till att ta emot nyhetsbrev och har tagit del av <a href="https://internetstiftelsen.se/om-webbplatsen/integritetspolicy-for-besokare-pa-internetstiftelsens-webbplatser/" target="_blank" class="u-link">integritetspolicyn</a></span>
                                            </label>
                                        </div>
                                    </fieldset>
                                </div>
                            </div>
                        </div>
                        <input type="text" name="hname" class="mailchimp__hname-field is-hidden" placeholder="Leave this field empty" />
                        <input type="hidden" name="mailchimp_list" value="b28f7d99cd" />
                        <input type="hidden" name="tags" value="" />
                        <button type="submit" class="a-button js-mailchimp-btn has-loader u-m-t-2">
                            <span class="a-button__text">Prenumerera</span>
                        </button>
                        <div data-mailchimp-result="1"></div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</section>
        
    
        <section class="o-mailchimp o-mailchimp--static" data-mailchimp="iis-mailchimp-static-form" id="iis-mailchimp-static-form">
	<div class="wrapper">
		<div class="o-mailchimp__wrapper">
			<div class="row flex-row-reverse o-mailchimp__close">
				<button type="button" class="a-button a-button--transparent a-button--icon js-close-mailchimp-popup">
					<span class="a-button__text">Stäng</span>
					<svg class="icon a-button__icon">
						<use xlink:href="#icon-close"></use>
					</svg>
				</button>
			</div>
			<div class="row flex-row-reverse o-mailchimp__row-bottom">
				{{#if has_image}}
				<div class="o-mailchimp__image-container grid-18 grid-lg-10">
					<img src="/assets/images/hero.jpg" alt="hero" class="o-mailchimp__image">
				</div>
				{{else}}
				<div class="o-mailchimp__image-container grid-18 grid-lg-10">
					<div class="o-mailchimp__image-missing">
						{{>@icon id="email"}}
					</div>
				</div>
				{{/if}}
				<div class="o-mailchimp__content grid-18 grid-lg-8">
					<h1 class="o-mailchimp__headline">{{heading}}</h1>
					<p class="o-mailchimp__preamble">{{preable}}</p>
					<form action="./" method="post">
						<div class="m-form-control row">
							<div class="m-form__row grid-18 grid-lg-14 grid-md-10 u-m-b-2">
								<div class="field-group">
									<label for="email" class="a-label u-visuallyhidden">{{label}}</label>
									<input type="email" class="a-input js-mailchimp-email" name="email" placeholder="{{label}}" required/>
								</div>
							</div>
							{{#if has_groups}}
							<div class="m-form__row grid-18 grid-lg-14 grid-md-10 u-m-b-2">
								<fieldset class="field-group">
									<legend>{{group_name}}</legend>
									{{#each groups}}
									<div class="checkbox">
										<input id="{{text}}" name="groups" class="o-mailchimp__policy-agree a-checkbox u-visuallyhidden" type="checkbox" value="{{text}}" />
										<label for="{{text}}" class="u-p-r-0"><span>{{{text}}}</span></label>
									</div>
									{{/each}}
								</fieldset>
							</div>
							{{/if}}
							<div class="m-form__row grid-18 grid-lg-14 grid-md-10">
								<div class="o-mailchimp__policy">
									<fieldset class="field-group">
										<legend class="u-visuallyhidden">{{policy_agree_short}}</legend>
										<div class="checkbox">
											<input id="pa-iis-mailchimp-static-form" name="policy-agree" class="o-mailchimp__policy-agree a-checkbox u-visuallyhidden" type="checkbox" value="1" />
											<label for="pa-iis-mailchimp-static-form" class="u-p-r-0"><span>{{{policy_agree}}}</span></label>
										</div>
									</fieldset>
								</div>
							</div>
						</div>
						<input type="text" name="hname" class="mailchimp__hname-field is-hidden" placeholder="Leave this field empty" />
						<input type="hidden" name="mailchimp_list" value="b28f7d99cd"  />
						<input type="hidden" name="tags" value=""  />
						<button type="submit" class="a-button js-mailchimp-btn has-loader u-m-t-2">
							<span class="a-button__text">{{subscribe}}</span>
						</button>
						<div data-mailchimp-result="1"></div>
					</form>
				</div>
			</div>
		</div>
	</div>
</section>
<section class="o-mailchimp o-mailchimp--sliding" data-mailchimp="iis-mailchimp-sliding-form" id="iis-mailchimp-sliding-form" data-slider-delay="5000" aria-hidden="true">
	<div class="wrapper">
		<div class="o-mailchimp__wrapper">
			<div class="row flex-row-reverse o-mailchimp__close">
				<button type="button" class="a-button a-button--transparent a-button--icon js-close-mailchimp-popup" aria-controls="iis-mailchimp-sliding-form">
					<span class="a-button__text">Stäng</span>
					<svg class="icon a-button__icon">
						<use xlink:href="#icon-close"></use>
					</svg>
				</button>
			</div>
			<div class="row flex-row-reverse o-mailchimp__row-bottom">
				{{#if has_image}}
				<div class="o-mailchimp__image-container grid-18 grid-lg-10">
					<img src="/assets/images/hero.jpg" alt="hero" class="o-mailchimp__image">
				</div>
				{{else}}
				<div class="o-mailchimp__image-container grid-18 grid-lg-10">
					<div class="o-mailchimp__image-missing">
						{{>@icon id="email"}}
					</div>
				</div>
				{{/if}}
				<div class="o-mailchimp__content grid-18 grid-lg-8">
					<h1 class="o-mailchimp__headline">{{heading}}</h1>
					<p class="o-mailchimp__preamble">{{preable}}</p>
					<form action="./" method="post">
						<div class="m-form-control row">
							<div class="m-form__row grid-18 grid-lg-14 grid-md-10 u-m-b-2">
								<div class="field-group">
									<label for="email" class="a-label u-visuallyhidden">{{label}}</label>
									<input type="email" class="a-input js-mailchimp-email" name="email" placeholder="{{label}}" required/>
								</div>
							</div>
							{{#if has_groups}}
							<div class="m-form__row grid-18 grid-lg-14 grid-md-10 u-m-b-2">
								<fieldset class="field-group">
									<legend>{{group_name}}</legend>
									{{#each groups}}
									<div class="checkbox">
										<input id="{{text}}" name="groups" class="o-mailchimp__policy-agree a-checkbox u-visuallyhidden" type="checkbox" value="{{text}}" />
										<label for="{{text}}" class="u-p-r-0"><span>{{{text}}}</span></label>
									</div>
									{{/each}}
								</fieldset>
							</div>
							{{/if}}
							<div class="m-form__row grid-18 grid-lg-14 grid-md-10">
								<div class="o-mailchimp__policy">
									<fieldset class="field-group">
										<legend class="u-visuallyhidden">{{policy_agree_short}}</legend>
										<div class="checkbox">
											<input id="pa-iis-mailchimp-sliding-form" name="policy-agree" class="o-mailchimp__policy-agree a-checkbox u-visuallyhidden" type="checkbox" value="1" />
											<label for="pa-iis-mailchimp-sliding-form" class="u-p-r-0">
												<span>{{{policy_agree}}}</span>
											</label>
										</div>
									</fieldset>
								</div>
							</div>
						</div>
						<input type="text" name="hname" class="mailchimp__hname-field is-hidden" placeholder="Leave this field empty" />
						<input type="hidden" name="mailchimp_list" value="b28f7d99cd"  />
						<input type="hidden" name="tags" value=""  />
						<button type="submit" class="a-button js-mailchimp-btn has-loader u-m-t-2">
							<span class="a-button__text">{{subscribe}}</span>
						</button>
						<div data-mailchimp-result="1"></div>
					</form>
				</div>
			</div>
		</div>
	</div>
</section>
    
        
            
            {
  "has_image": true,
  "heading": "Nyhetsbrev från Internetstiftelsen",
  "preable": "Cirka en gång i månaden tipsar vi om intressanta evenemang och roliga projekt som vi driver. Se till att du håller dig uppdaterad genom att prenumerera på nyhetsbrevet!",
  "label": "Din e-postadress",
  "policy_agree": "Jag samtycker till att ta emot nyhetsbrev och har tagit del av <a href=\"https://internetstiftelsen.se/om-webbplatsen/integritetspolicy-for-besokare-pa-internetstiftelsens-webbplatser/\" target=\"_blank\" class=\"u-link\">integritetspolicyn</a>",
  "policy_agree_short": "Integritetspolicy",
  "subscribe": "Prenumerera",
  "email_help_text": "E-post är obligatoriskt",
  "has_groups": false
}
            
        
    
                                @charset "UTF-8";
@use '../../configurations/mixins' as mixin;
@use '../../configurations/bem' as bem;
@use '../../configurations/config' as config;
@use '../../configurations/variables' as var;
@use '../../configurations/functions' as func;
@use '../../configurations/colors/colors' as colors;
@use '../../configurations/colors/colors-functions' as colorFunc;
@use '../../vendor/grid/breakpoints' as breakpoint;
@use '../../vendor/grid/grid' as grid;
@use '../../vendor/baseline/plumber' as plumber;
@include mixin.organism(mailchimp) {
	clear: both;
	@include bem.e(wrapper) {
		@include mixin.card-shadow(colors.$color-cyberspace, 0.2);
		margin-top: func.rhythm(4);
		margin-bottom: func.rhythm(8);
		padding: func.rhythm(2);
		border-radius: var.$border-radius;
		background-color: colors.$color-snow;
	}
	@include bem.e(close) {
		display: none;
	}
	@include bem.e(image-container) {
		margin-bottom: func.rhythm(2);
		@include breakpoint.bp-up(lg) {
			display: flex;
			display: -webkit-box; /* Weird Sarafi bug needs this */
			width: 50%;
			margin-bottom: 0;
		}
	}
	@include bem.e(image) {
		display: block;
		flex-grow: 0;
		border-radius: var.$border-radius;
		object-fit: cover;
	}
	@include bem.e(image-missing) {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding: func.rhythm(4);
		border-radius: var.$border-radius;
		background-color: colors.$color-cyberspace;
		svg {
			width: 80%;
			height: 80%;
			min-height: func.rhythm(20);
			fill: colors.$color-jade;
		}
	}
	@include bem.e(content) {
		padding: 0 func.rhythm(3) 0 func.rhythm(3);
		@include breakpoint.bp-up(lg) {
			padding-right: func.rhythm(4);
		}
	}
	@include bem.m(sliding) {
		position: fixed;
		z-index: func.z_index(foregroundMinus);
		top: func.rhythm(1);
		right: -500px;
		bottom: func.rhythm(1);
		max-width: 420px;
		transition: right ease-out 0.35s;
		&.is-visible {
			right: 0;
			@include bem.e(wrapper) {
				display: block;
				border: 1px solid colors.$color-ash;
			}
		}
		@include breakpoint.bp-up(sm) {
			top: auto;
		}
		@include bem.e(wrapper) {
			display: none;
			margin-top: 0;
			margin-bottom: 0;
		}
		@include bem.e(row-bottom) {
			max-height: calc(100vh - 94px);
			overflow-x: hidden;
			overflow-y: auto;
			@include breakpoint.bp-up(sm) {
				max-height: none;
				overflow: visible;
			}
		}
		@include bem.e(close) {
			display: flex;
		}
		@include bem.e(image-container) {
			display: none;
		}
		@include bem.e(content) {
			flex: 0 0 100%;
			width: 100%;
			max-width: 100%;
			padding-right: func.rhythm(3);
			padding-bottom: func.rhythm(2);
			overflow-y: auto;
			max-height: calc(100vh - 77px);
		}
		@include bem.b(m-form__row) {
			flex: 0 0 100%;
			width: 100%;
			max-width: 100%;
		}
	}
}
                            
                            
                        
                                import debounce from '../../assets/js/debounce';
import hasCookieConsent from '../../assets/js/hasCookieConsent';
let consent = hasCookieConsent('C0003');
const slidingForm = document.querySelector('[class*="--sliding"]');
const staticForm = document.querySelector('[class*="--static"]');
const closeButton = document.querySelector('[class*="--sliding"] .js-close-mailchimp-popup');
let timeout;
let timer;
const throttle = 66; // Trigger event every 66ms
const visibleClass = 'is-visible';
const cookieName = 'internetstiftelsen-mailchimp-form-closed';
const currentProtocol = document.location.protocol;
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const noForm = urlParams.get('noForm');
// Set cookie
function setCookie(name, value, days) {
	const d = new Date();
	d.setTime(d.getTime() + 24 * 60 * 60 * 1000 * days);
	if (currentProtocol === 'https:') {
		document.cookie = `${name}=${value};path=/;SameSite=Strict;Secure;expires=${d.toGMTString()}`;
	} else {
		document.cookie = `${name}=${value};path=/;SameSite=Strict;expires=${d.toGMTString()}`;
	}
}
// Get cookie
function getCookie(name) {
	const v = document.cookie.match(`(^|;) ?${name}=([^;]*)(;|$)`);
	return v ? v[2] : null;
}
// User is sent from email campaign with URL parameter ?noForm=true,
// set cookie and don't show slide-in form
if (noForm) {
	setCookie(cookieName, 'YES', 7);
}
if (slidingForm) {
	timeout = slidingForm.getAttribute('data-slider-delay');
	// Add hidden attribute on page load
	slidingForm.setAttribute('aria-hidden', 'true');
}
function isInViewport(element) {
	let top = element.offsetTop;
	const height = element.offsetHeight;
	while (element.offsetParent) {
		// eslint-disable-next-line no-param-reassign
		element = element.offsetParent;
		top += element.offsetTop;
	}
	return (
		top < (window.pageYOffset + window.innerHeight)
		&& (top + height) > window.pageYOffset
	);
}
function slideForm() {
	if (!getCookie(cookieName)) {
		const inViewport = isInViewport(staticForm);
		clearTimeout(timer);
		if (!inViewport) {
			// The static form is not in the viewport, start timeout to show the sliding form
			timer = setTimeout(() => {
				slidingForm.classList.add(visibleClass);
				slidingForm.setAttribute('aria-hidden', 'false');
			}, timeout);
		} else {
			slidingForm.classList.remove(visibleClass);
			slidingForm.setAttribute('aria-hidden', 'true');
		}
	}
}
const elementIsInViewport = debounce(() => {
	if (consent && slidingForm) {
		slideForm();
	}
}, throttle);
window.addEventListener('scroll', () => {
	elementIsInViewport();
});
function closeForm() {
	setCookie(cookieName, 'YES', 7);
	slidingForm.classList.remove(visibleClass);
	slidingForm.setAttribute('aria-hidden', 'true');
}
if (closeButton) {
	closeButton.addEventListener('click', () => {
		closeForm();
	});
}
                            
                            
                        This component is specifically made to work together with the iis-mailchimp plugin. It consists of two forms, one static and one “slide-in” form. The slide-in form has a delay attribute on it controlled from Wordpress admin.
The two forms are never shown on screen at once, when the static form scrolls into view, the slide-in form is hidden if visible and the timer is cleared. If the static forms is once again out of viewport the timer restarts.
It the user clicks the slide-in form close button, a cookie is set and the slide-in form no longer slides into view. The cookie lasts 1 week. If the user is sent from email campaign with URL parameter ?noForm=true, the cookie is set show slide-in form won’t show.