/*!
Theme Name: alumni-portal
Author: CIM
Version: 1.0.0
Text Domain: alumni-portal
*/

@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=Roboto:wght@400&display=swap');

:root {
	--secondary-color: #FF8200;
	--white: #fff;
	--footer-bg: #2D3138;
	--footer-light-bg: #2A2E35;
	--btn-bg: #2F2F2F;
	--text-color: #121212;
	--section-bg-color: #f5f5f5;
	--border-color: #eaeaeb;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
audio,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
mark,
menu,
meter,
nav,
output,
progress,
section,
summary,
time,
video {
	border: 0;
	outline: 0;
	/* vertical-align: baseline; */
	vertical-align: middle;
	background: transparent;
	margin: 0;
	padding: 0;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
blockquote {
	display: block;
}

nav ul {
	list-style: none;
}

ol {
	list-style: decimal;
}

ul {
	list-style: disc;
}

ul ul {
	list-style: circle;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

ins {
	text-decoration: underline;
}

del {
	text-decoration: line-through;
}

mark {
	background: none;
}

abbr[title],
dfn[title],
acronym[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--border-color);
	background: #fff;
}
table th,
table td {
	padding: 10px 15px;
	border-bottom: 1px solid var(--border-color);
	border-right: 1px solid var(--border-color);
	text-align: left;
	word-break: normal;
	overflow-wrap: break-word;
}
table th {
	font-weight: 500;
	background: var(--section-bg-color);
	color: var(--text-color);
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input[type=submit],
input[type=button],
button {
	margin: 0;
	padding: 0;
}

input,
select,
a img {
	vertical-align: middle;
}

img {
	max-width: 100%;
	height: auto;
}

b,
strong {
	font-weight: bold;
}

i,
em {
	font-style: italic;
}

html {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	min-height: 100%;
	overflow-x: hidden;
}

*,
*:before,
*:after {
	box-sizing: inherit;
	-moz-box-sizing: inherit;
	-webkit-box-sizing: inherit;
}

/* generic class */
body {
	-webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-wrap: break-word;
	word-break: break-word;
	font-family: "Source Sans 3", sans-serif;
	min-height: 100%;
	margin: 0;
	padding: 0;
}

p {
	margin-bottom: 1px;
}

ul,
ol {
	margin-left: 35px;
	margin-bottom: 20px;
}

dl {
	margin-bottom: 20px;
}

dl dt {
	font-weight: 700;
	margin-top: 10px;
}

dl dt:first-child {
	margin-top: 0px;
}

dl dd {
	margin-left: 20px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.2;
	margin-bottom: 15px;
}

figure {
	max-width: 100%;
}

pre {
	overflow: auto;
	padding: 10px 10px;
	background: #f3f3f3;
	margin-bottom: 20px;
}

a {
	color: var(--secondary-color);
	text-decoration: none;
}

.clear {
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
	zoom: 1;
}

.clearfix {
	zoom: 1;
}

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.mb-2 {
	margin-bottom: 20px;
}

.mb-3 {
	margin-bottom: 30px;
}

/* Theme css */
.container {
	max-width: 1420px;
	width: 100%;
	margin: 0 auto;
	padding: 0 50px;
}

button:not(.select2-selection__choice__remove, .wp-switch-editor, .add_media, .media-modal-close, .button),
.btn-primary {
	height: 50px;
	white-space: nowrap;
	line-height: 50px;
	padding: 0 30px;
	text-transform: capitalize;
	font-family: "Roboto", sans-serif;
	color: #000;
	letter-spacing: normal;
	font-weight: normal;
	font-size: 18px;
	border-radius: 3px;
	background-color: var(--secondary-color);
	outline: none;
	border: none;
	cursor: pointer;
}

.btn-primary.gray-btn {
	/* padding: 8px 14px; */
	padding: 14px;
	background: #f5f5f5;
	border-radius: 5px;
	text-decoration: none;
	color: #333;
	font-weight: 500;
	height: auto;
	line-height: normal;
}

button:disabled {
	opacity: 0.6;
	cursor: default;
}

.site-text-link {
	font-weight: 600 !important;
	white-space: nowrap;
}

.site-text-link i {
	transition: all 0.5s;
	transform: translateX(0);
	display: inline-block;
	vertical-align: middle;
	margin-top: -2px;
}

.site-text-link:hover i {
	transform: translateX(3px);
}

/* Header menu css start */
.site-header {
	background: #fff;
	border-bottom: 1px solid #eee;
}

.site-header.sticky-header {
	position: fixed;
  top: 0;
  width: 100%;
  left: 0;
  z-index: 99;
}
.logged-in.admin-bar .site-header.sticky-header {
  top: 32px;
}
.site-header.sticky-header .custom-logo-link img {
  height: 50px;
}
.site-header .header-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 0;
	position: relative;
}

.site-header .site-branding {
	max-width: 215px;
	transition: all 0.5s;
}

.site-header .site-branding img {
	transition: all 0.5s;
	width: auto;
}

/* Navigation */

.primary-menu {
	list-style: none;
	display: flex;
	gap: 30px;
	margin: 0;
	padding: 0;
	line-height: 1.7;
}

.primary-menu>li {
	position: relative;
}

.primary-menu>li>a {
	text-decoration: none;
	color: #000;
	font-weight: 500;
	display: inline-block;
	font-size: 18px;
	margin-bottom: -34px;
	padding-bottom: 34px;
	transition: background 300ms, color 300ms, border-color 300ms, padding 200ms;
	-moz-transition: background 300ms, color 300ms, border-color 300ms, padding 200ms;
	-o-transition: background 300ms, color 300ms, border-color 300ms, padding 200ms;
	-webkit-transition: background 300ms, color 300ms, border-color 300ms, padding 200ms;
	position: relative;
}

/* Orange underline on hover */
.primary-menu>li>a::before {
	position: absolute;
	border-bottom: 4px solid var(--secondary-color);
	width: 0%;
	opacity: 0;
	visibility: hidden;
	top: calc(100% - 4px);
	left: 0;
	content: "";
	margin: 0 !important;
	transition: width 0.5s;
	z-index: 99;
}

.primary-menu>li>a:hover::before {
	width: 100%;
	opacity: 1;
	visibility: visible;
}

/* Dropdown */
.primary-menu>li.menu-item-has-children>a::after {
	display: inline-block;
	margin-left: 7px;
	content: "\f107";
	font-family: fontAwesome;
	font-size: 14px;
	vertical-align: middle;
}

.primary-menu .sub-menu {
	position: absolute;
	top: calc(100% + 34px);
	left: 0;
	background: #fff;
	min-width: 220px;
	padding: 10px 0;
	display: none;
	z-index: 99;
	font-size: 16px;
	box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
	list-style: none;
	margin-left: 0;
}

.primary-menu .menu-item-has-children a:hover~.sub-menu {
	display: block;
}

.sub-menu li {
	padding: 1px 11px;
}

.sub-menu li a {
	padding: 6px 12px;
	display: block;
	text-decoration: none;
	color: inherit;
}

.sub-menu li a:hover {
	color: var(--secondary-color) !important;
	background-color: rgba(245, 130, 31, 0.05) !important;
}

/* Header menu css end */

.cim-page-banner {
	background: url("./images/bg3.webp") center/cover no-repeat;
	padding: 60px 0;
	margin-bottom: 20px;
	position: relative;
}

.cim-page-banner::before {
	content: "";
	position: absolute;
	inset: 0;
}

.cim-page-banner .container {
	position: relative;
	z-index: 1;
}

.cim-page-banner h1 {
	color: #fff;
	font-size: 43px;
	font-weight: 700;
	margin: 0;
}

.page-content {
	padding: 60px 0;
}

/* Form styling start */
.cim-form-wrapper {
	max-width: 960px;
	padding: 30px 25px;
	margin: 0 auto;
	background-color: var(--section-bg-color);
}

.cim-form-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 30px;
}

.cim-form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.field-label {
	margin: 10px 0;
}

.update-details-form-wrapper .field-group > label {
	display: block;
	margin-bottom: 5px;
	/* color: #555; */
}

.field-group input[type="text"],
.field-group input[type="email"],
.field-group input[type="password"],
.field-group input[type="tel"],
.field-group input[type="number"],
.field-group input[type="date"],
.field-group input[type="url"],
.field-group input[type="search"],
.field-group input[type="file"],
.field-group select,
.cim-form-wrapper textarea {
	background: var(--white);
	border: none;
	padding: 16px 18px;
	font-size: 16px;
	width: 100%;
	outline: none;
	color: #4e4e4e;
	font-family: "Source Sans 3", sans-serif;
}

.field-group input[readonly] {
  background-color: #e9e9e9; /* Example: change background color */
  cursor: text;             /* Example: keep the text cursor */
  /* Add any other desired styles */
}

.radio-group input[type="radio"],
.checkbox-group input[type="checkbox"] {
	width: auto;
	padding: 0;
	margin-right: 6px;
	margin-top: 0;
}

.radio-group input[type="radio"] {
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: var(--secondary-color);
	width: 20px;
	height: 20px;
	border: 2px solid var(--secondary-color);
	border-radius: 50%;
	display: grid;
	place-content: center;
}

input[type="radio"]:checked::before {
	transform: scale(1);
}

input[type="radio"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	transform: scale(0);
	transition: 250ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--secondary-color);
	background-color: var(--secondary-color);
}

