/*
Theme Name:    Talk to Builder
Description:   Child Theme for Beaver Builder
Version:       1.0.0
Author:        Talk to
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
*/

header .pp-photo .pp-photo-content-inner {
	overflow: visible !important;
}

header .pp-photo a:focus-visible img {
	outline: 2px solid #000 !important;
	outline-offset: 5px !important;
	transition: none;
}

header ul.menu li a:hover {
	text-decoration: underline;
}

footer a {
	text-decoration: underline;
}

#fl-main-content p a,
#fl-main-content li a,
#fl-main-content td a {
	text-decoration: underline;
}

p a:focus-visible {
	outline-offset: 5px;
}

.pp-hamburger:focus-visible,
.fl-menu-mobile-toggle:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: -5px !important;
}

.fl-menu .menu > .menu-item.fl-has-submenu > .fl-has-submenu-container > a {
	margin-right: 20px !important;
	padding-right: 6px !important;
	margin-left: 8px !important;
	padding-left: 6px !important;
}

.fl-menu .menu > .menu-item.fl-has-submenu > .sub-menu > .menu-item.fl-has-submenu > .fl-has-submenu-container > a {
	margin-right: 20px !important;
	padding-right: 6px !important;
	margin-left: 0px !important;
	padding-left: 14px !important;
}

.fl-menu .menu-item .fl-menu-toggle:focus-visible,
.fl-menu .menu-item a:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: 0 !important;
}

.fl-module-pp-smart-button a {
	outline: 2px solid transparent !important;
}

.fl-module-pp-smart-button a:focus-visible {
	outline: 2px solid #000 !important;
}

.page-id-861 .fl-post-content ul {
	margin: 20px 10px 20px !important;
}

.page-id-861 .fl-post-content p,
.page-id-861 .fl-post-content ul li {
	font-size: 14px;
	line-height: 20px;
}

.page-id-861 .fl-post-content ul li {
	margin-bottom: 10px;
}

.page-id-861 .fl-post-content h2 {
	margin: 30px 0 5px;
}

.page-id-861 .fl-post-content h3 {
	font-size: 16px;
	line-height: 22px;
	margin: 30px 0 5px;
}

/** front page **/
.talkto-front-buttons .fl-module-box:focus-visible {
	outline-offset: 4px;
}

.talkto-front-buttons .fl-module-box {
	transition: transform 0.4s ease-in-out;
}

.talkto-front-buttons .fl-module-box:hover {
   transform: translateY(-8px);
}


/** contact form **/

.talkto-gdpr-form.not-ready {
	height: 50px;
	background: rgba(255, 255, 255, 0.5);
	position: relative;
}


.tt-contact-form h2.information-heading {
	font-size: 18px;
	line-height: 22px;
	margin: 30px 0 0px;
	color: #000;
}

.tt-contact-form .wpcf7-list-item.first-direct::before {
	content: "Jeg vil komme i direkte kontakt med:";
	display: block;
	font-size: 14px;
	margin: 10px 0 5px;
}

.tt-contact-form .direct-info {
	font-size: 14px;
	margin: 10px 0 20px;
}

.tt-contact-form .direct-info a {
	color: #000;
	text-decoration: underline;
}

.tt-contact-form ::-webkit-input-placeholder { /* WebKit browsers */
    color: #777 !important;
    opacity: 1;
}
.tt-contact-form :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: #777 !important;
    opacity: 1;
}
.tt-contact-form ::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: #777 !important;
    opacity: 1;
}
.tt-contact-form :-ms-input-placeholder { /* Internet Explorer 10+ */
    color: #777 !important;
    opacity: 1;
}

.tt-contact-form input[type="radio"]:focus-visible + .wpcf7-list-item-label,
.tt-contact-form input[type="checkbox"]:focus-visible + .wpcf7-list-item-label {
	outline: 2px solid #000;
	outline-offset: 5px;
}

.tt-contact-form input[type="radio"] + .wpcf7-list-item-label::before {
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	-o-border-radius: 12px;
	border-radius: 12px;
	background: transparent !important;
}

