﻿/* Upptackafrika.se – CSS-baserad mobilmeny med land-undermenyer.
   Desktopmenyn #meny visas över 1000 px.
   Vid 1000 px och mindre ersätts den av hamburgermenyn.
*/

.rm-mobile-menu {
	display: none;
}

@media (max-width: 1000px) {
	#meny {
		display: none !important;
	}

	.rm-mobile-menu {
		display: block;
		position: relative;
		width: 100%;
		margin: 0;
		padding: 0;
		background: #0b0b0b;
		border-bottom: 1px solid #2f2f2f;
		font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
		text-align: left;
		z-index: 1000;
	}

	.rm-mobile-menu-toggle,
	.rm-mobile-submenu-toggle {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.rm-mobile-menu-bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 54px;
		padding: 0 14px 0 18px;
		background: #0b0b0b;
	}

	.rm-mobile-menu-title {
		color: #fff;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.2px;
		line-height: 1;
	}

	.rm-mobile-menu-button {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 10px;
		cursor: pointer;
		border-radius: 6px;
		-webkit-tap-highlight-color: transparent;
		transition: background-color 0.2s ease;
	}

	.rm-mobile-menu-button:hover,
	.rm-mobile-menu-button:focus {
		background: #252525;
	}

	.rm-mobile-menu-button span {
		display: block;
		width: 24px;
		height: 2px;
		margin: 0 auto;
		background: #fff;
		border-radius: 2px;
		transform-origin: center;
		transition: transform 0.25s ease, opacity 0.2s ease;
	}

	.rm-mobile-menu-toggle:checked
		~ .rm-mobile-menu-bar
		.rm-mobile-menu-button span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.rm-mobile-menu-toggle:checked
		~ .rm-mobile-menu-bar
		.rm-mobile-menu-button span:nth-child(2) {
		opacity: 0;
	}

	.rm-mobile-menu-toggle:checked
		~ .rm-mobile-menu-bar
		.rm-mobile-menu-button span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.rm-mobile-menu-panel {
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		background: #151515;
		border-top: 1px solid transparent;
		transition:
			max-height 0.35s ease,
			visibility 0s linear 0.35s,
			border-color 0.2s ease;
	}

	.rm-mobile-menu-toggle:checked ~ .rm-mobile-menu-panel {
		max-height: 2200px;
		visibility: visible;
		border-top-color: #343434;
		transition:
			max-height 0.35s ease,
			visibility 0s linear 0s,
			border-color 0.2s ease;
	}

	.rm-mobile-menu-list,
	.rm-mobile-submenu {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.rm-mobile-menu-list {
		padding: 7px 0;
	}

	.rm-mobile-menu-list > li {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
	}

	.rm-mobile-menu-list > li + li {
		border-top: 1px solid #282828;
	}

	.rm-mobile-menu-list > li > a,
	.rm-mobile-parent-row > a,
	.rm-mobile-menu-list > li > a:visited,
	.rm-mobile-parent-row > a:visited {
		display: block;
		width: 100%;
		padding: 12px 18px;
		color: #e5e5e5;
		background: transparent;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.3;
		text-decoration: none;
		box-sizing: border-box;
		transition: background-color 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
	}

	.rm-mobile-menu-list > li > a:hover,
	.rm-mobile-menu-list > li > a:focus,
	.rm-mobile-parent-row > a:hover,
	.rm-mobile-parent-row > a:focus {
		padding-left: 22px;
		color: #fff;
		background: #242424;
		text-decoration: none;
	}

	.rm-mobile-menu-list > li.active > a,
	.rm-mobile-menu-parent.active > .rm-mobile-parent-row > a {
		color: #fff;
		background: #222;
		font-weight: 600;
		box-shadow: inset 4px 0 0 #fff;
	}

	/* Landrad: länk till landssidan + separat knapp för undersidor. */
	.rm-mobile-parent-row {
		display: flex;
		align-items: stretch;
		width: 100%;
	}

	.rm-mobile-parent-row > a {
		flex: 1 1 auto;
		min-width: 0;
	}

	.rm-mobile-submenu-button {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 50px;
		width: 50px;
		min-height: 45px;
		margin: 0;
		padding: 0;
		cursor: pointer;
		border-left: 1px solid #303030;
		background: #101010;
		-webkit-tap-highlight-color: transparent;
	}

	.rm-mobile-submenu-button:hover,
	.rm-mobile-submenu-button:focus {
		background: #292929;
	}

	.rm-mobile-submenu-button span {
		display: block;
		width: 9px;
		height: 9px;
		border-right: 2px solid #d8d8d8;
		border-bottom: 2px solid #d8d8d8;
		transform: translateY(-3px) rotate(45deg);
		transition: transform 0.2s ease;
	}

	.rm-mobile-submenu-toggle:checked
		~ .rm-mobile-parent-row
		.rm-mobile-submenu-button span {
		transform: translateY(3px) rotate(225deg);
	}

	/* Undersidor är stängda tills respektive land öppnas. */
	.rm-mobile-submenu {
		max-height: 0;
		overflow: hidden;
		background: #202020;
		transition: max-height 0.3s ease;
	}

	.rm-mobile-submenu-toggle:checked ~ .rm-mobile-submenu {
		max-height: 420px;
	}

	.rm-mobile-submenu li {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		border-top: 1px solid #303030;
	}

	.rm-mobile-submenu a,
	.rm-mobile-submenu a:visited {
		display: block;
		width: 100%;
		padding: 10px 18px 10px 34px;
		box-sizing: border-box;
		color: #d0d0d0;
		background: #202020;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.3;
		text-decoration: none;
		transition: background-color 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
	}

	.rm-mobile-submenu a:hover,
	.rm-mobile-submenu a:focus {
		padding-left: 38px;
		color: #fff;
		background: #2b2b2b;
		text-decoration: none;
	}

	.rm-mobile-submenu li.active > a {
		color: #fff;
		background: #2b2b2b;
		font-weight: 600;
		box-shadow: inset 4px 0 0 #fff;
	}

	.rm-mobile-menu-toggle:focus
		~ .rm-mobile-menu-bar
		.rm-mobile-menu-button,
	.rm-mobile-submenu-toggle:focus
		~ .rm-mobile-parent-row
		.rm-mobile-submenu-button {
		outline: 2px solid #fff;
		outline-offset: -3px;
	}
}

@media (max-width: 500px) {
	.rm-mobile-menu-bar {
		min-height: 50px;
		padding-left: 14px;
		padding-right: 8px;
	}

	.rm-mobile-menu-title {
		font-size: 17px;
	}

	.rm-mobile-menu-list > li > a,
	.rm-mobile-parent-row > a,
	.rm-mobile-menu-list > li > a:visited,
	.rm-mobile-parent-row > a:visited {
		padding: 12px 14px;
		font-size: 16px;
	}

	.rm-mobile-menu-list > li > a:hover,
	.rm-mobile-menu-list > li > a:focus,
	.rm-mobile-parent-row > a:hover,
	.rm-mobile-parent-row > a:focus {
		padding-left: 18px;
	}

	.rm-mobile-submenu a,
	.rm-mobile-submenu a:visited {
		padding-left: 28px;
	}

	.rm-mobile-submenu a:hover,
	.rm-mobile-submenu a:focus {
		padding-left: 32px;
	}
}
