/*
Theme Name:    Talkto Builder
Description:   Den Gyldne Omvei
Version:       1.0.0
Author:        Talkto
Author URI:    https://www.talkto.no/
Template:      bb-theme
License:       GNU General Public License v2 or later
License URI:   http://www.gnu.org/licenses/gpl-2.0.html
*/

/** accessibility **/
.pp-category .category-inner > .pp-category__link:focus-visible > div {
	outline: 2px solid #000;
	outline-offset: -2px;
	
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
	
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
}

.pp-advanced-menu a:focus-visible {
	outline: 0 !important;
}

.owl-item a {
	outline-offset: -2px !important;
}

.talkto-opplevelser-grid .pp-content-post > a {
	outline-offset: -2px !important;
}

.talkto-opplevelser-grid .pp-content-post .tt-button {
	margin-top: 18px;
	text-decoration: none;
	display: inline-block;
	padding: 3px 20px;
	border: 1px solid #000;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
}

.pp-search-form.pp-search-form--focus .pp-search-form__container {
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
	
	outline: 2px solid #000 !important;
	outline-offset: -2px !important;
}

.talkto-megamenu-container button:focus-visible,
.talkto-megamenu-container a:focus-visible,
.fl-icon-text-link:focus-visible p {
	outline: 2px solid #000 !important;
}

.fl-button-group-button a {
	text-decoration: none !important;
}

/** talkto megamenu **/
button.talkto-megamenu.talkto-hamburger {
	background-color: transparent !important;
	border: 0;
	border-radius: 0;
	font-size: 50px;
	padding: 0;
	margin: 0 -10px 0 0;
}

button.talkto-megamenu.talkto-hamburger i::before {
	margin: 0;
}

.talkto-megamenu-container.talkto-megamenu-is-modal i.fl-button-icon {
	margin-right: 0;
}

.megameny-2 a.fl-button:focus-visible span.fl-button-text {
	outline: 0 !important;
}

button.talkto-megamenu:focus-visible {
	outline: 2px solid #000;
	outline-offset: 5px;
}

.pp-search-form input:focus-visible,
.pp-search-form button:focus-visible {
	outline: 2px solid #000 !important;
	outline-offset: -2px !important;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	-o-border-radius: 24px;
	border-radius: 24px;
	
	transition: none;
}

.megameny-2 input:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

li.talkto-megamenu > a .menu-item-text {
	position: relative;
	padding-right: 24px;
}

li.talkto-megamenu.talkto-megamenu-open:not(.sok) {
	background-color: #fff3d9;
}

.pp-menu-toggle::before,
li.talkto-megamenu > a .menu-item-text::before {
	content: "\e80b" !important;
	font-family: "fontello" !important;
	font-weight: normal !important;
	font-size: 20px !important;
	line-height: 20px !important;
	position: absolute !important;
	top: 6px !important;
	right: 2px !important;
	width: 9px !important;
	height: 9px !important;
	margin: 0 !important;
	transform: rotate(90deg) !important;
	border: 0 !important;
}

.talkto-megamenu-list a {
	display: block;
	color: #000;
	padding: 8px 0 8px 0;
}
	
.talkto-megamenu-list ul.talkto-menu-level-0 > div > li > a {
	padding: 16px 0 16px 0;
	position: relative;
}
	
.talkto-megamenu-list ul.talkto-menu-level-0 > div > li > ul {
	padding-bottom: 16px;
}
	
.talkto-megamenu-list ul > div > li {
	font-size: 18px;
	line-height: 1em;
	font-weight: 200;
}

.talkto-megamenu-list ul.talkto-menu-level-0 > div > li {
	padding-left: 0 !important;
	font-size: 20px;
	line-height: 1em;
	font-weight: 300;
}

.talkto-megamenu-container .talkto-megamenu-list > ul > div > li a .toggle {
	position: absolute;
	display: inline-block;
	right: 0;
	transform-origin: center;
	transform: rotate(90deg);
}

.talkto-megamenu-container .talkto-megamenu-list > ul > div > li a .toggle::after {
	content: "\e80b";
	font-family: "fontello";
	font-weight: normal;
	font-size: 1.3rem;
}

.talkto-megamenu-container .talkto-megamenu-list > ul > div > li a.collapsed .toggle {
	transform: rotate(0deg);
}

.talkto-megamenu-inside-ppadvmenu .talkto-megamenu-content a.fl-module-box .fl-module-icon + .fl-module-rich-text p::after,
.talkto-megamenu-inside-ppadvmenu .talkto-megamenu-content a.fl-module-box .fl-module-rich-text:first-child p::after {
	content: "\e801";
	font-family: "fontello";
	padding-left: 5px;
	font-size: 0.8em;
}