.radio-group label {
	display: grid;
	grid-template-columns: 1em auto;
	gap: 0.5em;
	align-items: center;
}

.radio-group label+label {
	margin-top: 10px;
}

.cim-form-wrapper .form-label {
	margin-top: 20px;
	font-size: 18px;
}

.cim-form-wrapper .textarea-field {
	margin-top: 20px;
}

.cim-form-wrapper textarea {
	min-height: 160px;
	resize: vertical;
}

.field-group input::placeholder,
.cim-form-wrapper textarea::placeholder {
	color: #666;
}

.cim-form-wrapper .field-error {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: red;
	/* WordPress red */
}

.cim-form-wrapper .field-note {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: var(--text-color);
	font-weight: 600;
	margin-bottom: 1px;
}

.cim-form-wrapper .profile-picture-preview {
	margin: 10px 0;
}

.cim-form-wrapper .profile-picture-preview img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 50%;
}

.cim-form-wrapper .form-btn-wrapper {
	display: flex;
	align-items: center;
}

.cim-form-wrapper form.submitting .form-spinner {
	visibility: visible;
}

.cim-form-wrapper .form-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d;
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

.cim-form-wrapper .form-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc;
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

.cim-form-wrapper .cim-form-response:not(:empty) {
	margin: 1em 0;
	border: 2px solid #00a0d2;
	padding: 8px 15px !important;
	font-size: 14px !important;
	line-height: 1.2;
}

