/* responsive sizing - start */
html { /* xs size */
    font-size: 0.75rem;
}

body {
    padding-top: 45px; /* since navbar is fixed-top. styling for xs only */
}

.headings {
    margin-bottom: 20px; /* styling for xs only */
}

fieldset.block {
    margin-bottom: 20px; /* styling for xs only */
}

@media (min-width: 576px) { /* sm size */
    html {
        font-size: 0.8rem;
    }

    body {
        padding-top: 60px; /* since navbar is fixed-top. styling for all except xs */
    }

    .headings {
        margin-bottom: 40px; /* styling for all except xs */
    }

    fieldset.block {
        margin-bottom: 40px; /* styling for all except xs */
    }

    .attached .modal-dialog.modal-lg {
        max-width: 90%;
    }
}

@media (min-width: 768px) { /* md size */
    html {
        font-size: 0.9rem;
    }
}

@media (min-width: 992px) { /* lg size */
    html {
        font-size: 0.9rem;
    }
}

@media (min-width: 1200px) { /* xl size */
    html {
        font-size: 0.9rem;
    }
}

/* custom breakpoint added */
@media (min-width: 1367px) {
    html {
        font-size: 0.9rem;
    }

    .attached.modal-lg {
        max-width: 1400px;
    }
}
/* responsive sizing - end */

body {
    font-family: 'Noto Sans', sans-serif;
    overflow-y: scroll; /* always display a vertical scroll on the page to avoid adjustments */
}

*:lang(ar), *:lang(ur) {
    font-family: 'Noto Naskh Arabic', serif;
    direction: rtl;
}

h1#project_heading {
    margin-bottom: 0px;
    font-weight: bold;
}

h2#application_heading {
    margin: 0px;
    text-shadow: 2px 2px 2px black;
    font-weight: bold;
}

/* fix as .dropdown-menu-right is not working in navbar https://getbootstrap.com/docs/4.0/components/dropdowns/#menu-alignment */
/* will align menu to right for the last dropdown item in the navbar */
.navbar .dropdown:last-of-type .dropdown-menu {
    right: 0; 
    left: auto; 
}

.text-success {
    color: #337500 !important;
}

/* apply the same styles of .alert-danger to custom .alert-error */
.alert-error {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-error hr {
  border-top-color: #f1b0b7;
}

.alert-error .alert-link {
  color: #491217;
}

#alert_message_container {
    text-align: center;
    position: relative;
    margin: auto;
}

#alert_message {
    position: fixed;
    width: 100%;
    z-index: 1;
    box-shadow: 0px 0px 4px black;
}

#txt_currency {
    width: 72px;
}

/* especially when typeahead is applied to CURRENCY field in an input-group with AMOUNT etc */
.input-group span.twitter-typeahead {
    width: auto;
    margin-right: 5px;
}

.input-group .twitter-typeahead input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    max-width: 100% !important;
}

/* because typeahead applies transparent colour to all fields including disabled */
.form-control:disabled {
    background-color: #e9ecef !important;
}

/* add light grey background to all form-control elements for better visuals */
.form-control {
    background-color: #f9f9f9;
}

::placeholder {
    font-style: italic;
}

.text-decoration-underline {
    text-decoration: underline !important;
  }

.headings h2, .headings h3 {
    margin-top: 0px;
    margin-bottom: 0px;
    font-weight: bold;
}

.headings h3 {
    color: #777;
}