/** cmplz **/
.cmplz-btn:focus-visible {
	outline: 2px solid #000;
}

/** talk to general **/

a.talkto-button,
button.talkto-button {
	display: inline-block;
	background-color: #000 !important;
	padding: 10px 20px;
	border-radius: 20px;
	font-size: 16px;
	line-height: 20px;
	color: #fff;
	border: 0;
}

a.talkto-button:hover,
button.talkto-button:hover {
	background-color: #f4d17c !important;
	color: #000;
	text-decoration: none;
}

.talkto-site-spinner {
	height: 50px;
	margin: 20px 0 20px;
	position: relative;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

@keyframes site-spinner-animation {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(359deg); }
}


.talkto-site-spinner::after {
	content: '';
	
	position: absolute;
	display: block;
	
	width: 50px;
	height: 50px;
	
	left: 50%;
	top: 50%;
	
	border-top: 1px solid #000;
	border-radius: 25px;
		
	-webkit-animation: site-spinner-animation 0.5s linear 0s infinite;
	-moz-animation: site-spinner-animation 0.5s linear 0s infinite;
	-o-animation: site-spinner-animation 0.5s linear 0s infinite;
	animation: site-spinner-animation 0.5s linear 0s infinite;
}

.google-map-container {
	height: 400px;
}

/** content grids **/
.fl-module-pp-content-grid .pp-post-filter:focus-visible {
	outline: 2px solid #000;
}

.talkto-opplevelser-grid .talkto-opplevelser-modetoggle {
	text-transform: uppercase;
	font-size: 18px;
	text-align: center;
	margin: 0 0 30px;
}

.talkto-opplevelser-grid .talkto-opplevelser-modetoggle > div {
	display: inline-block;
	cursor: pointer;
	padding: 10px;
}

.talkto-opplevelser-grid .talkto-opplevelser-modetoggle > div span {
	vertical-align: middle;
}

.talkto-opplevelser-grid.mode-overview .talkto-opplevelser-modetoggle > div span.overview,
.talkto-opplevelser-grid.mode-map .talkto-opplevelser-modetoggle > div span.map {
	font-weight: bold;
}

.talkto-opplevelser-grid .talkto-opplevelser-modetoggle > div span.toggle {
	width: 35px;
	height: 18px;
	position: relative;
	display: inline-block;
	
	margin: 0 10px;
}

.talkto-opplevelser-grid .talkto-opplevelser-modetoggle > div span.toggle::before {
	content: '';
	position: absolute;
	
	top: 0;
	left: 0;
	
	width: 35px;
	height: 18px;
	
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 9px;
}

.talkto-opplevelser-grid .talkto-opplevelser-modetoggle > div span.toggle::after {
	content: '';
	position: absolute;
	
	top: 2px;
	left: 2px;
	
	width: 14px;
	height: 14px;
	
	background-color: #000;
	border-radius: 7px;
	
	-webkit-transition: left 0.5s;
	-moz-transition: left 0.5s;
	-o-transition: left 0.5s;
	transition: left 0.5s;
}

.talkto-opplevelser-grid.mode-overview .talkto-opplevelser-modetoggle > div span.toggle::after {
	left: 2px;
}

.talkto-opplevelser-grid.mode-map .talkto-opplevelser-modetoggle > div span.toggle::after {
	left: 19px;
}


.talkto-opplevelser-grid.mode-map .talkto-opplevelser-map,
.talkto-opplevelser-grid.mode-overview .pp-content-posts {
	display: block;
}

.talkto-opplevelser-grid.mode-map .pp-content-posts,
.talkto-opplevelser-grid.mode-overview .talkto-opplevelser-map {
	display: none;
}

/*.talkto-opplevelser-grid.mode-map .pp-content-posts,*/
.talkto-opplevelser-grid .talkto-opplevelser-map-content {
	padding-top: 50%;
}

/** talkto opplevelse **/
p.talkto-opplevelse-openinghours,
p.talkto-opplevelse-contact,
p.talkto-opplevelse-meetingrooms {
    font-size: 16px !important;
    color: #272525 !important;
}

p.talkto-opplevelse-openinghours a,
p.talkto-opplevelse-contact a,
p.talkto-opplevelse-meetingrooms a {
    color: #272525 !important;
	text-decoration: underline !important;
}