.cim-form-wrapper form.init .cim-form-response,
.cim-form-wrapper form.submitting .cim-form-response {
	display: none;
}

.cim-form-wrapper form.success .cim-form-response {
	border-color: #46b450;
	color: #46b450;
}

.cim-form-wrapper form.error .cim-form-response:not(:empty) {
	border-color: red !important;
	color: red !important;
}

.cim-recaptcha {
	margin: 30px 0;
}


.cim-form-wrapper .form-alt-link {
	margin-top: 15px;
	font-size: 14px;
	text-align: left;
}

.cim-form-wrapper .form-alt-link span {
	color: #555;
}

.cim-form-wrapper .form-alt-link a {
	margin-left: 5px;
	text-decoration: none;
}

.cim-form-wrapper .form-alt-link a:hover,
.cim-form-wrapper .form-alt-link a:focus {
	text-decoration: underline;
}

.mce-toolbar .mce-btn button {
	background: none;
	height: auto;
}
/* Form styling end */

/** Pagination css start */
.cim-pagination {
	text-align: center;
	margin-top: 40px;
}

.cim-pagination-inner a {
	display: inline-block;
	padding: 10px 16px;
	margin: 0 5px;
	border-radius: 4px;
	background: #f4f4f4;
	text-decoration: none;
	color: #333;
	font-weight: 500;
}

.cim-pagination-inner a:hover,
.cim-pagination-inner a.active {
	background: var(--secondary-color);
	color: #fff;
}

/* Pagination css end */

/* Footer css start*/
.site-footer {
	background: var(--footer-bg);
	color: #fff;
	font-size: 16px;
}
.footer-wrapper {
	padding: 70px 0;
}

.footer-top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/* gap: 40px; */
}

.footer-col {
	/* flex: 1; */
	max-width: calc(20% - 25px);
	flex: 0 0 calc(20% - 25px);
	padding: 0;
}

.footer-col.footer-campuses {
	max-width: calc(60% - 25px);
	flex: 0 0 calc(60% - 25px);
}

.footer-col h3.widget-title {
	color: var(--white) #fff;
	border-bottom: 1px solid #474B52;
	font-size: 18px;
	padding-bottom: 17px;
	margin-bottom: 20px;
	font-weight: 700;
}

.footer-col ul {
	list-style: none;
	padding: 0;
	margin-left: 0;
}

.footer-col:first-child ul {
	margin: 20px 0 30px;
}

.footer-col ul li {
	margin-bottom: 8px;
}

.footer-col a {
	color: var(--white);
	text-decoration: none;
}

