:root {
	--gutter: 1.25rem;
}

#page,
#footer {
	overflow-x: clip;
}

#content h1,
#content h2,
#content h3,
#content h4,
.contact_link,
.help_bt {
	overflow-wrap: anywhere;
}

.video-wrapper video {
	width: 100%;
	height: 100%;
}

.main_content iframe,
.main_content embed,
.main_content object {
	max-width: 100%;
}

.main_content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 1299px) {
	#page .container,
	#footer .container {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}

	#page section,
	#breadcrumbs,
	#blog,
	#ajax-posts,
	#blog_content,
	#footer {
		padding-left: 0;
		padding-right: 0;
	}

	#page section#services {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#page div#services.container {
		padding-left: var(--gutter) !important;
		padding-right: var(--gutter) !important;
	}

	#main_top {
		padding: 0 2em;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	#masthead .user_tap .full_bt {
		white-space: nowrap;
		padding: 0.7em 1.1em;
		margin: 0 0 0 0.5em;
	}
}

@media (max-width: 991px) {
	#masthead {
		position: relative;
		padding: 1rem 0;
	}

	#content_page,
	.single-platforms #content_page {
		padding-top: 2rem;
	}

	#masthead .row {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		row-gap: 0.875rem;
		margin-left: 0;
		margin-right: 0;
	}

	#masthead .row > [class*="col-"] {
		padding-left: 0;
		padding-right: 0;
		max-width: none;
	}

	#masthead .brand {
		flex: 0 0 auto;
		width: auto;
		padding-left: 0;
		order: 1;
	}

	#masthead .user_tap.desktop {
		display: flex !important;
		flex: 1 1 auto;
		width: auto;
		justify-content: flex-end;
		align-items: center;
		gap: 0.5rem;
		order: 2;
	}

	#masthead .user_tap .full_bt {
		display: inline-block;
		margin: 0;
		padding: 0.6em 1.2em;
		white-space: nowrap;
	}

	#masthead .mega-menu-wrapper {
		flex: 0 0 100%;
		width: 100%;
		order: 3;
	}

	.cpts-form__input,
	.cpts-form__select,
	.cpts-form__submit {
		min-height: 44px;
	}

	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="search"],
	input[type="tel"],
	input[type="url"],
	input[type="number"],
	select,
	textarea {
		font-size: 16px !important;
	}

	#content h1 {
		font-size: 2em;
		line-height: 1.25;
	}

	.white_tab h3 {
		font-size: 1.35em;
	}

	#request .section_title {
		font-size: 1.875em;
	}

	.left_side h2 {
		font-size: 1.75em;
	}

	#main_top {
		padding: 0;
		margin-top: 1.5em;
	}

	#login {
		flex-direction: column;
		gap: 2.5em;
	}

	#login_help .login_bg {
		width: 100%;
	}

	.login_help_box {
		margin-bottom: 2em;
	}

	.login_help_innerbox .help_bt {
		margin: 0.25em 0.25em 0.25em 0;
	}

	#register,
	.cpr-wrapper {
		width: 80%;
	}

	.role-switch {
		flex-wrap: wrap;
	}

	.post-type-archive #main_tabs .white_tab {
		flex: 0 0 calc((100% - 1em) / 2);
	}

	.post-type-archive #main_tabs .white_tab,
	.post-type-archive-customer .white_tab {
		height: auto;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}

	.post-type-archive #main_tabs .white_tab .link_bt,
	.post-type-archive-customer .white_tab .link_bt {
		position: static;
		width: auto;
		margin-top: auto;
	}

	.post-type-archive #main_tabs .white_tab .desc {
		margin-bottom: 1.25em;
	}

	.item {
		flex: 0 0 calc((100% - 1em) / 2);
		min-height: 0;
	}

	#tabs .white_tab_other {
		height: auto;
	}

	.video_item {
		flex: 0 0 100%;
	}

	#tabs .download_bt,
	#tabs .preview_bt {
		position: relative;
		bottom: auto;
		width: auto;
		flex: 1 1 140px;
		margin-top: 0.5em;
	}

	.post {
		display: block;
	}

	.toc {
		max-width: 100%;
		margin-bottom: 1.5em;
	}

	.toc_sticky {
		position: static;
	}

	#toc_box {
		padding: 1em 0 0;
	}

	#ajax-categories,
	#blog_search {
		flex: 0 0 100%;
		max-width: 100%;
	}

	#blog_search {
		margin-top: 0.5em;
	}

	.category_bt {
		margin-right: 0.5em;
		margin-bottom: 0.75em;
	}

	.news_title {
		width: 100%;
	}

	.one_third {
		width: 100%;
	}

	#graph {
		padding: 4em var(--gutter) 0;
	}

	.watch_bt {
		margin-top: 1em;
	}

	.pdf-content {
		max-width: 90%;
		margin: 5em auto 3em;
	}

	.pdf-close {
		top: 16px;
		right: 16px;
	}

	.pdf-loader {
		left: 0;
		right: 0;
	}

	#foot_brand .row {
		align-items: center;
	}

	#foot_brand .social a {
		display: flex;
	}

	#foot_brand .brand {
		padding-top: 0;
		flex: 0 0 auto;
		max-width: none;
		width: auto;
	}

	#foot_brand .social {
		flex: 1 1 0;
		width: auto;
		max-width: none;
	}

	#footer #main_menu > [class*="col-"] {
		flex: 0 0 100%;
		max-width: 100%;
	}

	#footer .departments_col {
		border-right: 0;
		border-bottom: dashed 1.5px rgba(255, 255, 255, 0.12);
		padding-bottom: 1.5em;
		margin-bottom: 1.5em;
	}

	#footer .contact_row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2em;
		margin: 1em 0 0;
	}

	#footer .contact_row .contact_col {
		margin: 0;
		padding: 0;
		max-width: none;
	}

	#footer .first_col {
		margin-left: 0;
	}

	#addit_menu .container {
		flex-wrap: wrap;
	}

	#addit_menu ul {
		flex-wrap: wrap;
		gap: 0.75em 2em;
		margin: 0;
	}

	#footer .certyficates.mobile {
		display: flex !important;
		justify-content: center;
		align-items: center;
		gap: 2em;
		padding: 0 var(--gutter) 1.5em;
	}

	#footer .certyficates.mobile img {
		margin: 0;
		max-width: 40%;
	}
}