.tt-contact-form input[type="radio"] + .wpcf7-list-item-label::after {
	content: '';
	left: -36px;
	top: 4px;
	width: 16px;
	height: 16px;
	background: #000;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
}

.tt-contact-form textarea,
.tt-contact-form input[type="email"],
.tt-contact-form input[type="text"] {
	padding: 12px;
}

.tt-contact-form textarea.wpcf7-not-valid,
.tt-contact-form input[type="email"].wpcf7-not-valid,
.tt-contact-form input[type="text"].wpcf7-not-valid {
	padding: 10px;
	border: 2px solid #a00;
}

.tt-contact-form .wpcf7-not-valid-tip {
	font-size: 16px;
	color: #a00;
}

.tt-contact-form .wpcf7-not-valid-tip::before {
	display: inline-block;
	content: '';
	width: 10px;
	height: 10px;
	background-color: #a00;
	margin-right: 5px;
	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}

.tt-contact-form .wpcf7-form-control.wpcf7-radio {
	display: block;
}

.tt-contact-form .wpcf7-form-control.wpcf7-radio.wpcf7-not-valid {
	border: 2px solid #a00;
	padding: 10px;
}

.tt-contact-form textarea:focus-visible,
.tt-contact-form input[type="email"]:focus-visible,
.tt-contact-form input[type="text"]:focus-visible {
	outline: 2px solid #000;
	outline-offset: 0px;
}

.wpcf7 form .wpcf7-response-output, .wpcf7 form .wpcf7-response-output {
	margin-top: 0;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #a00;
}

.tt-contact-form .tt-terms .wpcf7-not-valid-tip {
	margin-left: 40px;
}

.tt-contact-form .tt-send input[type="submit"]:focus-visible {
	outline: 2px solid #000;
	outline-offset: 5px;
}