.talkto-opplevelse-contact .email-value,
.talkto-opplevelse-contact .phone-value,
.talkto-opplevelse-contact .address-value,
.talkto-opplevelse-contact .web-value,
.talkto-opplevelse-meetingrooms .count-value,
.talkto-opplevelse-meetingrooms .capacity-value,
.talkto-opplevelse-meetingrooms .hc-value,
.talkto-opplevelse-meetingrooms .descr {
	margin-bottom: 10px;
}

.talkto-opplevelse-contact .email-descr,
.talkto-opplevelse-contact .phone-descr,
.talkto-opplevelse-contact .email-value,
.talkto-opplevelse-contact .phone-value,
.talkto-opplevelse-contact .address-value,
.talkto-opplevelse-contact .web-value {
	display: block;
}

.talkto-opplevelse-meetingrooms {
	padding: 40px;
	background-color: #F6D27C;
	
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	-o-border-radius: 60px;
	border-radius: 60px;
}

.talkto-opplevelse-meetingrooms p {
	padding: 0 !important;
	margin: 0 !important;
}

.talkto-opplevelse-meetingrooms h2 {
	text-align: center;
	margin: 0 0 20px !important;
}

.talkto-opplevelse-meetingrooms .facts {
	margin: 30px 0;
	padding: 10px 0;
	border-top: 1px solid #CBB376;
	border-bottom: 1px solid #CBB376;
}

.talkto-opplevelse-meetingrooms .count,
.talkto-opplevelse-meetingrooms .capacity,
.talkto-opplevelse-meetingrooms .hc {
	display: block;
	text-align: center;
}

.talkto-opplevelse-meetingrooms .descr {
	display: block;
	margin-top: 20px !important;
}

.talkto-opplevelse-meetingrooms .link {
	display: block;
	margin-top: 20px !important;
}

.talkto-opplevelse-meetingrooms .link a,
.talkto-opplevelse-meetingrooms .link a:hover {
	color: #000;
	text-decoration: underline;
}

.single-opplevelse .fl-page-content .fl-rich-text h2 {
	font-family: 'Figtree', sans-serif !important;
	font-weight: 300 !important;
	font-size: 21px !important;
	line-height: 25px !important;
	text-transform: uppercase !important;
}

.single-opplevelse .fl-page-content .fl-rich-text h3 {
	font-family: 'Figtree', sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	line-height: 21px !important;
	text-transform: none !important;
	margin-bottom: 0 !important;
}

.single-opplevelse .fl-page-content .fl-rich-text p {
	margin-bottom: 30px;
}


/** talkto opening hours **/
.talkto-openinghours-list {
	min-height: 100px;
}

.talkto-openinghours-list .google-logo {
	margin-bottom: 20px;
}

.talkto-openinghours-list ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.talkto-openinghours-list ul.hidden {
	display: none;
}