@media (max-width: 767px) {
	.post-type-archive #main_tabs .white_tab,
	.item {
		flex: 0 0 100%;
	}

	#main_tabs.flex,
	#home_tabs {
		gap: 1em;
	}

	#featured_news > [class*="col-"] {
		flex: 0 0 100%;
		max-width: 100%;
	}

	#featured_news .thumb_box {
		margin-bottom: 0.5em;
	}

	#main_content {
		flex-direction: column;
	}

	#left_sidebar {
		width: 100%;
	}

	.tab_box {
		flex-direction: column;
	}

	#register,
	.cpr-wrapper {
		width: 100%;
		margin: 2em auto;
	}

	.sec-progress-steps {
		padding: 0 1.2em;
	}

	.sec-progress-desc {
		padding: 0;
	}

	#secForm {
		margin-top: 4.5em;
	}

	.step_buttons {
		flex-wrap: wrap;
	}

	.step_buttons button {
		flex: 1 1 140px;
	}

	.white_tab,
	.item {
		padding: 1.125em;
	}

	.term-faq #tabs {
		padding: 1em;
	}

	.sec-popup-box {
		width: calc(100% - 2rem);
		padding: 32px 20px 24px;
	}

	.cpts-results {
		padding: 1.5rem 0 2.5rem !important;
	}

	.cpts-results__nav {
		gap: 0.5rem;
	}

	.cpts-section {
		scroll-margin-top: 1rem;
	}

	h2[id] {
		scroll-margin-top: 1rem;
	}
}

@media (max-width: 575px) {
	:root {
		--gutter: 1rem;
	}

	#content h1 {
		font-size: 1.6em;
	}

	.white_tab h3 {
		font-size: 1.2em;
	}

	#categories.flex {
		gap: 0.5em;
	}

	.cat_bt {
		padding: 0.6em 0.85em;
		font-size: 0.875em;
	}

	.video_item > .flex:first-child {
		flex-direction: column;
		gap: 0;
	}

	#videos .thumbnail img {
		width: 100%;
	}

	.thumbnail {
		margin-bottom: 1em;
	}

	.login_help_box {
		padding: 1em;
	}

	.login_help_innerbox .help_bt {
		display: block;
		margin: 0.5em 0 0;
	}

	.login-options {
		flex-wrap: wrap;
		gap: 0.5em;
	}

	.register_link {
		flex-wrap: wrap;
	}

	.step_desc {
		font-size: 0.7em;
	}

	#footer .contact_row {
		grid-template-columns: 1fr;
		gap: 1.5em;
	}

	#footer .nav_col {
		flex: 0 0 100%;
		max-width: 100%;
	}

	#addit_menu ul {
		flex-direction: column;
		gap: 0.75em;
	}

	.pdf-content {
		max-width: calc(100% - 1.5rem);
		margin-top: 4.5em;
	}
}

@media (max-width: 420px) {
	#logo {
		width: 120px;
	}

	#masthead .user_tap.desktop {
		flex: 0 0 100%;
		order: 3;
	}

	#masthead .mega-menu-wrapper {
		order: 4;
	}

	#masthead .user_tap .full_bt {
		flex: 1 1 0;
		text-align: center;
		padding: 0.7em 0.5em;
	}
}