.talkto-gdpr-form .wpcf7-response-output {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.talkto-gdpr-form input[type="submit"]:active,
.talkto-gdpr-form input[type="submit"]:hover,
.talkto-gdpr-form input[type="submit"]:focus-visible {
	top: 0;
	border: 0 !important;
	background-color: #28b3df !important;
}

.talkto-gdpr-form input[type="submit"] {
	-webkit-transition: background-color 0.2s;
	-moz-transition: background-color 0.2s;
	-o-transition: background-color 0.2s;
	transition: background-color 0.2s;
}


.tt-google-calendar-container .navigation {
	margin: 0 -5px;
}

.tt-google-calendar-container .navigation button {
	background-color: #95C93F;
	border: 0;
	font-size: 12px;
	font-weight: normal;
	line-height: 20px;
	text-transform: uppercase;
	
	padding: 10px 20px;
	margin: 0 5px;
	
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-o-border-radius: 15px;
	border-radius: 15px;
}

.tt-google-calendar-container .navigation button.previous-day::before,
.tt-google-calendar-container .navigation button.previous-week::before,
.tt-google-calendar-container .navigation button.next-day::after,
.tt-google-calendar-container .navigation button.next-week::after {
	font-size: 16px;
	line-height: 20px;
}

.tt-google-calendar-container .navigation button.previous-day::before,
.tt-google-calendar-container .navigation button.previous-week::before {
	content: "\00AB";
	padding-right: 6px;
}

.tt-google-calendar-container .navigation button.next-day::after,
.tt-google-calendar-container .navigation button.next-week::after {
	content: "\00BB";
	padding-left: 6px;
}

.tt-google-calendar-container .dates .days .day {
	background-color: #eee;
	border-left: 0;
	font-size: 12px;
	line-height: 20px;
	font-weight: bold;
	text-transform: uppercase;
}

.tt-google-calendar-container .dates .days .day.today {
	background-color: #95C93F;
	color: #fff;
}

.tt-google-calendar-container .month {
	font-weight: bold;
}

.tt-google-calendar-container .frame > div {
	border-top: 1px solid #eee;
}

.tt-google-calendar-container .frame > div > p {
	font-weight: bold;
}

.tt-google-calendar-container .events .day {
	border-left: 1px solid #eee;
}

.tt-google-calendar-container .events .day .event {
	border: 0; /*1px solid #fff;*/
	outline: 1px solid #fff;
	padding: 5px;
}

.tt-google-calendar-container .events .day .event.highlight {
	background-color: #262223;
}

.tt-google-calendar-container .events .day .event span.title {
	font-weight: bold;
}

.tt-google-calendar-container .events .day .event span.time {
	color: #aaa;
}

.tt-google-calendar-container .details-box {
	border: 0;
	padding: 0 0 15px;
	
	-webkit-box-shadow: #bbb 2px 2px 3px 0px;
	-moz-box-shadow: #bbb 2px 2px 3px 0px;
	-o-box-shadow: #bbb 2px 2px 3px 0px;
	box-shadow: #bbb 2px 2px 3px 0px;
}

.tt-google-calendar-container .details-box  span.title {
	background-color: #95C93F;
	color: #fff;
	padding: 15px 15px 5px;
	text-transform: uppercase;
}

.tt-google-calendar-container .details-box  span.time {
	padding: 5px 15px 5px;
}

.tt-google-calendar-container .details-box  span.descr {
	padding: 0 15px 0;
}

.ui-datepicker {
	z-index: 30 !important;
}

.ui-datepicker .ui-datepicker-header {
	background-color: #eeeeee;
	border: 0;
}

.ui-datepicker .ui-datepicker-calendar tbody td a {
	border: 0;
}

.ui-datepicker .ui-datepicker-calendar tbody tr:hover td a {
	background: #ddd;
}

.ui-datepicker .ui-datepicker-calendar tbody tr:hover .ui-state-highlight,
.ui-datepicker .ui-datepicker-calendar .ui-state-highlight {
	background-color: #95C93F;
	color: #fff;
}

.ui-datepicker .ui-datepicker-calendar tbody tr:hover .ui-state-active,
.ui-datepicker .ui-datepicker-calendar .ui-state-active {
	background-color: #262223;
	color: #fff;
}


.tt-driftsmeldinger {
	display: none;
}

.tt-driftsmeldinger.loaded {
	display: block;
	background-color: #F19C24;
	color: #000;
	text-align: center;
	font-size: 14px;
	line-height: 17px;
	padding: 12px 0 0;
	overflow: hidden;
}

.tt-driftsmeldinger div {
	margin: 0 auto;
}

.tt-driftsmeldinger div p {
	font-weight: bold;
}

.tt-driftsmeldinger div ul {
	list-style-type: none;
	padding: 0;
}

.tt-driftsmeldinger div ul li {
	padding: 0 0 10px;
	margin: 0;
}

.tt-driftsmeldinger div ul li span {
	display: block;
	height: auto;
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
}

.tt-driftsmeldinger div ul li span strong {
	text-transform: uppercase;
}

.tt-driftsmeldinger div ul li.collapsed span {
	position: relative;
	
	height: 17px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
	
	cursor: pointer;
	
	padding: 0 40px 0 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.tt-driftsmeldinger div ul li.collapsed span::after {
	position: absolute;
	right: 0px;
	content: 'Utvid';
	cursor: pointer;
	text-decoration: underline;
}

/** redirection popup **/

#talkto-redirect-popup {
}

#talkto-redirect-popup .blocker {
	position: fixed;
	z-index: 10001;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	
	background: #fff;
	background: rgba(255, 255, 255, 0.85);
}

#talkto-redirect-popup .popup {
	position: absolute;
	z-index: 10002;
	top: 100px;
	left: 50%;
	width: 500px;
	
	background: #fff;
	border: 2px solid #494748;
	
	padding: 40px 40px;
	
	text-align: center;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

#talkto-redirect-popup .popup img {
	width: 150px;
	display: inline-block;
	padding-bottom: 20px;
}

#talkto-redirect-popup .popup h2 {
	width: 100%;
	font-size: 14px;
	line-height: 20px;
	font-weight: bold;
	padding: 0;
	margin: 0;
}

#talkto-redirect-popup .popup p {
	width: 100%;
	font-size: 14px;
	line-height: 20px;
	padding: 20px 0 0;
}

#talkto-redirect-popup .popup p a.button {
	display: inline-block;
	
	margin-top: 20px;
	padding: 10px 20px;
	background: #95cb00;
	border: 0;
	
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
	
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