legend {
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.table-bordered thead th {
    border-bottom: none;
}

/* add some style to default btn button which is nothing. this will be applied for all buttons */
.btn {
    border-color: #545b62;
}

/* add some style to default btn button which is nothing */
.btn:not(.btn-primary):not(.btn-secondary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-light):not(.btn-dark):not(.btn-link) {
    background-color: #f0f0f0;
}

.btn-primary {
    border-color: black;
}

.btn-primary:hover {
    border-color: black;
}

.btn-primary:focus, .btn-primary.focus {
    border-color: black;
}

.btn-primary.disabled, .btn-primary:disabled {
    border-color: black;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    border-color: black;
}

/* Colour text of an anchor with ONLY .btn class which by default is blue */
a.btn:not(.btn-primary):not(.btn-secondary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-light):not(.btn-dark):not(.btn-link) {
    color: rgb(76, 76, 76);
}

/* All headings in modal header will be bold */
.modal .modal-title {
    font-weight: bold;
}

/* these styles prevent the scrollbar problem when modal is opened */
.modal-open {
    overflow-y: scroll;
    padding-right: 0 !important;
}

.modal-open nav.navbar {
    padding-right: 1rem !important;
}

/* datetimepicker related style - starts */
.datepicker .datepicker-days th,
.datepicker .datepicker-days td {
    border-top: none;
}
/* datetimepicker related style - end */

.person_card {
    border: 1px solid #757605;
    border-radius: 4px;
    padding: 5px;
    background-color: white;
    box-shadow: 0px 0px 8px #757605;
    position: absolute;
    display: none;
    z-index: 1;
}

/*** calendar style - start ***/
table.calendars td.calendars-cell {
	vertical-align: top;
	padding: 20px;
}
    
table.calendar {
	border-collapse: separate;
	border-spacing: 0px;
	border-radius: 8px;
        
    display: inline-block; /* these two will make sure elements respect the line when wrapping */
    vertical-align: top;
    
    margin-right: 20px;
    margin-bottom: 20px;
}
    
table.calendar td {
	padding: 0px;
	-moz-user-select: -moz-none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	/*
	  Introduced in IE 10.
	  See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/
	*/
	-ms-user-select: none;
	user-select: none;
}
    
table.calendar td div {
	padding: 5px;
	margin: 0px;
	text-align: center;
	border: 1px solid transparent;
}
    
table.mishkat-calendar {
    border: 1px solid #bf9926;
}
    
table.olives-calendar {
    border: 1px solid #999a00;
}

table.islah-calendar {
    border: 1px solid #01586d;
}
    
table.mishkat-calendar thead tr:first-child div {
    background-color: #bf9926;
    background-image: -moz-linear-gradient(top, #bf9926, #ffffff);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bf9926), to(#ffffff));
    background-image: -webkit-linear-gradient(top, #bf9926, #ffffff);
    background-image: -o-linear-gradient(top, #bf9926, #ffffff);
    background-image: linear-gradient(to bottom, #bf9926, #ffffff);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbf9926', endColorstr='#ffffffff', GradientType=0);
}
    
table.olives-calendar thead tr:first-child div {
    background-color: #999a00;
    background-image: -moz-linear-gradient(top, #999a00, #ffffff);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#999a00), to(#ffffff));
    background-image: -webkit-linear-gradient(top, #999a00, #ffffff);
    background-image: -o-linear-gradient(top, #999a00, #ffffff);
    background-image: linear-gradient(to bottom, #999a00, #ffffff);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff999a00', endColorstr='#ffffffff', GradientType=0);
}
    
table.islah-calendar thead tr:first-child div {
    background-color: #01586d;
    background-image: -moz-linear-gradient(top, #01586d, #ffffff);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#01586d), to(#ffffff));
    background-image: -webkit-linear-gradient(top, #01586d, #ffffff);
    background-image: -o-linear-gradient(top, #01586d, #ffffff);
    background-image: linear-gradient(to bottom, #01586d, #ffffff);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff01586d', endColorstr='#ffffffff', GradientType=0);
}

/* top border radius */
table.calendar thead tr:first-child th:first-child div {
    border-radius: 7px 7px 0px 0px;
    padding: 10px 5px;
}

table.calendar tbody tr:last-child td:first-child div {
    border-bottom-left-radius: 7px;
}

table.calendar tbody tr:last-child td:last-child div {
    border-bottom-right-radius: 7px;
}

table.calendar thead tr:first-child {
    font-size: 1.05em;
}

table.calendar thead tr:first-child th {
    padding: 0px;
}
    
table.calendar thead tr:first-child th div {
    padding: 10px 5px;
    text-align: center;
}
    
table.calendar thead td {
	font-weight: bold;
	padding: 5px;
	text-align: center;
}
    
table.calendar tbody td {
	width: 37px;
}
    
.disabled-cell {
	background-color: #EEE;
	cursor: default;
}
        
table.calendar tbody td div:not(.disabled-cell) {
	cursor: pointer;
}
    
table.calendar tbody td div[data-content]:not(.disabled-cell) {
	border: 1px solid red;
}

table.calendar tbody td div:not(.disabled-cell):hover {
	background-color: #9f9f9f;
    font-weight: bold;
}
    
table.calendar tbody td div:not(.disabled-cell):active {
	background-color: #3F3F3F;
	color: #EEE;
}
    
#calendar_legends span {
	box-shadow: 0px 0px 2px black;
	display: inline-block;
	padding: 3px 10px;
	margin-right: 10px;
	border-radius: 8px;
}
/*** calendar style - end ***/