.talkto-openinghours-list ul li {
	padding: 15px 30px;
	margin: 0;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.talkto-openinghours-list ul li.header {
	font-weight: bold;
}

.talkto-openinghours-list ul li.item {
}

.talkto-openinghours-list ul li.is-odd {
	background-color: #fff5e1;
}

.talkto-openinghours-list ul li span {
	display: inline-block;
	vertical-align: middle;
}

.talkto-openinghours-list ul li.item span {
	padding-right: 5px;
}

.talkto-openinghours-list ul li span.name-and-address {
	width: 40%;
}

.talkto-openinghours-list ul li span.name-and-address span.address {
	font-size: 14px;
}

.talkto-openinghours-list ul li span.open {
	width: 20%;
}

.talkto-openinghours-list ul li.item span.open {
	padding-left: 20px;
}

.talkto-openinghours-list ul li.item span.open.is-open::before,
.talkto-openinghours-list ul li.item span.open.is-possibly-open::before,
.talkto-openinghours-list ul li.item span.open.is-closed::before {
	content: '';
	
	display: inline-block;
	
	width: 10px;
	height: 10px;
	
	margin-right: 5px;
	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}

.talkto-openinghours-list ul li span.open.is-closed::before {
	background-color: #EB5B54;
}

.talkto-openinghours-list ul li span.open.is-possibly-open::before {
	background-color: #f4d17c;
}

.talkto-openinghours-list ul li span.open.is-open::before {
	background-color: #5BB256;
}

.talkto-openinghours-list ul li.loading span.open::after {
	content: '';
	
	display: block;
	
	width: 14px;
	height: 14px;
	
	border-top: 1px solid #000;
	border-radius: 7px;
	
	-webkit-animation: spinner-animation 0.5s linear 0s infinite;
	-moz-animation: spinner-animation 0.5s linear 0s infinite;
	-o-animation: spinner-animation 0.5s linear 0s infinite;
	animation: spinner-animation 0.5s linear 0s infinite;
}
/*
.talkto-openinghours-list ul li.item span .upcoming-opening-hours {
	padding-left: 15px;
	display: block;
	font-size: 12px;
}
*/
.talkto-openinghours-list ul li span.hours {
	width: 25%;
}

.talkto-openinghours-list ul li span.hours i {
	cursor: pointer;
	margin-left: 5px;
	font-size: 14px;
}

.talkto-openinghours-list ul li span.hours span.opening-hours {
	font-size: 14px !important;
	display: block;
}
.talkto-openinghours-list ul li span.hours span.opening-hours a {
	display: block;
}

.talkto-openinghours-list ul li span.hours span.opening-hours.hidden {
	display: none;
}

.talkto-openinghours-list ul li span.phone {
	width: 15%;
}

.talkto-openinghours-list ul li span.address {
	width: 100%;
}

.talkto-openinghours-list ul li span.name-and-address a.name,
.talkto-openinghours-list ul li span.phone a {
	color: #000;
	text-decoration: underline;
}

/** hva skjer **/
.fremhevet-bilde {
    height: 100%;
}

.talkto-openinghours-consent .talkto-gdpr-marketing-placeholder {
	text-align: left !important;
	padding-left: 0 !important;
}

.talkto-arrangementer-dato .pp-content-post .pp-post-image .pp-content-post-date {
	position: absolute;
    left: 0px;
	bottom: -10px;
    margin-top: 0px;
    border-radius: 0;
	height: auto !important;
	padding: 15px 10px;
}

.talkto-arrangementer-dato .pp-content-post .pp-post-image .pp-content-post-date .pp-post-month {
	margin-top: 5px !important;
	font-size: 0.8em !important;
	font-weight: 300 !important;
	letter-spacing: 1px !important;
}

.talkto-arrangementer-dato .pp-content-post .pp-post-image .pp-content-post-date .pp-post-day {
	font-family: "PT Serif", serif;
	font-size: 3em !important;
	font-weight: 300 !important;
	line-height: 1em !important;
}

.talkto-practical-information .opplevelse-logo {
	max-height: 100px;
	max-width: 200px;
}


.ui-datepicker.ui-widget {
	font-size: 0.8em;
	z-index: 1000;
}

.ui-datepicker-header {
	background: #f4d17c !important;
	border: 0;
}

.talkto-hvaskjer-date-on-image {
	position: relative;
}

.talkto-hvaskjer-date-on-image .talkto-dato {
	position: absolute;
	
	padding: 10px;
	background-color: #ceeaca;
	
	width: 120px;
	
	color: #000;
}

.talkto-hvaskjer-date-on-image .talkto-dato span {
	display: block;
	text-align: center;
	font-weight: 300;
}

.talkto-hvaskjer-date-on-image .talkto-dato .day {
	font-family: "PT Serif", serif;
	font-size: 60px;
	line-height: 60px;
	padding-bottom: 10px;
}

.talkto-hvaskjer-date-on-image .talkto-dato .month {
	font-size: 14px;
	line-height: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding-bottom: 5px;
}

.talkto-hvaskjer-filter {
	font-size: 0;
	padding: 20px;
	background-color: #f4d17c;
	margin: 0 0 40px;
}

.talkto-hvaskjer-filter .talkto-hvaskjer-filter-container {
	margin-left: -20px;
}

.talkto-hvaskjer-filter form > div {
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
	
	padding-left: 20px;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.talkto-hvaskjer-filter form > div .select {
	padding: 2px 5px;
}

.talkto-hvaskjer-filter form > div input {
	padding: 5px;
	background: #fff;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
}

.talkto-hvaskjer-filter form > div input:focus-visible,
.talkto-hvaskjer-filter form > div select:focus-visible {
	outline: 2px solid #000;
}

.talkto-hvaskjer-filter form > div.what {
	width: 30%;
}

.talkto-hvaskjer-filter form > div.what .select {
	width: 100%;
	background: #fff;
}

.talkto-hvaskjer-filter form > div.what .select select {
	width: 100%;
	padding: 0;
	border: 0;
}

.talkto-hvaskjer-filter form > div.period-from,
.talkto-hvaskjer-filter form > div.period-to {
	width: 20%;
}

.talkto-hvaskjer-filter form > div.search {
	width: 30%;
}

.talkto-hvaskjer .talkto-load-more {
	display: none;
}


.talkto-hvaskjer-post {
	overflow: hidden;
	margin: 0 0 40px;
}

.talkto-hvaskjer-post .talkto-hvaskjer-thumbnail {
	float: left;
	width: 200px;
}

.talkto-hvaskjer-post .talkto-hvaskjer-content {
	display: block;
	margin-left: 240px;
}

.talkto-hvaskjer-post .talkto-hvaskjer-content h2 {
	margin: 0 0 20px;
}

.talkto-hvaskjer-post .talkto-hvaskjer-meta ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.talkto-hvaskjer-post .talkto-hvaskjer-meta ul li {
	margin: 0;
	padding: 0 0 10px;
}

.talkto-hvaskjer-post .talkto-hvaskjer-meta ul li span.label {
	float: left;
	width: 80px;
}

.talkto-hvaskjer-post .talkto-hvaskjer-meta ul li span.info {
	display: block;
	margin-left: 100px;
}


/** maps **/
.talkto-map-infowindow-content {
	text-align: center;
}

.talkto-map-infowindow-content *:focus-visible {
	outline-offset: 2px;
	text-decoration: none;
}

.talkto-map-infowindow-content a {
	display: inline-block;
	
	margin-top: 10px;
	padding: 10px;
	
	font-size: 14px;
	line-height: 14px;
	
	border: 1px solid #272525;
	color: #333;
	
	-webkit-border-radius: 17px;
	-moz-border-radius: 17px;
	-o-border-radius: 17px;
	border-radius: 17px;
}

.talkto-map-infowindow-content a:focus,
.talkto-map-infowindow-content a:focus-visible,
.talkto-map-infowindow-content a:hover {
	text-decoration: none;
	background-color: #f4d17c;
}


@media (min-width: 769px) and (max-width: 1100px) {
	html {
		font-size: 16px;
	}
}

@media (min-width: 1101px) and (max-width: 1920px) {
	html {
		font-size: 18px;
	}
}



@media screen and (max-width: 768px) {
	html {
		font-size: 14px;
	}

	.talkto-openinghours-list ul li {
		padding: 10px;
	}
	
	.talkto-openinghours-list ul li span.name-and-address {
		width: 100%;
		padding-bottom: 15px;
	}
	
	.talkto-openinghours-list ul li.header span.open,
	.talkto-openinghours-list ul li.header span.hours,
	.talkto-openinghours-list ul li.header span.phone {
		display: none;
	}
	
	.talkto-openinghours-list ul li span.open {
		width: 25%;
		padding-left: 0 !important;
	}
	
	.talkto-openinghours-list ul li span.hours {
		width: 45%;
	}
	
	.talkto-openinghours-list ul li span.phone {
		width: 30%;
		font-size: 14px;
	}
	
	/** hva skjer **/
	.talkto-hvaskjer-date-on-image .talkto-dato {
		padding: 10px 5px;
		width: 100px;
	}

	.talkto-hvaskjer-date-on-image .talkto-dato .day {
		font-size: 40px;
		line-height: 40px;
	}

	.talkto-hvaskjer-date-on-image .talkto-dato .month {
		font-size: 10px;
		line-height: 10px;
	}
	
	.talkto-hvaskjer-filter form > div {
		margin-bottom: 20px;
	}

	.talkto-hvaskjer-filter form > div.what {
		width: 100%;
	}

	.talkto-hvaskjer-filter form > div.period-from,
	.talkto-hvaskjer-filter form > div.period-to {
		width: 50%;
	}

	.talkto-hvaskjer-filter form > div.search {
		width: 100%;
	}
	
	.talkto-hvaskjer-post .talkto-hvaskjer-thumbnail {
		float: none;
		display: block;
		width: 100%;
	}

	.talkto-hvaskjer-post .talkto-hvaskjer-thumbnail img {
		max-height: 300px;
		width: 100%;
		object-fit: cover;
	}

	.talkto-hvaskjer-post .talkto-hvaskjer-content {
		margin-left: 0;
	}
	
	.talkto-opplevelser-grid .talkto-opplevelser-map-content {
		padding-top: 100%;
	}
	
    .fremhevet-bilde .fl-photo-caption {
        padding-left: 20px;
    }
    
    .fremhevet-bilde .fl-col-content {
        padding-bottom: 0 !important;
    }
    
    .fremhevet-bilde .fl-col-content .fl-module-content {
        height: auto !important;
    }
    
    .fremhevet-bilde img {
        max-height: 400px;
    }
}

@media screen and (max-width: 480px) {
	.talkto-openinghours-list ul li span.open,
	.talkto-openinghours-list ul li span.hours,
	.talkto-openinghours-list ul li span.phone {
		width: 100%;
		padding: 5px 0;
	}
}