#talkto-redirect-popup .popup p a.button:hover {
	border: 0;
	background: #28b3df;
}


.har-tabell .fl-rich-text table {
	height: auto !important;
	width: 100% !important;
}

.har-tabell .fl-rich-text {
	padding: 0px;
}

.har-tabell table {
	background-color: #fff;
}

.har-tabell table td {
	padding: 5px;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
}

.har-tabell table thead tr td {
	background-color: #404040;
	color: #fff;
}

.har-tabell table tr td {
	padding: 10px;
}

.har-tabell table p {
	margin-bottom: 0;
}

@media screen and ( max-width: 1300px ) {
	.tt-driftsmeldinger div ul li {
		padding: 0 15%;
	}
}

@media screen and ( max-width: 992px ) {
	.fl-menu-horizontal.fl-toggle-arrows .fl-has-submenu-container a {
		padding-right: 14px !important;
	}

	.fl-menu .menu, .fl-menu .menu > li {
		text-align: center;
	}

	.menu li.fl-has-submenu ul.sub-menu {
		padding-left: 0 !important;
	}
	
	.talkto-front-buttons .fl-module-box:focus-visible {
		outline-color: #fff;
		outline-offset: -2px;
	}

	.talkto-front-buttons .fl-module-box:hover {
		transform: none;
	}

}

@media screen and ( max-width: 768px ) {
	.tt-google-calendar-container .navigation {
		height: 70px;
	}
	
	.tt-google-calendar-container .navigation button {
		padding: 8px 8px;
		font-size: 12px;
		line-height: 16px;
	}
	
	.tt-google-calendar-container .navigation button::before,
	.tt-google-calendar-container .navigation button::after {
		line-height: 14px !important;
		font-size: 14px !important;
	}
	
	.ui-datepicker .ui-datepicker-calendar tbody tr:hover td a {
		background-color: #f6f6f6;
	}
	
	.ui-datepicker .ui-datepicker-calendar tbody tr:hover td a:hover {
		background-color: #eee;
	}

	.tt-driftsmeldinger div {
		padding-top: 15px;
	}
	
	.tt-driftsmeldinger div ul li {
		padding: 0 10px 5px;
	}
	
	#talkto-redirect-popup .popup img {
		width: 120px;
		padding-bottom: 10px;
	}

	#talkto-redirect-popup .popup p a.button {
		margin-top: 0;
	}

	.har-tabell .fl-module-content {
		position: relative;
	}

	.har-tabell .fl-module-content > div {
		overflow: scroll;
		overflow-x: scroll;
		overflow-y: visible;
	}
	
	.har-tabell .fl-module-content::after {
		content: '';
		background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
		position: absolute;
		
		right: 0px;
		top: 0px;
		height: 100%;
		width: 40px;
		
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}

	.har-tabell .fl-module-content.scrolled::after {
		width: 0;
	}

	.har-tabell .fl-module-content > div table {
		height: auto !important;
		width: 100% !important;
		min-width: 600px;
	}

	.har-tabell.tabell-auto .fl-module-content > div table { min-width: auto; }
	.har-tabell.tabell-minst-300 .fl-module-content > div table { min-width: 0; }

	.har-tabell.tabell-auto .fl-module-content > div,
	.har-tabell.tabell-minst-300 .fl-module-content > div {
		overflow: visible;
		overflow-x: visible;
	}
	
	.har-tabell.tabell-minst-300 .fl-module-content::after {
		display: none;
	}
}

@media screen and ( max-width: 380px ) {
	.har-tabell.tabell-minst-300 .fl-module-content > div table { min-width: 320px; }
	.har-tabell.tabell-minst-300 .fl-module-content > div,
	.har-tabell.tabell-auto .fl-module-content > div {
		overflow: scroll;
		overflow-x: scroll;
		overflow-y: hidden;
	}
	.har-tabell.tabell-minst-300 .fl-module-content::after {
		display: block;
	}
}

@media screen and ( max-width: 480px ) {
	/** redirection popup **/
	#talkto-redirect-popup .popup {
		width: 300px;
		top: 50px;
		padding: 20px;
	}

}