.footer-col a:hover {
	color: var(--secondary-color);
}

.footer-col h3 {
	margin-bottom: 20px;
}

.footer-social a {
	margin-right: 10px;
	display: inline-block;
}
.footer-campuses .footer-contact-wrapper {
	gap: 20px;
	margin-bottom: 20px;
	color: #ababab;
}
.footer-campuses .footer-contact-item {
	background: #2A2E35;
	padding: 15px;
	flex: 0 0 calc(33.33% - 14px) !important;
}
.footer-campuses .footer-contact-wrapper .footer-contact-item p {
	font-size: 16px;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 10px;
}
.footer-contact-wrapper .contact-details-list {
	margin: 0;
}
.footer-contact-wrapper .contact-details-list .contact-item.contact-address {
	color: #AAACAD;
}
.footer-contact-wrapper .contact-details-list .contact-item {
	font-size: 14px !important;
	list-style: none;
	display: flex;
	margin-bottom: 11px;
}
.footer-contact-wrapper .contact-details-list .contact-item i {
	margin-right: 7px;
	font-size: 17px;
	min-width: 18px;
	text-align: center;
	position: relative;
	top: 5px;
}
.footer-contact-wrapper .contact-details-list .contact-item.contact-phone {
	color: var(--secondary-color) !important;
	font-family: "Source Sans 3", sans-serif;
	font-weight: 700;
}
.footer-contact-wrapper .contact-details-list .contact-item.contact-phone a {
	color: var(--secondary-color) !important;
}
.footer-contact-wrapper .contact-details-list .contact-item:last-child {
	margin-bottom: 0;
}

.footer-ack {
	display: flex;
	gap: 20px;
	padding: 0 50px;
}
.footer-ack .widget:first-child {
	flex: 0 0 270px;
}
.footer-ack .widget:last-child {
	flex: 1;
}
.footer-ack .flag-images img {
	height: 90px;
	width: auto;
	object-fit: contain;
	box-shadow: none;
}
.footer-ack .footer-title-h3 {
	font-size: 22px;
	margin-bottom: 0;
}

.footer-copyright-wrapper {
	font-size: 14px;
	background: var(--footer-light-bg);
	padding: 30px 0;
}

.footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.footer-copyright-wrapper ul.custom-footer-menu {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
}
.footer-copyright-wrapper .custom-footer-menu a {
	color: var(--white);
	font-size: 15px;
	line-break: 1.7;
}
.footer-copyright-wrapper .custom-footer-menu a:hover {
	color: var(--secondary-color);
}
.footer-copyright-wrapper .custom-footer-menu li+li {
	margin-left: 10px;
}
/* Footer css end */

#wpadminbar .display-name {
	vertical-align: baseline;
}

@media (max-width:1199px) {
	.container {
		padding: 0 25px;
	}
	.footer-wrapper {
		padding: 50px 0;
	}
	.footer-col {
		max-width: calc(50% - 25px);
		flex: 0 0 calc(50% - 25px);
	}
	.footer-col.footer-campuses {
		max-width: 100%;
		flex: 0 0 100%;
	}
	.footer-col h3.widget-title {
		font-size: 16px;
	}
	.footer-col ul li {
		font-size: 14px;
	}
	.footer-col ul li.wp-social-link {
		font-size: 19px;
	}
	.footer-col ul li.wp-social-link svg {
		width: 100%;
		height: 100%;
	}
	.footer-ack {
		margin-top: 30px;
	}
	.footer-ack p {
		font-size: 14px;
	}
}

@media (max-width: 991px) {
	.footer-copyright-wrapper .footer-copy {
		max-width: 100%;
		flex: 0 0 100%;
		padding-right: 0;
		text-align: center;
		margin-bottom: 10px;
		margin-right: 0;
	}
	.footer-copyright-wrapper .footer-legal {
		padding: 0;
		max-width: 100%;
		text-align: center;
		flex: 0 0 100%;
	}
	.footer-copyright-wrapper .footer-legal ul {
		flex-wrap: wrap;
		justify-content: center;
	}
}
@media (max-width:767px) {
	.footer-wrapper {
		padding: 40px 0;
	}
	.footer-ack {
		flex-direction: column;
	}
	.footer-ack .widget:first-child {
		flex: auto;
	}
	.footer-ack .flag-images img {
		height: 60px;
	}
}
@media(max-width:667px) {
	.footer-col {
		max-width: 100%;
		flex: 0 0 100%;
		margin-bottom: 30px;
	}
}
